CentOS 7測試linux
哈哈web
#!/bin/bash #************************************************************** #Author: 哈囉 #QQ: 599503252 #Date: 2019-08-08 #FileName: install_httpd.sh #URL: https://blog.51cto.com/14012942 #Description: The test script #Copyright (C): 2019 Copyright © 站點名稱 版權全部 #************************************************************ #set -e RED="\033[0;31m" GREEN="\033[0;32m" NO_COLOR="\033[0m" PREFIX=/apps/httpd24 SYSCONFDIR=/etc/httpd SRC=/usr/src FLAG=$1 CPUS=`cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l` CORE=`cat /proc/cpuinfo| grep "cpu cores"| uniq | awk '{print $4}'` J=$((${CPUS}*${CORE})) # 判斷是否是root judge_root() { [ $(id -u) != "0" ] && { echo -e "${RED}Error:${NO_COLOR} You must be root to run this script."; exit 1; } } # download download_source() { cd yum install wget -y #wget http://archive.apache.org/dist/httpd/httpd-2.4.25.tar.bz2 # wget https://ftp.osuosl.org/pub/blfs/conglomeration/httpd/httpd-2.4.25.tar.bz2 wget https://ftp.bit.nl/apache/httpd-2.4.25.tar.bz2 if [ ! "$?" -eq 0 ];then echo "download failed!" exit 1 fi } # install install() { wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install gcc openssl-devel pcre-devel apr-devel apr-util-devel libnghttp2-devel ncurses-devel lbzip2 bzip2 -y tar xf httpd-2.4.25.tar.bz2 -C ${SRC}/ cd ${SRC}/httpd-2.4.25 ./configure \ --prefix=${PREFIX} \ --sysconfdir=${SYSCONFDIR} \ --enable-http2 \ --disable-auth-basic \ --enable-ssl \ --enable-so make -j ${J} make install echo "PATH=${PREFIX}/bin:$PATH" >> /etc/profile.d/env.sh source /etc/profile.d/env.sh } # test_web test_web() { apachectl start ss -ltn | grep -q :80 [ "$?" -eq 0 ] && echo -e "${GREEN}May be web server is ok! \n If not ok,please check selinux and firewalld status.${NO_COLOR}" || \ echo -e "${RED}ERROR,Please check the web server.${NO_COLOR}" } remove_httpd() { source /etc/profile.d/env.sh apachectl stop rm -rf ${PREFIX} ${SYSCONFDIR} ${SRC}/httpd-2.4.25 sed -i '/^PATH/d' /etc/profile.d/env.sh } judge_uninstall(){ if [ "$FLAG" = "uninstall" ];then remove_httpd exit 0 fi } main() { judge_uninstall judge_root download_source install test_web } main