#!/bin/bash
#用于CentOs7系统部署php环境
pkgs=”php-common php-pear php-odbc php-fpm php-pdo php-cli php-xml php-snmp php-pecl-memcache php-soap php-ldap php-xmlrpc php-mcrypt php-process php-gd php-mysql php-mbstring php-nrk-Predis php libmcrypt libmcrypt-devel php-mcrypt php-pecl-redis lrzsz git nginx”
if [ “$(sed -n ‘1p’ /etc/issue | awk ‘{print $1}’)” == ‘\S’ ];then
echo -e “\e[32m\t当前操作系统为$(sed -n ‘1p’ /etc/redhat-release | awk ‘{print $1” “$2” “$3” “$4}’)\e[0m”
else
echo -e “\e[31m\t此脚本只适用于CentOs 7\e[0m”
exit 1
fi
#检测用户是否为root用户
if [ $UID -ne 0 ];then
echo -e “\e[31m\t必须以root用户运行此程序\e[0m”
exit 1
else
echo -e “\e[32m\t当前用户为root\e[0m”
fi
#计数器
count_num=0
#yum安装函数
function install_pkg()
{
check_pkg=$(rpm -q $1 | grep ‘not installed’ | awk ‘{print $2}’)
if [ ${count_num} -ge 3 ];then
echo -e “\e[31m\t${check_pkg} installing try 3 times failed\e[0m”
exit 1
fi
#echo ${check_pkg}
for pkg in ${check_pkg}
do
tput sc
echo -en “\033[34m\tinstalling\033[0m \033[32m${pkg}\033[0m”
tput rc
yum install -y ${pkg} >> ${install_log} 2>&1
done
check_pkg=$(rpm -q $1 | grep ‘not installed’ | awk ‘{print $2}’)
if [ -n “${check_pkg}” ];then
let count_num=${count_num}+1
install_pkg “${check_pkg}”
fi
return 0
}
#配置yum源
# xxxxxxxxx 这些需要换成你自己的yum源
echo -e “\e[34m一、配置yum源\e[0m”
cat >/etc/yum.repos.d/CentOS-Base.repo<<eof
[localbase]
name=CentOS-localbase
baseurl=
xxxxxxxxx
gpgcheck=0
[localupdates]
name=CentOS-localupdates
baseurl=
xxxxxxxxx
gpgcheck=0
[localextras]
name=CentOS-localextras
baseurl=
xxxxxxxxx
gpgcheck=0
[localepel]
name=CentOS-localepel
baseurl=
xxxxxxxxx
gpgcheck=0
eof
#安装软件包
echo -e “\e[34m二、安装软件包\e[0m”
for pkg in ${pkgs}
do
install_pkg “${pkg}” && tput ed && echo -e “\e[32m\t${pkg}已安装\e[0m”
done
echo -e “\e[34mPHP环境准备完毕\e[0m”