有了之前配置成功的基础,可以考虑把这些命令整合成一个shell脚本,让系统自动配置。以下是脚本代码:
#!bin/bash
#LAMP安装
rm -f /var/run/yum.pid
#测试网络环境
ping -c 3 -i 0.3 -W 1 www.baidu.com &> /dev/null
if [ $? -eq 0 ];then
echo "网络状况良好,将继续配置!"
else
echo "检测到未连通网络,请连接网络后再试!"
exit
fi
#安装Apache
yum -y install httpd &> /dev/null
sed -i 's/www.example.com/localhost/g' /etc/httpd/conf/httpd.conf
#开启防火墙和80端口
systemctl start firewalld &> /dev/null
firewall-cmd --zone=public --add-port=80/tcp --permanent &> /dev/null
firewall-cmd --reload &> /dev/null
#启动Apache
systemctl start httpd &> /dev/null
systemctl enable httpd &> /dev/null
if [ $? -eq 0 ];
then
echo "配置Apache成功,即将配置Mysql,请稍侯"
else
echo "配置Apache未成功,请检查可能原因"
fi
#安装Mysql
yum -y install mysql &> /dev/null
yum -y install mariadb-server &> /dev/null
#启动Mysql
systemctl start mariadb.service &> /dev/null
systemctl enable mariadb.service &> /dev/null
if [ $? -eq 0 ];
then
echo "配置Mysql成功,即将配置PHP,请稍侯"
else
echo "配置Mysql未成功,请检查可能原因"
fi
#安装PHP
yum -y install php php-fpm php-gd php-mysql php-mbstring &> /dev/null
if [ $? -eq 0 ];
then
cd /var/www/html && echo "<?php phpinfo();?>" > index.php
echo "配置PHP成功,请测试环境"
echo "您已成功部署LAMP"
else
echo "配置PHP未成功,请检查可能原因"
fi
if [ $? -eq 0 ];
then
ip=$(ifconfig ens33 | grep "inet" | grep -v "inet6" | awk '{print $2}')
echo "请用浏览器访问$ip/index.php 若显示PHP界面则表示PHP正常运行"
fi
本shell脚本是在CentOS 7下运行的,由于7版本一开始会有pid锁定,影响yum安装,这里采用删除该文件解决;我运行完毕后,该安装的都安装好了,但是浏览器没有PHP显示,为一片空白,不知道是什么问题,不过我觉得代码应该是没有问题,可以达到自动部署的目的,有兴趣的可以试一试。