httpd编译安装脚本(个人)

#!/bin/bash
#
#********************************************************************
#Date: 2020-04-11
#FileName: install_httpd.sh
#Description: The test script
#********************************************************************

rpm -q httpd && yum -y remove httpd &> /dev/null
echo -e "\e[1;32m已确认未安装\e[0m"

rpm -q gcc || dnf -y install gcc
rpm -q make || dnf -y install make
rpm -q bzip2 || dnf -y install bzip2
rpm -q wget || dnf -y install wget
dnf -y install apr-util-devel pcre-devel openssl-devel redhat-rpm-config ||{ echo -e "\e[1;32m准备包失败\e[0m"; exit; }
echo -e "\e[1;32m依赖包下载完成\e[0m"
wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.bz2 || { echo -e "\e[1;32m下载失败,已退出。下载地址:https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.bz2 \e[0m"; exit 10; }
echo -e "\e[1;32m已下载httpd压缩包/usr/local/src\e[0m"
#转至目录解包
tar xf httpd-2.4.43.tar.bz2 -C /usr/local/src/
cd /usr/local/src/httpd-2.4.43/
#./configure > make > make install
./configure --prefix=/apps/http24 --sysconfdir=/etc/httpd24 --enable-ssl || { echo -e "\e[1;32m./configure出错\e[0m";exit 20; }
make -j 4 && make install
echo -e "\e[1;32m完成安装\e[0m"
echo 'PATH=/apps/httpd24/bin:$PATH' > /etc/profile.d/httpd24.sh
. /etc/profile.d/httpd24.sh

#增加man帮助

sed -i.bak '/every automatically generated MANPATH includes these fields/a MANDATORY_MANPATH\       /apps/http24/bin/ '  etc/man_db.conf

创建apache并更改httpd运行用户

getent shadow apache && userdel apache || useradd -r -s /sbin/nologin -d /var/www/ -c Apache -u 48 apache
sed -Ei.bak -e 's/(User).*/\1 apache/' -e 's/(Group).*/\1 apache/' /etc/httpd/httpd.conf

 

apachectl || echo -e "\e[1;32m启动失败,检查环境变量\e[0m"

posted @ 2020-04-12 14:04  天际之上可有蓝天  阅读(188)  评论(0)    收藏  举报