无坑,apache编译安装脚本(Centos7.9)

直接复制即可

#!/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登录"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值