84 lines
5.5 KiB
Bash
84 lines
5.5 KiB
Bash
#!/bin/bash
|
|
case "`grep DISTRIB_CODENAME /etc/*-release | awk -F '=' '{print $2}'`" in
|
|
focal)
|
|
if [ "$(whoami)" != "root" ]
|
|
then
|
|
echo "You should Login as root to use this script!";
|
|
echo "May you already have access for sudo, but commands aren't designed with sudo! so..";
|
|
echo "sudo -i";
|
|
exit 1
|
|
fi
|
|
|
|
if [ -d "/nginx/" ]; then
|
|
echo "We've detect a folder '/nginx/' which means"
|
|
echo "Maybe you have use this script before!"
|
|
echo "You wipe old installation by executing!"
|
|
echo "./install clean (**THIS WILL DELETE ALL YOUR OLD NGINX CONFIGS MAKE SURE YOU BACKUP BEFORE USING**)"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -d "/etc/nginx" ]; then
|
|
echo "We've detect a folder '/etc/nginx' which means"
|
|
echo "Maybe you have use this script before!"
|
|
echo "./install clean (**THIS WILL DELETE ALL YOUR OLD NGINX CONFIGS MAKE SURE YOU BACKUP BEFORE USING**)"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -d "/opt/nginx/" ]; then
|
|
echo "DETECTED '/opt/nginx/'"
|
|
echo "Maybe script has already been used you need to start clean!"
|
|
echo "./install clean (**THIS WILL DELETE ALL YOUR OLD NGINX CONFIGS MAKE SURE YOU BACKUP BEFORE USING**)"
|
|
exit 1
|
|
fi
|
|
|
|
apt-get update -y; apt-get upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y
|
|
apt-get install libtool pkg-config -y
|
|
apt-get install libyajl-dev ssdeep zlib1g-dev libxslt1-dev libgd-dev libgeoip-dev liblmdb-dev libfuzzy-dev libmaxminddb-dev liblua5.2-dev libcurl4-openssl-dev libxml2 libxml2-dev libpcre3-dev -y
|
|
|
|
mkdir -p /opt/mod/
|
|
#Luajit 2.1
|
|
cd /opt/mod && wget https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20220310.tar.gz
|
|
cd /opt/mod && tar xf v2.1-20220310.tar.gz; rm -Rf v2.1-20220310.tar.gz
|
|
cd /opt/mod/luajit2-2.1-20220310/ && make install PREFIX=/usr/local/LuaJIT && ldconfig
|
|
rm -Rf /opt/mod/luajit2-2.1-20220310/
|
|
|
|
# ModSecurity
|
|
cd /opt/mod && git clone https://github.com/SpiderLabs/ModSecurity
|
|
cd /opt/mod/ModSecurity/ && git checkout -b v3/master origin/v3/master
|
|
cd /opt/mod/ModSecurity && sh build.sh
|
|
cd /opt/mod/ModSecurity && git submodule init && git submodule update
|
|
cd /opt/mod/ModSecurity && ./configure && make -j`nproc` && make install
|
|
|
|
# Nginx
|
|
cd /opt/ && wget https://nginx.org/download/nginx-1.21.6.tar.gz && tar xf nginx-1.21.6.tar.gz && rm -Rf nginx-1.21.6.tar.gz
|
|
cd /opt/nginx-1.21.6 && curl -s https://raw.githubusercontent.com/theraw/The-World-Is-Yours/focal-patch/static/builder > builder; bash builder
|
|
cd /opt/nginx-1.21.6 && make -j`nproc`
|
|
cd /opt/nginx-1.21.6 && make install
|
|
curl -s https://raw.githubusercontent.com/theraw/The-World-Is-Yours/focal-patch/static/nginx.service.Focal > /lib/systemd/system/nginx.service
|
|
killall nginx
|
|
useradd nginx
|
|
systemctl daemon-reload
|
|
systemctl restart nginx
|
|
systemctl enable nginx
|
|
|
|
# Download Dynamic Modules
|
|
mkdir -p /nginx/modules
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ndk_http_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_brotli_filter_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_brotli_static_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_flv_live_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_geoip2_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_headers_more_filter_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_js_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_lua_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_modsecurity_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_naxsi_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_set_misc_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_http_testcookie_access_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_pagespeed.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_stream_geoip2_module.so
|
|
cd /nginx/modules && wget https://github.com/theraw/The-World-Is-Yours/raw/focal-patch/static/mod/ngx_stream_js_module.so
|
|
|
|
;;
|
|
esac
|