CentOS7shell脚本一键部署apache

122 阅读2分钟

本文已参与新人创作礼活动,一起开启掘金创作之路
LINUX系统-CentOS7.9使用shell脚本一键部署apache服务! 系统环境:CentOS7.9
实验要求:部署apache服务
脚本执行方法:vim apache.sh
插入:
#!/bin/bash
#function:脚本部署apache服务
#author:墨染-2021-01-12
#请以root用户身份执行
if [ $USER != root ];then

echo "当前不是root用户,请切换至root用户再次运行脚本"
exit
fi
ping -c3 -i0.1 -W1 www.baidu.com &> /dev/null
if [ $? != 0 ];then
echo "当前无网络,请保证网络畅通再次运行脚本"
exit
else
echo "当前网络畅通,即将开始运行脚本"
fi
sleep 2
systemctl stop firewalld.service && systemctl disable firewalld.service
sed -i 's/SELINUX=./SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/SELINUX=.
/SELINUX=disabled/' /etc/selinux/config
echo "防火墙和selinux高级权限管理已关闭"
echo "开始安装依赖包"
yum install -y "apr*" && sleep 5 && yum install -y "pcre*"
cd /usr/local/src
echo "正在下载安装包,请稍等...." && wget downloads.apache.org/httpd/httpd…
tar xvfz httpd-2.4.54.tar.gz
echo "当前正在编译安装,请稍等...."
cd /usr/local/src/httpd-2.4.54
./configure
--prefix=/usr/local/httpd
--enable-so
--enable-rewrite
--enable-charset-lite
--enable-cgi
make && make install \
#sed -i '198s/#ServerName www.example.com:80/ServerName localhost:80/' /usr/local/apache/conf/httpd.conf
echo "ServerName localhost:80" >> /usr/local/httpd/conf/httpd.conf
/usr/local/httpd/bin/apachectl start
echo "Apache is Work! Welcome shu" > /usr/local/httpd/htdocs/index.html
echo "正在将apache服务注册为系统服务"\ sleep 2
cat>>/usr/lib/systemd/system/httpd.service<< EOF
[Unit]
Description=This is Apache server
After=network.target\

[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/httpd/bin/apachectl OPTIONS ExecReload=/bin/killHUPOPTIONS\ ExecReload=/bin/kill -HUP MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=graphical.target
EOF
echo "已将httpd服务注册为系统服务,您可以使用systemctl/service来管理本服务"
sleep 2
read -p "是否部署httpd服务开机自启动(yes/no):" XZ
case $XZ in
yes)
echo "服务及开机自启部署成功"
systemctl start httpd.service && systemctl enable httpd.service && systemctl enable httpd.service
systemctl status httpd.service
echo "端口启动成功"
netstat -ntlp | grep httpd
;;
no)
echo "服务部署成功"
systemctl start httpd.service && systemctl disable httpd.service && systemctl disable httpd.service
systemctl status httpd.service
echo "端口启动成功"
netstat -ntlp | grep httpd
;;
*)
echo "请选择是否部署服务开机自启动:yes/no"
esac

使用 sh apache.sh执行该脚本
实验效果:
1)根据屏幕回显的IP地址,在浏览器进行访问;
f3b5b0e060fbeb1e3f22edaec4dd311.png 2)在浏览器看实验效果: f3dcd447553ae139468a9977b19ef1f.png 本次服务部署完成,有疑问的伙伴可以留言,也可以私信我,下期见~~~~