119 lines
4.4 KiB
Bash
Executable File
119 lines
4.4 KiB
Bash
Executable File
lowercase(){
|
|
echo "$1" | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"
|
|
}
|
|
|
|
OS=`lowercase \`uname\``
|
|
KERNEL=`uname -r`
|
|
MACH=`uname -m`
|
|
|
|
if [ "{$OS}" == "windowsnt" ]; then
|
|
OS=windows
|
|
elif [ "{$OS}" == "darwin" ]; then
|
|
OS=mac
|
|
else
|
|
OS=`uname`
|
|
if [ "${OS}" = "SunOS" ] ; then
|
|
OS=Solaris
|
|
ARCH=`uname -p`
|
|
OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
|
|
elif [ "${OS}" = "AIX" ] ; then
|
|
OSSTR="${OS} `oslevel` (`oslevel -r`)"
|
|
elif [ "${OS}" = "Linux" ] ; then
|
|
if [ -f /etc/redhat-release ] ; then
|
|
DistroBasedOn='RedHat'
|
|
DIST=`cat /etc/redhat-release |sed s/\ release.*//`
|
|
PSUEDONAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
|
|
REV=`cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//`
|
|
elif [ -f /etc/SuSE-release ] ; then
|
|
DistroBasedOn='SuSe'
|
|
PSUEDONAME=`cat /etc/SuSE-release | tr "\n" ' '| sed s/VERSION.*//`
|
|
REV=`cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*=\ //`
|
|
elif [ -f /etc/mandrake-release ] ; then
|
|
DistroBasedOn='Mandrake'
|
|
PSUEDONAME=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
|
|
REV=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
|
|
elif [ -f /etc/debian_version ] ; then
|
|
DistroBasedOn='Debian'
|
|
DIST=`cat /etc/lsb-release | grep '^DISTRIB_ID' | awk -F= '{ print $2 }'`
|
|
PSUEDONAME=`cat /etc/lsb-release | grep '^DISTRIB_CODENAME' | awk -F= '{ print $2 }'`
|
|
REV=`cat /etc/lsb-release | grep '^DISTRIB_RELEASE' | awk -F= '{ print $2 }'`
|
|
fi
|
|
if [ -f /etc/UnitedLinux-release ] ; then
|
|
DIST="${DIST}[`cat /etc/UnitedLinux-release | tr "\n" ' ' | sed s/VERSION.*//`]"
|
|
fi
|
|
OS=`lowercase $OS`
|
|
DistroBasedOn=`lowercase $DistroBasedOn`
|
|
readonly OS
|
|
readonly DIST
|
|
readonly DistroBasedOn
|
|
readonly PSUEDONAME
|
|
readonly REV
|
|
readonly KERNEL
|
|
readonly MACH
|
|
fi
|
|
|
|
fi
|
|
|
|
if [ "{$DIST}" == "Fedora" ]; then
|
|
dnf install gcc gcc-c++ autoconf automake make perl -y
|
|
elif [ "{$DIST}" == "Ubuntu" ] || [ "${DistroBasedOn}" == "debian" ]; then
|
|
apt-get install gcc g++ autoconf automake make perl -y
|
|
elif [ "{$DIST}" == "CentOS" ]; then
|
|
yum install gcc gcc-c++ autoconf automake make perl -y
|
|
elif [ "${DistroBasedOn}" == "suse" ]; then
|
|
zypper install -y gcc gcc-c++ autoconf automake make perl
|
|
fi
|
|
|
|
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
|
|
tar -zxf pcre-8.40.tar.gz
|
|
cd pcre-8.40
|
|
./configure
|
|
make
|
|
make install
|
|
cd ..
|
|
cd zlib-1.2.11
|
|
./configure
|
|
make
|
|
make install
|
|
cd ..
|
|
cd openssl-1.0.2f
|
|
./Configure linux-x86_64 --prefix=/usr
|
|
make
|
|
make install
|
|
cd ..
|
|
cd ngx_pagespeed-latest-beta
|
|
wget https://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz
|
|
tar -xzvf 1.12.34.2-x64.tar.gz
|
|
cd ..
|
|
|
|
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=pcre-8.40 --with-zlib=zlib-1.2.11 --with-http_ssl_module --with-stream --with-mail=dynamic --with-ipv6 --with-http_v2_module --with-http_realip_module --with-http_dav_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_slice_module --with-http_stub_status_module --with-http_addition_module --add-module=naxsi-0.55.3 --add-module=ngx-fancyindex --add-dynamic-module=headers-more-nginx-module-0.32 --add-module=ngx_pagespeed-latest-beta
|
|
make
|
|
make install
|
|
|
|
rm -rf /usr/local/nginx/nginx.conf
|
|
cp nginx.conf /usr/local/nginx/
|
|
mkdir -p /usr/local/nginx/snippets
|
|
cp ssl-params.conf /usr/local/nginx/snippets/
|
|
cp ngensite /usr/local/bin
|
|
chmod +x /usr/local/bin/ngensite
|
|
|
|
mkdir -p /var/log/nginx/
|
|
|
|
wget https://dl.clocxhd.de/scripts/nginx/nginx.service
|
|
mv nginx.service /etc/systemd/system/
|
|
systemctl daemon-reload
|
|
systemctl enable nginx
|
|
|
|
git clone https://github.com/h5bp/server-configs-nginx.git /tmp/server-configs-nginx
|
|
mv /tmp/server-configs-nginx/h5bp /usr/local/nginx/
|
|
rm -rf /tmp/server-configs-nginx
|
|
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
|
|
cd /usr/local/nginx
|
|
mkdir sites-available
|
|
mkdir sites-enabled
|
|
|
|
echo ""
|
|
echo "----------------"
|
|
echo "Installation abgeschlossen!"
|
|
echo "Du kannst Nginx jetzt mit systemctl start nginx starten!"
|
|
echo "Deine vHosts kannst du im Verzeichnis /usr/local/nginx/sites-available ablegen, und dann mit dem Befehl ngensite datei aktivieren!" |