auto_lnmp/include/apache.sh
2021-08-19 06:35:24 +08:00

131 lines
6.3 KiB
Bash

#!/usr/bin/env bash
Install_Apache_22()
{
Echo_Blue "[+] Installing ${Apache_Ver}..."
if [ "${Stack}" = "lamp" ]; then
groupadd www
useradd -s /sbin/nologin -g www www
mkdir -p ${Default_Website_Dir}
chmod +w ${Default_Website_Dir}
mkdir -p /home/wwwlogs
chmod 777 /home/wwwlogs
chown -R www:www ${Default_Website_Dir}
fi
Tarj_Cd ${Apache_Ver}.tar.bz2 ${Apache_Ver}
./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-headers --enable-mime-magic --enable-proxy --enable-so --enable-rewrite --with-ssl --enable-ssl --enable-deflate --enable-suexec --with-included-apr --with-expat=builtin
Make_Install
cd ${cur_dir}/src
rm -rf ${cur_dir}/src/${Apache_Ver}
mv /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
if [ "${Stack}" = "lamp" ]; then
\cp ${cur_dir}/conf/httpd22-lamp.conf /usr/local/apache/conf/httpd.conf
\cp ${cur_dir}/conf/httpd-vhosts-lamp.conf /usr/local/apache/conf/extra/httpd-vhosts.conf
\cp ${cur_dir}/conf/httpd22-ssl.conf /usr/local/apache/conf/extra/httpd-ssl.conf
\cp ${cur_dir}/conf/example/enable-apache-ssl-vhost-example.conf /usr/local/apache/conf/enable-apache-ssl-vhost-example.conf
elif [ "${Stack}" = "lnmpa" ]; then
\cp ${cur_dir}/conf/httpd22-lnmpa.conf /usr/local/apache/conf/httpd.conf
\cp ${cur_dir}/conf/httpd-vhosts-lnmpa.conf /usr/local/apache/conf/extra/httpd-vhosts.conf
fi
\cp ${cur_dir}/conf/httpd-default.conf /usr/local/apache/conf/extra/httpd-default.conf
\cp ${cur_dir}/conf/mod_remoteip.conf /usr/local/apache/conf/extra/mod_remoteip.conf
sed -i 's/ServerAdmin you@example.com/ServerAdmin '${ServerAdmin}'/g' /usr/local/apache/conf/httpd.conf
sed -i 's/webmaster@example.com/'${ServerAdmin}'/g' /usr/local/apache/conf/extra/httpd-vhosts.conf
mkdir -p /usr/local/apache/conf/vhost
if [ "${Stack}" = "lnmpa" ]; then
\cp ${cur_dir}/src/patch/mod_remoteip.c .
/usr/local/apache/bin/apxs -i -c -n mod_remoteip.so mod_remoteip.c
sed -i 's/#LoadModule/LoadModule/g' /usr/local/apache/conf/extra/mod_remoteip.conf
fi
ln -sf /usr/local/lib/libltdl.so.3 /usr/lib/libltdl.so.3
mkdir /usr/local/apache/conf/vhost
if [ "${Default_Website_Dir}" != "/home/wwwroot/default" ]; then
sed -i "s#/home/wwwroot/default#${Default_Website_Dir}#g" /usr/local/apache/conf/httpd.conf
sed -i "s#/home/wwwroot/default#${Default_Website_Dir}#g" /usr/local/apache/conf/extra/httpd-vhosts.conf
fi
if [[ "${PHPSelect}" =~ ^[6789]|1[01]$ ]]; then
sed -i '/^LoadModule php5_module/d' /usr/local/apache/conf/httpd.conf
fi
\cp ${cur_dir}/init.d/init.d.httpd /etc/init.d/httpd
\cp ${cur_dir}/init.d/httpd.service /etc/systemd/system/httpd.service
chmod +x /etc/init.d/httpd
}
Install_Apache_24()
{
Echo_Blue "[+] Installing ${Apache_Ver}..."
if [ "${Stack}" = "lamp" ]; then
groupadd www
useradd -s /sbin/nologin -g www www
mkdir -p ${Default_Website_Dir}
chmod +w ${Default_Website_Dir}
mkdir -p /home/wwwlogs
chmod 777 /home/wwwlogs
chown -R www:www ${Default_Website_Dir}
Install_Openssl_New
Install_Nghttp2
fi
Tarj_Cd ${Apache_Ver}.tar.bz2 ${Apache_Ver}
cd srclib
if [ -s "${cur_dir}/src/${APR_Ver}.tar.bz2" ]; then
echo "${APR_Ver}.tar.bz2 [found]"
cp ${cur_dir}/src/${APR_Ver}.tar.bz2 .
else
Download_Files ${Download_Mirror}/web/apache/${APR_Ver}.tar.bz2 ${APR_Ver}.tar.bz2
fi
if [ -s "${cur_dir}/src/${APR_Util_Ver}.tar.bz2" ]; then
echo "${APR_Util_Ver}.tar.bz2 [found]"
cp ${cur_dir}/src/${APR_Util_Ver}.tar.bz2 .
else
Download_Files ${Download_Mirror}/web/apache/${APR_Util_Ver}.tar.bz2 ${APR_Util_Ver}.tar.bz2
fi
tar jxf ${APR_Ver}.tar.bz2
tar jxf ${APR_Util_Ver}.tar.bz2
mv ${APR_Ver} apr
mv ${APR_Util_Ver} apr-util
cd ..
if [ "${Stack}" = "lamp" ]; then
./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-headers --enable-mime-magic --enable-proxy --enable-so --enable-rewrite --enable-ssl ${apache_with_ssl} --enable-deflate --with-pcre --with-included-apr --with-apr-util --enable-mpms-shared=all --enable-remoteip --enable-http2 --with-nghttp2=/usr/local/nghttp2
else
./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-headers --enable-mime-magic --enable-proxy --enable-so --enable-rewrite --enable-ssl --with-ssl --enable-deflate --with-pcre --with-included-apr --with-apr-util --enable-mpms-shared=all --enable-remoteip
fi
Make_Install
cd ${cur_dir}/src
rm -rf ${cur_dir}/src/${Apache_Ver}
mv /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak
if [ "${Stack}" = "lamp" ]; then
\cp ${cur_dir}/conf/httpd24-lamp.conf /usr/local/apache/conf/httpd.conf
\cp ${cur_dir}/conf/httpd-vhosts-lamp.conf /usr/local/apache/conf/extra/httpd-vhosts.conf
\cp ${cur_dir}/conf/httpd24-ssl.conf /usr/local/apache/conf/extra/httpd-ssl.conf
\cp ${cur_dir}/conf/example/enable-apache-ssl-vhost-example.conf /usr/local/apache/conf/enable-apache-ssl-vhost-example.conf
elif [ "${Stack}" = "lnmpa" ]; then
\cp ${cur_dir}/conf/httpd24-lnmpa.conf /usr/local/apache/conf/httpd.conf
\cp ${cur_dir}/conf/httpd-vhosts-lnmpa.conf /usr/local/apache/conf/extra/httpd-vhosts.conf
fi
\cp ${cur_dir}/conf/httpd-default.conf /usr/local/apache/conf/extra/httpd-default.conf
\cp ${cur_dir}/conf/mod_remoteip.conf /usr/local/apache/conf/extra/mod_remoteip.conf
mkdir /usr/local/apache/conf/vhost
sed -i 's/NameVirtualHost .*//g' /usr/local/apache/conf/extra/httpd-vhosts.conf
if [ "${Default_Website_Dir}" != "/home/wwwroot/default" ]; then
sed -i "s#/home/wwwroot/default#${Default_Website_Dir}#g" /usr/local/apache/conf/httpd.conf
sed -i "s#/home/wwwroot/default#${Default_Website_Dir}#g" /usr/local/apache/conf/extra/httpd-vhosts.conf
fi
if [[ "${PHPSelect}" =~ ^[6789]|1[01]$ ]]; then
sed -i '/^LoadModule php5_module/d' /usr/local/apache/conf/httpd.conf
fi
\cp ${cur_dir}/init.d/init.d.httpd /etc/init.d/httpd
\cp ${cur_dir}/init.d/httpd.service /etc/systemd/system/httpd.service
chmod +x /etc/init.d/httpd
}