Skip to content

Instantly share code, notes, and snippets.

@il-katta
Last active August 29, 2015 14:06
Show Gist options
  • Save il-katta/0d7be16c71a3a2d8398a to your computer and use it in GitHub Desktop.
Save il-katta/0d7be16c71a3a2d8398a to your computer and use it in GitHub Desktop.
RDS_JSON_MOD_VERSION=0.13
DRIZZLE_MOD_VERSION=0.1.7
MODSECURITY_VERSION=2.8.0
SET_MISC_MOD_VERSION=0.26
NGX_DEVEL_KIT_VERSION=0.2.19
FORM_INPUT_VERSION=0.10
NAXSI_VERSION=0.53-2
sudo apt-get -y install dpkg-dev
sudo apt-get build-dep nginx
apt-get source nginx
cd nginx*
cd debian/modules
# rds-json-nginx-module
# --add-module=$(MODULESDIR)/rds-json-nginx-module-$(RDS_JSON_MOD_VERSION)
wget https://github.com/openresty/rds-json-nginx-module/archive/v${RDS_JSON_MOD_VERSION}.tar.gz -O rds-json-nginx-module-${RDS_JSON_MOD_VERSION}.tar.gz
tar xfz rds-json-nginx-module-${RDS_JSON_MOD_VERSION}.tar.gz
rm rds-json-nginx-module-${RDS_JSON_MOD_VERSION}.tar.gz
# drizzle-nginx-module
# --add-module=$(MODULESDIR)/drizzle-nginx-module-$(DRIZZLE_MOD_VERSION)
## libdrizzle
# https://launchpad.net/drizzle
sudo apt-get install libcloog-ppl0
wget http://agentzh.org/misc/nginx/drizzle7-2011.07.21.tar.gz
tar xzvf drizzle7-2011.07.21.tar.gz
cd drizzle7-2011.07.21/
./configure --without-server --prefix=/opt/drizzle
make libdrizzle-1.0
sudo make install-libdrizzle-1.0
# alternative
sudo apt-get build-dep libdrizzle4
wget https://launchpad.net/drizzle/7.1/7.1.36/+download/drizzle-7.1.36-stable.tar.gz
tar xfz drizzle-7.1.36-stable.tar.gz
cd drizzle-7.1.36-stable
./configure --without-server --prefix=/opt/drizzle
make libdrizzle-1.0
sudo make install-libdrizzle-1.0
wget https://github.com/openresty/drizzle-nginx-module/archive/v${DRIZZLE_MOD_VERSION}.tar.gz -O drizzle-nginx-module-${DRIZZLE_MOD_VERSION}.tar.gz
tar xfz drizzle-nginx-module-${DRIZZLE_MOD_VERSION}.tar.gz
rm drizzle-nginx-module-${DRIZZLE_MOD_VERSION}.tar.gz
# set-misc-nginx-module
# --add-module=$(MODULESDIR)/set-misc-nginx-module-$(SET_MISC_MOD_VERSION)
wget https://github.com/openresty/set-misc-nginx-module/archive/v${SET_MISC_MOD_VERSION}.tar.gz -O set-misc-nginx-module-${SET_MISC_MOD_VERSION}.tar.gz
tar xfz set-misc-nginx-module-${SET_MISC_MOD_VERSION}.tar.gz
rm set-misc-nginx-module-${SET_MISC_MOD_VERSION}.tar.gz
# modsecurity
# --add-module=$(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/nginx/modsecurity
# deps: libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev apache2-prefork-dev libcurl3-dev
# https://www.atomicorp.com/wiki/index.php/Atomic_ModSecurity_Rules
wget https://www.modsecurity.org/tarball/${MODSECURITY_VERSION}/modsecurity-${MODSECURITY_VERSION}.tar.gz
tar xfz modsecurity-${MODSECURITY_VERSION}.tar.gz
rm modsecurity-${MODSECURITY_VERSION}.tar.gz
cd modsecurity-${MODSECURITY_VERSION}
./configure --enable-standalone-module --disable-apache2-module --prefix=/usr
make
rm -r iis
rm -r tests
cd ..
echo "debian/modules/modsecurity-${MODSECURITY_VERSION}/mlogc/mlogc" >> ../source/include-binaries
## ngx_devel_kit
## --add-module=$(MODULESDIR)/ngx_devel_kit-$(NGX_DEVEL_KIT_VERSION)
#wget https://github.com/simpl/ngx_devel_kit/archive/v${NGX_DEVEL_KIT_VERSION}.tar.gz -O ngx_devel_kit-${NGX_DEVEL_KIT_VERSION}.tar.gz
#tar xfz ngx_devel_kit-${NGX_DEVEL_KIT_VERSION}.tar.gz
#rm ngx_devel_kit-${NGX_DEVEL_KIT_VERSION}.tar.gz
# form-input-nginx-module
# --add-module=$(MODULESDIR)/form-input-nginx-module-$(FORM_INPUT_VERSION)
wget https://github.com/calio/form-input-nginx-module/archive/v${FORM_INPUT_VERSION}.tar.gz -O form-input-nginx-module-${FORM_INPUT_VERSION}.tar.gz
tar zfx form-input-nginx-module-${FORM_INPUT_VERSION}.tar.gz
rm form-input-nginx-module-${FORM_INPUT_VERSION}.tar.gz
# Naxsi ( https://github.com/nbs-system/naxsi )
# --add-module=$(MODULESDIR)/naxsi-$(NAXSI_VERSION)/naxsi_src
wget https://github.com/nbs-system/naxsi/archive/${NAXSI_VERSION}.tar.gz -O naxsi-${NAXSI_VERSION}.tar.gz
tar xfz naxsi-${NAXSI_VERSION}.tar.gz
rm naxsi-${NAXSI_VERSION}.tar.gz
# debian/rules
export LIBDRIZZLE_INC=/opt/drizzle/include/libdrizzle-1.0
export LIBDRIZZLE_LIB=/opt/drizzle/lib
override_dh_auto_install:
dh_auto_install
/usr/bin/install -d debian/nginx/usr/bin
/usr/bin/install -d debian/nginx/usr/lib
/usr/bin/install -m 644 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/unicode.mapping debian/nginx/etc/nginx/unicode.mapping
/usr/bin/install -m 644 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/modsecurity.conf-recommended debian/nginx/etc/nginx/modsecurity.conf
/usr/bin/install -m 755 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/tools/rules-updater.pl debian/nginx/usr/bin/rules-updater.pl
/usr/bin/install -m 644 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/standalone/.libs/standalone.so debian/nginx/usr/lib/standalone.so
/usr/bin/install -m 644 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/standalone/.libs/standalone.lai debian/nginx/usr/lib/standalone.la
/usr/bin/install -m 644 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/standalone/.libs/standalone.a debian/nginx/usr/lib/standalone.a
/usr/bin/install -m 755 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/mlogc/mlogc debian/nginx/usr/bin/mlogc
/usr/bin/install -m 755 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/mlogc/mlogc-batch-load.pl debian/nginx/usr/bin/mlogc-batch-load.pl
/usr/bin/install -m 644 $(MODULESDIR)/modsecurity-$(MODSECURITY_VERSION)/mlogc/mlogc-default.conf debian/nginx/etc/
/usr/bin/install -d debian/nginx/opt
/usr/bin/install -d debian/nginx/opt/modsecurity
/usr/bin/install -d debian/nginx/opt/modsecurity/var
/usr/bin/install -d -m 755 -o nginx -g nginx debian/nginx/opt/modsecurity/var/upload
/usr/bin/install -d -m 755 -o nginx -g nginx debian/nginx/opt/modsecurity/var/audit
/usr/bin/install -d -m 755 -o nginx -g nginx debian/nginx/opt/modsecurity/var/log
# naxsi
/usr/bin/install m 644 $(MODULESDIR)/naxsi-$(NAXSI_VERSION)/naxsi_config/naxsi_core.rules debian/nginx/etc/nginx/naxsi_core.rules
# lua-cjson
sudo apt-get install cmake liblua5.1-0-dev
git clone https://github.com/openresty/lua-cjson.git
cd lua-cjson
cmake .
make
## Additional :
# - https://github.com/phusion/passenger
# - https://github.com/openresty/lua-cjson
# - https://github.com/openresty/luajit2
# - from: https://github.com/openresty/ngx_openresty/blob/master/util/mirror-tarballs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment