1.前言
自从小编学习linux shell编程哈,自己就写了一个源码编译安装脚本,可以实现各种包的编译,也有些不足的地方希望大家可以理解!!!
2.注意! ! !
脚本里有些可以根据自身改动!
#!/bin/bash
#
#*****************************************************************
#Author: wangzhike
#QQ: 2358468640
#Date: 2020-03-23
#FileName: Software.sh
#Copyright(C): 2020 All rights reserved
#*****************************************************************
echo -e "\033[33;1m++++++++++++++++++++++++++++++install start+++++++++++++++++++++++++++++++++\033[0m"
read -p "请输入您想要下载的有关地址:" URL #比如 http://mirror.bit.edu.cn/apache//httpd/
read -p "请输入想要下载的源码包:" FILE #比如 httpd-2.4.43.tar.bz2
echo -e "\033[33;1m++++++++++++++++++++++++++++++install start+++++++++++++++++++++++++++++++++\033[0m"
SUFFIX=`echo $FILE | sed -rn 's/.*\.([^.]+)$/\1/p'`
PACKAGE=`echo $FILE | sed -rn 's/^(.*[0-9]+)\.[[:alpha:]]+.*$/\1/p'`
INSTALL_DIR=/apps/httpd24
SUBDIR=`basename $INSTALL_DIR`
sleep 2
dnf -y install gcc make apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
#解决依赖
cd /usr/local/src/
wget $URL$FILE
case $SUFFIX in
gz|bz2|xz)
tar xf $FILE
;;
zip)
unzip $FILE
;;
*)
echo -e "\033[35m暂不支持此后缀:$SUFFIX\033[0m"
exit 100
esac
cd $PACKAGE/
./configure \
--prefix=$INSTALL_DIR \
--enable-ssl \
--enable-so
make && make install
echo 'PATH=$INSTALL_DIR/bin:$PATH' > /etc/profile.d/$SUBDIR.sh #添加变量
source /etc/profile.d/$SUBDIR.sh
useradd -r -s /sbin/nologin apache
sed -i -e 's/^User.*/User apache/' -e 's/^Group.*/Group apache/' /usr/local/src/$PACKAGE/docs/conf/httpd.conf
awk 'gsub(/It works!/,"hello wangzhike!!",$0){print > "/apps/httpd24/htdocs/index.html"}' /apps/$SUBDIR/htdocs/index.html
#这里是添加客户端连接后出现的内容
systemctl stop firewalld #防火墙关闭
apachectl start #启动服务
sleep 2
echo -e "\033[33;1m+++++++++++++++++++++$FILE is installed!+++++++++++++++++++\033[0m"
在这里小编使用的是httpd-2.4.43。tar.bz2包哈,所以使用的话有些可能需要改动