LAMP一键安装脚本
部署环境:centos7
(已在自己的虚拟机上调试成功,可能还有一些BUG)
#!/bin/bash
#作者:张小白
#日期:2021年10月31日
#版本:LAMP一键安装测试版
# 将脚本分为多个模块,1:工具型函数:check_ok(),myum(),check_server
# 2:服务安装型函数:install_mysql(),install_http(),install_php()
# 3:组装服务型函数:join_http_php(),lamp()
#思路OK,开始实验。
#____设置全局变量____#
PATH=${PATH}:/root/
LANG=zh_CN.UTF-8
hong="\033[31m"
huang="\033[33m"
lv="\033[32m"
se="\033[0m"
#____工具类型函数____#
##函数check_ok():通过判断'$?'的返回值,判断上一块代码是否执行成功。
check_ok(){
if [ $? != 0 ];
then
echo -e "\t"$hong"ERROR"$se" An error occurred in process execution pless check error log"
exit 1
fi
}
##函数myum():通过'rpm -qa|grep "^$1"判断系统是否已经安装上了安装包,有则提示安装包已经安,无则yum
myum(){
if ! rpm -qa | grep -q "^$1";
then
yum install -y $1
check_ok
else
echo -e "\t"$1" already exist" #already:已经 exist:存在
fi
}
##函数check_server():通过判断目录/ect/init.d与/etc/systemd/system是否存在服务的启动脚本,来确定服务是否存在。
##主要是用来判断MySQL服务,httpd服务,php服务是否存在
check_server(){
if [ -f /etc/init.d/"$1" -o -f /etc/systemd/system/"$1" ];
then
echo -e "\t $1 servre already exist,if you want start $1 you can use $huang"/etc/init.d/$1"$se OR $huang"systemctl start $1"$se"
else
install_$1
check_ok
fi
}
#____搭建环境准____#
#关闭防火墙
myum iptables-services #是否需要下载iptables服务
iptables-save > /etc/sysconfig/iptables_`date +%F` #备份原有防火墙规则
iptables -F #清空防火墙规则
#关闭selinux
sed 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config -i
s_num=`getenforce`
if [ "$s_num" =