Comments (8)
HI Sjir,
The libs
directory you see in the .tar.gz
file is a source directory. It contains the source code for some libraries that IronBee uses which are not always easily installed on a system. To get things like libhtp.so
you'll have to compile IronBee.
I recommend not putting the shared libraries into /etc/
. Perhaps experiment with the default location of /usr/local/ironbee
until it's building how you like it. /usr/local/ironbee/lib
will by default have the libraries you're asking nginx
to link with -L/usr/local/ironbee/lib -lhtp -libutil -lironbee
. The CPP opt will be -I/usr/local/ironbee/include
for the headers.
from ironbee.
Thank you for the answer @basking2 I think I understand what I do wrong then!
I thought Ironbee compiled into Nginx like most other wafs do (naxsi/modsecurity) thats why I temporarily did put it into /etc just for the compile.
But as I understand your explanation I first need to compile Ironbee on the system and then compile Nginx to use the compiled Ironbee correct?
So in terms of making rpms I would need to make 1 rpms for Ironbee and one for nginx if I would want to install it on multiple systems?
from ironbee.
I hacked at your scripts a little, mostly to make sure that Nginx 1.8.0. compiles, and I noticed a few things that might be helpful.
- --with-cc-opt is defined twice. The second assignment will override the first and you will not have
-I/usr/local/ironbee/include
passed to CC. - In my docker system if I did not put
/usr/local/ironbee/lib
into a file like/etc/ld.so.conf.d/ironbee.conf
(and runldconfig
) the libraries were not found during the configurations step of building nginx and nginx never attempted to build itself. - I had to define the environment variable
NGINXIB_CONFIG_FILE
to get the IronBee module recognized correctly. I set it toNGINXIB_CONFIG_FILE=/home/ib/ironbee/servers/nginx/config.nginx
(where/home/ib/ironbee
is the source code for IronBee) and then the specfile processed until it hit errors at installation.
When you've got things running how you like them we would value some feedback! Most of my attention is on TrafficServer so I don't do a lot of nginx work right now.
Good luck!
from ironbee.
@sbagmeijer, you've got it right. You need libhtp
, libibutil
, and libironbee
existing on your system first, and that requires a compile.
from ironbee.
@basking2 thank you so much! I let you know when I have things up and running and how it work.
from ironbee.
@basking2 i created a set of rpm that I would like to add into my repository I am not sure if you know much about making rpms but if you do could you have a look if everything looks fine maybe?
Or to build:
wget https://raw.githubusercontent.com/sbagmeijer/ulyaoth/master/Repository/ulyaoth-ironbee/build-ulyaoth-ironbee.sh ; chmod +x build-ulyaoth-ironbee.sh ; ./build-ulyaoth-ironbee.sh
(works only on rhel based os)
My idea is to add this rpm to my repository and then I will use this rpm to link the nginx version, I personally choose to not use /local/usr/, it is more a preference to just use the other locations it should not matter much I hope.
Any feedback would be nice before I release something that is not 100% correct :)
from ironbee.
I actually do not know RPMs very well. The directory tmpfiles.d looked strange, but the rest made sense to me. Maybe someone else on the list will have some insights?
from ironbee.
The tempfiles.d directory and the file is so on reboot it will create the /var/run/ironbee directory on server boot.
It seems the ironbee rpms work fine however I am stuck now on the nginx ones once again it errors with this:
src/core/nginx.c:1039:12: note: include '<string.h>' or provide a declaration of 'memcpy' cc1: all warnings being treated as errors objs/Makefile:426: recipe for target 'objs/src/core/nginx.o' failed make[1]: *** [objs/src/core/nginx.o] Error 1 make[1]: Leaving directory '/home/ulyaoth/rpmbuild/BUILD/nginx-1.8.0' Makefile:8: recipe for target 'build' failed make: *** [build] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.mY416Z (%build)
from ironbee.
Related Issues (20)
- ironbee dies if there is a body in response to HEAD request HOT 5
- File descriptor leak fix HOT 3
- Sync libinjection to latest HOT 4
- sync libinjection to 1.1.0 HOT 6
- Sync libinjection to 1.2.0 HOT 1
- make check error HOT 8
- make nginx error HOT 11
- make test error : ipset HOT 3
- include rex_pcre error HOT 9
- nginx reload causes complete failure of all requests HOT 14
- "unknown directive ironbee_loglevel" in nginx HOT 3
- Register Directive Error HOT 3
- nginx/1.7.0 and ironbee logging problem HOT 16
- ld command not picking boost libraries HOT 1
- centos 6.5 make errors out with error libironbee_la-core.lo HOT 12
- Ubuntu 14.04 error HOT 2
- Cannot find mod_ironbee.so
- Getting errors while executing the 'make' command
- Site dead? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ironbee.