直接复制即可
#!/bin/bash
###root判断###
if
[ "$USER" != "root" ]
then
echo "错误:非root用户,权限不足!"
exit 0
fi
echo "运行脚本前,请自行检查网络联通情况"
read -p "阅读完成输入y启动脚本,输入n退出脚本并按Enter键确认:" z
case $z in
y)
echo "正在启动"
;;
n)
exit 0
;;
*)
exit 0
esac
bao=httpd-2.4.54.tar.gz
baolj=httpd-2.4.54
systemctl stop firewalld && systemctl disable firewalld && echo "防火墙已经关闭"
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config && echo "关闭selinux"
echo "正在安装依赖包和必要工具:gcc*,apr-devel,apr-util-devel,pcre-devel, zlib-devel" && sleep 5
yum install -y wget gcc* apr-devel apr-util-devel pcre-devel zlib-devel
if [ $? -eq 0 ]
then echo "依赖包安装成功"
else echo "安装依赖包失败" && exit 1
fi
cd /usr/src/
echo "正在下载安装包,版本为$bao" && sleep 5
wget -c https://archive.apache.org/dist/httpd/$bao
if [ $? -eq 0 ]
then echo "安装包下载成功" && tar zxvf $bao
else echo "安装包下载失败" && exit 1
fi
cd /usr/src/$baolj
echo "正在配置到/usr/local/httpd中" && sleep 5
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate --enable-expires
if [ $? -eq 0 ]
then make && make install && echo "编译安装完成"
else echo "配置失败" && exit 1
fi
sed -i 107s'/#//' /usr/local/httpd/conf/httpd.conf #开启网页压缩
cat >>/usr/local/httpd/conf/httpd.conf << EOF
<IfModule mod_deflate.c>
DeflateCompressionLevel 6
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/csstext/javascript application/x-javascript application/javascript application/json
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary AddOutputFilterByType DEFLATE text/*
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
</IfModule>
EOF
sed -i 114s'/#//' /usr/local/httpd/conf/httpd.conf #开启缓存
cat >>/usr/local/httpd/conf/httpd.conf << EOF
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</IfModule>
EOF
sed -i 495s'/#//' /usr/local/httpd/conf/httpd.conf #隐藏版本号
sed -i 55s'/Full/Prod/' /usr/local/httpd/conf/extra/httpd-default.conf
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
echo "#chkconfig:35 85 21" >> /etc/init.d/httpd
chkconfig --add httpd #添加系统服务
systemctl start httpd && echo "安装完成,服务已开启"
ip=$(ip a | grep "inet "|grep "ens33" | awk '{print $2}' | awk -F "/" '{print $1}')
echo "请使用$ip登录"