«
apache安装脚本

时间:2021-8-18     作者:李泽信     分类: shell


#!/bin/bash
echo -e "\033[31m此脚本用于安装apache\033[0m"
echo -e "\033[31m开始检查gcc依赖......\033[0m"
if [[  $(rpm -qa|grep -c gcc) = '0' ]];then
    yum -y install gcc
else
    echo "gcc已存在无需安装!"
fi

echo -e "\033[31m开始检查make依赖......\033[0m"
if [[  $(rpm -qa|grep -c make) = '0' ]];then
    yum -y install make
else
    echo "make已存在无需安装!"
fi

echo -e "\033[31m开始检查pcre-devel依赖......\033[0m"
if [[  $(rpm -qa|grep -c pcre-devel) = '0' ]];then
    yum -y install pcre-devel
else
    echo "pcre-devel已存在无需安装!"
fi

echo -e "\033[31m开始检查openssl-devel依赖......\033[0m"
if [[  $(rpm -qa|grep -c openssl-devel) = '0' ]];then
    yum -y install openssl-devel
else
    echo "openssl-devel已存在无需安装!"
fi

echo -e "开始检查expat-devel依赖......"
if [[  $(rpm -qa|grep -c expat-devel) = '0' ]];then
    yum -y install expat-devel
else
    echo "expat-devel已存在无需安装!"
fi

# 安装apr
echo -e "准备解压apr......"
read -p "请输入apr所在在路径,如(/data/soft/apr):"  APR_PATH
read -p "请输入apr解压路径,如(/data):" apr_path
echo -e '\033[31m开始解压apr\033[0m'
tar -zxvf "$APR_PATH"/apr-1*.tar.gz -C "$apr_path"
sleep 1

# 安装apr-util
echo -e "准备解压apr-util......"
read -p "请输入apr所在在路径,如(/data/soft/apr-util):" APRUTIL_PATH
read -p "请输入apr解压路径,如(/data):" aprutil_path
echo -e '\033[31m开始解压apr-util\033[0m'
tar -zxvf "$APRUTIL_PATH"/apr-util*.tar.gz -C "$aprutil_path"
sleep 1

# 安装pcre
echo -e "准备解压pcre......"
read -p "请输入apr所在在路径,如(/data/soft/pcre):" PCRE_PATH
read -p "请输入apr安装路径,如(/data):" pcre_path
echo -e '\033[31m开始解压pcre\033[0m'
tar -zxvf "$PCRE_PATH"/pcre*.tar.gz -C "$pcre_path"
sleep1

# 安装apache
echo -e "准备解压httpd......"
read -p "请输入apr所在在路径,如(/data/soft/apache):" APACHE_PATH
read -p "请输入apr解压路径,如(/data):" apache_path
echo -e '\033[31m开始解压apache\033[0m'
tar -zxvf "$APACHE_PATH"/httpd*.tar.gz -C "$apache_path"
sleep 1

# 将apr和apr-util源码与apache合并
echo -e "准备将apr文件与apr-util文件合并至httpd......"
cp -ar "$apr_path"/apr-1.7.0/ "$apache_path"/httpd-2.4.53/srclib/apr
cp -ar "$aprutil_path"/apr-util-1.6.1/ "$apache_path"/httpd-2.4.53/srclib/apr-util
echo -e '\033[31m合并完成!\033[0m'
# 编译apache
cd "$apache_path"/httpd-2.4.53
echo -e "准备安装http......"
./configure --prefix=/data/apache --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
sleep 1
make
sleep 3
make install
sleep 3
# 修改配置文件开启80端口
echo -e "开启默认端口"
sed -e 's/^#ServerName www.example.com\:80/ServerName localhost\:80/g' /data/apache/conf/httpd.conf

/data/apache/bin/apachectl -t
echo $?
if [ $? -eq 0 ];then
    /data/apache/bin/apachectl start
    curl -I "$(ifconfig eth0 |grep "inet"|awk -F '[:" "]+' '{print $3}')"
else
    echo "apache启动失败,请检查配置!"
fi