@@ -7,8 +7,8 @@ Another reason can be missing packages from your repository. if so please for Ub
|
|||||||
|
|
||||||
# To-Do
|
# To-Do
|
||||||
|
|
||||||
- [x] Support Ubuntu Trusty.
|
- [x] Support Ubuntu Trusty. (14.04)
|
||||||
- [ ] Support Ubuntu Xenial+.
|
- [x] Support Ubuntu Xenial. (16.04)
|
||||||
- [ ] Support Debian.
|
- [ ] Support Debian.
|
||||||
- [ ] Support Centos.
|
- [ ] Support Centos.
|
||||||
- [x] Support Arch Linux.
|
- [x] Support Arch Linux.
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
`
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=A high performance web server and a reverse proxy server
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/run/nginx.pid
|
||||||
|
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
|
||||||
|
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
|
||||||
|
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
|
||||||
|
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
|
||||||
|
TimeoutStopSec=5
|
||||||
|
KillMode=mixed
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
@@ -87,11 +87,6 @@ case "`grep DISTRIB_CODENAME /etc/*-release | awk -F '=' '{print $2}'`" in
|
|||||||
./configure
|
./configure
|
||||||
make -j`nproc`
|
make -j`nproc`
|
||||||
make install
|
make install
|
||||||
|
|
||||||
#cd /opt/nginx/modules/
|
|
||||||
#git clone https://github.com/ildus/nginx_redis.git
|
|
||||||
#cd nginx_redis/
|
|
||||||
#mv ngx_devel_kit-0.2.19/ /opt/nginx/modules/
|
|
||||||
|
|
||||||
cd /opt/nginx/modules/
|
cd /opt/nginx/modules/
|
||||||
wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1rc1.zip
|
wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1rc1.zip
|
||||||
@@ -100,14 +95,13 @@ case "`grep DISTRIB_CODENAME /etc/*-release | awk -F '=' '{print $2}'`" in
|
|||||||
|
|
||||||
#Pagespeed Library
|
#Pagespeed Library
|
||||||
cd /opt/nginx/modules/
|
cd /opt/nginx/modules/
|
||||||
wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.13.35.1-beta.zip
|
wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.zip
|
||||||
unzip v1.13.35.1-beta.zip
|
unzip v1.13.35.2-stable.zip
|
||||||
rm -Rf v1.13.35.1-beta.zip
|
rm -Rf v1.13.35.2-stable.zip
|
||||||
|
mv /opt/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable /opt/nginx/modules/ngx_pagespeed-1.13.35.2-stable
|
||||||
mv /opt/nginx/modules/incubator-pagespeed-ngx-1.13.35.1-beta /opt/nginx/modules/ngx_pagespeed-1.13.35.1-beta
|
cd /opt/nginx/modules/ngx_pagespeed-1.13.35.2-stable
|
||||||
cd /opt/nginx/modules/ngx_pagespeed-1.13.35.1-beta
|
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz
|
||||||
wget https://dl.google.com/dl/page-speed/psol/1.13.35.1-x64.tar.gz
|
tar -xzvf 1.13.35.2-x64.tar.gz; rm -Rf 1.13.35.2-x64.tar.gz
|
||||||
tar -xzvf 1.13.35.1-x64.tar.gz; rm -Rf 1.13.35.1-x64.tar.gz
|
|
||||||
|
|
||||||
#LuaJIT Library
|
#LuaJIT Library
|
||||||
cd /opt/nginx/modules/
|
cd /opt/nginx/modules/
|
||||||
@@ -150,10 +144,8 @@ case "`grep DISTRIB_CODENAME /etc/*-release | awk -F '=' '{print $2}'`" in
|
|||||||
make install
|
make install
|
||||||
ldconfig
|
ldconfig
|
||||||
|
|
||||||
mkdir -p /nginx
|
|
||||||
mkdir -p /nginx/live
|
mkdir -p /nginx/live
|
||||||
mkdir -p /nginx/logs
|
mkdir -p /nginx/logs
|
||||||
mkdir -p /nginx/cache
|
|
||||||
mkdir -p /nginx/conf.d
|
mkdir -p /nginx/conf.d
|
||||||
touch /nginx/logs/access.log
|
touch /nginx/logs/access.log
|
||||||
touch /nginx/logs/error.log
|
touch /nginx/logs/error.log
|
||||||
@@ -173,7 +165,6 @@ case "`grep DISTRIB_CODENAME /etc/*-release | awk -F '=' '{print $2}'`" in
|
|||||||
mkdir -p /nginx/modsecurity/
|
mkdir -p /nginx/modsecurity/
|
||||||
cd /hostdata/default/public_html/
|
cd /hostdata/default/public_html/
|
||||||
wget https://raw.githubusercontent.com/theraw/The-World-Is-Yours/master/static/html/index.html
|
wget https://raw.githubusercontent.com/theraw/The-World-Is-Yours/master/static/html/index.html
|
||||||
useradd nginx
|
|
||||||
sudo update-rc.d nginx defaults
|
sudo update-rc.d nginx defaults
|
||||||
|
|
||||||
cd /nginx/; mkdir db/; cd db/; wget https://github.com/theraw/The-World-Is-Yours/raw/master/static/GeoLite2-Country.mmdb
|
cd /nginx/; mkdir db/; cd db/; wget https://github.com/theraw/The-World-Is-Yours/raw/master/static/GeoLite2-Country.mmdb
|
||||||
@@ -204,6 +195,187 @@ case "`grep DISTRIB_CODENAME /etc/*-release | awk -F '=' '{print $2}'`" in
|
|||||||
service nginx start
|
service nginx start
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
xenial)
|
||||||
|
|
||||||
|
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 can fix this by executing!"
|
||||||
|
echo "./setup clean"
|
||||||
|
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 "./setup clean"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "/opt/nginx/" ]; then
|
||||||
|
echo "We've detect a folder '/opt/nginx/' which means"
|
||||||
|
echo "Maybe you have use this script before!"
|
||||||
|
echo "./setup clean"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
apt update
|
||||||
|
apt upgrade -y
|
||||||
|
apt dist-upgrade -y
|
||||||
|
apt install build-essential apt-utils libssl-dev curl nano wget zip unzip git htop iftop whois screen -y
|
||||||
|
apt purge --remove nginx -y
|
||||||
|
apt purge --remove apache2 -y
|
||||||
|
apt autoremove -y
|
||||||
|
|
||||||
|
cd ~/;
|
||||||
|
wget https://raw.githubusercontent.com/systemroot/my-nginx/master/nginx-as-firewall/setup
|
||||||
|
chmod +x setup
|
||||||
|
./setup clean
|
||||||
|
rm -Rf ~/setup
|
||||||
|
|
||||||
|
apt install -y checkinstall libpcre3 libpcre3-dev zlib1g zlib1g-dbg libxml2 zlib1g-dev
|
||||||
|
apt install -y libicu-dev libcurl4-gnutls-dev libtool
|
||||||
|
apt install -y libmozjs-24-dev
|
||||||
|
apt install -y libmozjs-24-bin; sudo ln -sf /usr/bin/js24 /usr/bin/js
|
||||||
|
apt install openssl libssl-dev libperl-dev libexpat-dev -y
|
||||||
|
apt install mercurial meld -y
|
||||||
|
apt install libxslt-dev -y
|
||||||
|
apt install libgd2-xpm -y
|
||||||
|
apt install libgd2-xpm-dev -y
|
||||||
|
apt install libgeoip-dev -y
|
||||||
|
apt install dh-autoreconf -y
|
||||||
|
apt install -y software-properties-common
|
||||||
|
apt install -y python-software-properties
|
||||||
|
apt install -y libcairo2 libcairo2-dev
|
||||||
|
apt install -y python-dev
|
||||||
|
sudo add-apt-repository ppa:maxmind/ppa -y
|
||||||
|
apt update; apt upgrade -y; apt dist-upgrade -y
|
||||||
|
apt install aptitude -y
|
||||||
|
aptitude update -y
|
||||||
|
aptitude upgrade -y
|
||||||
|
aptitude install libmaxminddb0 libmaxminddb-dev mmdb-bin -y
|
||||||
|
apt install libmysqlclient-dev -y
|
||||||
|
apt install libmariadbclient-dev -y
|
||||||
|
apt install g++ flex bison curl doxygen libyajl-dev libgeoip-dev libtool dh-autoreconf libcurl4-gnutls-dev libxml2 libpcre++-dev libxml2-dev -y
|
||||||
|
apt install libuuid1 uuid-dev -y
|
||||||
|
|
||||||
|
mkdir -p /hostdata/
|
||||||
|
mkdir -p /var/log/nginx/
|
||||||
|
mkdir -p /opt/nginx/modules/
|
||||||
|
|
||||||
|
cd /opt/
|
||||||
|
git clone https://github.com/SpiderLabs/ModSecurity
|
||||||
|
cd /opt/ModSecurity/
|
||||||
|
git checkout -b v3/master origin/v3/master
|
||||||
|
sh build.sh
|
||||||
|
git submodule init
|
||||||
|
git submodule update
|
||||||
|
./configure
|
||||||
|
make -j`nproc`
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd /opt/nginx/modules/
|
||||||
|
wget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1rc1.zip
|
||||||
|
unzip v0.3.1rc1.zip; rm -Rf v0.3.1rc1.zip
|
||||||
|
mv /opt/nginx/modules/ngx_devel_kit-0.3.1rc1/ /opt/nginx/modules/ngx_devel_kit/
|
||||||
|
|
||||||
|
cd /opt/nginx/modules/
|
||||||
|
wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.zip
|
||||||
|
unzip v1.13.35.2-stable.zip
|
||||||
|
rm -Rf v1.13.35.2-stable.zip
|
||||||
|
mv /opt/nginx/modules/incubator-pagespeed-ngx-1.13.35.2-stable /opt/nginx/modules/ngx_pagespeed-1.13.35.2-stable
|
||||||
|
cd /opt/nginx/modules/ngx_pagespeed-1.13.35.2-stable
|
||||||
|
wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz
|
||||||
|
tar -xzvf 1.13.35.2-x64.tar.gz; rm -Rf 1.13.35.2-x64.tar.gz
|
||||||
|
|
||||||
|
#LuaJIT Library
|
||||||
|
cd /opt/nginx/modules/
|
||||||
|
git clone http://luajit.org/git/luajit-2.0.git
|
||||||
|
cd luajit-2.0/
|
||||||
|
make -j`nproc`
|
||||||
|
sudo make install
|
||||||
|
ldconfig
|
||||||
|
|
||||||
|
cd /opt/nginx/modules/
|
||||||
|
wget https://github.com/nbs-system/naxsi/archive/master.zip
|
||||||
|
unzip master.zip; rm -Rf master.zip
|
||||||
|
mv /opt/nginx/modules/naxsi-master /opt/nginx/modules/naxsi
|
||||||
|
|
||||||
|
mkdir -p /opt/nginx/modules/
|
||||||
|
cd /opt/nginx/modules/
|
||||||
|
rm -Rf nginx_redis/
|
||||||
|
git clone https://github.com/openresty/set-misc-nginx-module.git
|
||||||
|
git clone https://github.com/FRiCKLE/ngx_cache_purge.git
|
||||||
|
git clone https://github.com/kyprizel/testcookie-nginx-module.git
|
||||||
|
git clone https://github.com/openresty/headers-more-nginx-module.git
|
||||||
|
git clone https://github.com/openresty/echo-nginx-module.git
|
||||||
|
git clone https://github.com/leev/ngx_http_geoip2_module.git
|
||||||
|
git clone https://github.com/openresty/lua-nginx-module.git
|
||||||
|
git clone https://github.com/SpiderLabs/ModSecurity-nginx.git
|
||||||
|
git clone https://github.com/openresty/encrypted-session-nginx-module.git
|
||||||
|
git clone https://github.com/flant/nginx-http-rdns.git
|
||||||
|
|
||||||
|
# Download Nginx
|
||||||
|
mkdir -p /opt/nginx/sources/
|
||||||
|
cd /opt/nginx/sources/
|
||||||
|
wget 'http://nginx.org/download/nginx-1.14.0.tar.gz'
|
||||||
|
tar -xzvf nginx-1.14.0.tar.gz; rm -Rf nginx-1.14.0.tar.gz
|
||||||
|
cd /opt/nginx/sources/nginx-1.14.0/
|
||||||
|
wget https://raw.githubusercontent.com/theraw/The-World-Is-Yours/master/static/nbuild.sh
|
||||||
|
chmod +x nbuild.sh
|
||||||
|
./nbuild.sh
|
||||||
|
make -j`nproc`
|
||||||
|
make install
|
||||||
|
ldconfig
|
||||||
|
|
||||||
|
mkdir -p /nginx/live
|
||||||
|
mkdir -p /nginx/logs
|
||||||
|
mkdir -p /nginx/conf.d
|
||||||
|
touch /nginx/logs/access.log
|
||||||
|
touch /nginx/logs/error.log
|
||||||
|
useradd -r nginx
|
||||||
|
rm -Rf /etc/init.d/nginx
|
||||||
|
cd /etc/init.d/; wget https://raw.githubusercontent.com/systemroot/my-nginx/master/nginx-as-firewall/static/nginx
|
||||||
|
chmod +x /etc/init.d/nginx
|
||||||
|
cd /nginx/; mkdir conf.d; rm -Rf nginx.conf*; wget https://raw.githubusercontent.com/theraw/The-World-Is-Yours/master/static/nginx.conf
|
||||||
|
cd /nginx/live/
|
||||||
|
wget https://raw.githubusercontent.com/theraw/The-World-Is-Yours/master/static/vhost/default
|
||||||
|
|
||||||
|
mkdir -p /hostdata/default
|
||||||
|
mkdir -p /hostdata/default/public_html
|
||||||
|
mkdir -p /hostdata/default/logs
|
||||||
|
mkdir -p /hostdata/default/cache
|
||||||
|
mkdir -p /nginx/modsecurity/
|
||||||
|
cd /hostdata/default/public_html/
|
||||||
|
wget https://raw.githubusercontent.com/theraw/The-World-Is-Yours/master/static/html/index.html
|
||||||
|
sudo update-rc.d nginx defaults
|
||||||
|
|
||||||
|
cd /nginx/; mkdir db/; cd db/; wget https://github.com/theraw/The-World-Is-Yours/raw/master/static/GeoLite2-Country.mmdb
|
||||||
|
cd /nginx/; rm -Rf *.default
|
||||||
|
cp /opt/nginx/modules/naxsi/naxsi_config/naxsi_core.rules /nginx/naxsi_core.rules
|
||||||
|
cp /opt/ModSecurity/modsecurity.conf-recommended /nginx/modsecurity/modsecurity.conf
|
||||||
|
|
||||||
|
cd /opt/; git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
|
||||||
|
cp -a /opt/owasp-modsecurity-crs/rules/ /nginx/modsecurity/
|
||||||
|
cp -a /opt/owasp-modsecurity-crs/crs-setup.conf.example /nginx/modsecurity/crs-setup.conf
|
||||||
|
clear
|
||||||
|
cd /etc/systemd/system/; wget https://raw.githubusercontent.com/theraw/The-World-Is-Yours/theraw-patch-1/UBUNTU16/nginx.service
|
||||||
|
sudo systemctl start nginx.service && sudo systemctl enable nginx.service
|
||||||
|
killall nginx
|
||||||
|
systemctl daemon-reload
|
||||||
|
service nginx stop
|
||||||
|
service nginx start
|
||||||
|
|
||||||
|
;;
|
||||||
|
|
||||||
centos)
|
centos)
|
||||||
yum -y update; yum -y upgrade
|
yum -y update; yum -y upgrade
|
||||||
yum install epel-release wget curl git zip unzip -y
|
yum install epel-release wget curl git zip unzip -y
|
||||||
|
|||||||
+1
-2
@@ -36,7 +36,7 @@
|
|||||||
--with-stream_geoip_module \
|
--with-stream_geoip_module \
|
||||||
--with-ld-opt="-Wl,-rpath,/usr/local/lib/" \
|
--with-ld-opt="-Wl,-rpath,/usr/local/lib/" \
|
||||||
--add-module=/opt/nginx/modules/ngx_devel_kit \
|
--add-module=/opt/nginx/modules/ngx_devel_kit \
|
||||||
--add-module=/opt/nginx/modules/ngx_pagespeed-1.13.35.1-beta \
|
--add-module=/opt/nginx/modules/ngx_pagespeed-1.13.35.2-stable \
|
||||||
--add-module=/opt/nginx/modules/testcookie-nginx-module \
|
--add-module=/opt/nginx/modules/testcookie-nginx-module \
|
||||||
--add-module=/opt/nginx/modules/set-misc-nginx-module \
|
--add-module=/opt/nginx/modules/set-misc-nginx-module \
|
||||||
--add-module=/opt/nginx/modules/headers-more-nginx-module \
|
--add-module=/opt/nginx/modules/headers-more-nginx-module \
|
||||||
@@ -44,7 +44,6 @@
|
|||||||
--add-module=/opt/nginx/modules/ngx_cache_purge \
|
--add-module=/opt/nginx/modules/ngx_cache_purge \
|
||||||
--add-module=/opt/nginx/modules/ngx_http_geoip2_module \
|
--add-module=/opt/nginx/modules/ngx_http_geoip2_module \
|
||||||
--add-module=/opt/nginx/modules/lua-nginx-module \
|
--add-module=/opt/nginx/modules/lua-nginx-module \
|
||||||
--add-module=/opt/nginx/modules/nginx-mtask-module \
|
|
||||||
--add-module=/opt/nginx/modules/ModSecurity-nginx \
|
--add-module=/opt/nginx/modules/ModSecurity-nginx \
|
||||||
--add-module=/opt/nginx/modules/encrypted-session-nginx-module \
|
--add-module=/opt/nginx/modules/encrypted-session-nginx-module \
|
||||||
--add-module=/opt/nginx/modules/naxsi/naxsi_src/ \
|
--add-module=/opt/nginx/modules/naxsi/naxsi_src/ \
|
||||||
|
|||||||
Reference in New Issue
Block a user