您的位置:首页技术文章
文章详情页

源码安装apache脚本部署过程详解

【字号: 日期:2023-03-07 14:40:48浏览:22作者:猪猪
目录
  • 源码安装apache脚本部署

源码安装apache脚本部署

[root@localhost ~]# lsanaconda-ks.cfg  httpd.tar.xz[root@localhost ~]# tar xf httpd.tar.xz  解压存放脚本的压缩包[root@localhost ~]# lsanaconda-ks.cfg  httpd  httpd.tar.xz[root@localhost ~]# cd httpd/[root@localhost httpd]# lsapache_lnh.sh(编译安装apache脚本)  config.sh(附属脚本)  files[root@localhost httpd]# ls files/    //存放安装包的目录apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.53.tar.gz  httpd-2.4.54.tar.gz  zhuawawa(源码包的目录)[root@localhost httpd]# cat apache_lnh.sh #/bin/bash#列出httpd版本号进行选择cat > /tmp/xbz.txt <<EOF请输入要安装的版本序号:1. 2.4.542. 2.4.53q. 退出EOFcat /tmp/xbz.txtread -p "选择版本号"  apache_versioncase $apache_version in1)apache_version=$(awk "NR==2{print $2}"  /tmp/xbz.txt)echo $apache_version;;2)apache_version=$(awk "NR==3{print $2}"  /tmp/xbz.txt)echo $apache_version;;q)apache_version=$(awk "NR==4{print $2}"  /tmp/xbz.txt)echo $apache_versionexit;;*)echo "错误输入"exitesac#设置执行权限if [ $UID -ne 0 ];thenecho "请以管理员用户进行执行"exitfi#定义变量install_dir=/usr/local/apache#创建用户id apache &> /dev/nullif [ $? -ne 0 ];then    useradd -r -M -s /sbin/nologin apache    else    echo "用户已存在"fi#安装依赖包dnf -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ wget make vim  zip --allowerasing#解压源码包rm -rf /tmp/*tar xf files/apr-1.7.0.tar.gz -C /tmp/tar xf files/apr-util-1.6.1.tar.gz -C /tmp/tar xf files/httpd-$apache_version.tar.gz -C /tmp/#编译安装aprcd /tmp/apr-1.7.0if [ ! -d /usr/local/apr ];thensed -i "/$RM "$cfgfile"/d" configure./configure --prefix=/usr/local/apr && \make && make install    elsels /usr/localecho "apr 编译安装完成"fi#编译安装apr-utilcd ../apr-util-1.6.1/if [ ! -d /usr/local/apr-util ];then./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && \make && make installelse ls /usr/local/ echo "apr-util 编译安装完成"       fi#编译安装httpdcd ../httpd-$apache_version/if [ ! -d ${install_dir} ];then    ./configure --prefix=${install_dir} \    --enable-so \    --enable-ssl \    --enable-cgi \    --enable-rewrite \    --with-zlib \    --with-pcre \    --with-apr=/usr/local/apr \    --with-apr-util=/usr/local/apr-util/ \    --enable-modules=most \    --enable-mpms-shared=all \    --with-mpm=prefork        make && make install    else  ls ${install_dir}  echo "httpd 编译安装完成"fi#设置环境变量,man文档,头文件echo "export PATH=${install_dir}/bin:\$PATH" > /etc/profile.d/apache.shln -s ${install_dir}/include /usr/include/apache &> /dev/nullgrep "apache" /etc/man_db.conf &> /dev/nullif [ $? -ne 0 ];then    sed -i "22a MANDATORY_MANPATH       ${install_dir}/man" /etc/man_db.conffi#将其加入systemd服务里面cat > /usr/lib/systemd/system/httpd.service <<EOF[Unit]Description=httpd server daemonAfter=network.target[Service]Type=forkingExecStart=${install_dir}/bin/apachectl startExecStop=${install_dir}/bin/apachectl stopExecReload=/bin/kill -HUP \$MAINPID[Install]WantedBy=multi-user.targetEOF#加载文件并设置开机自启systemctl daemon-reloadsystemctl enable --now httpd#查看端口ss -antl[root@localhost httpd]# cat config.sh #!/bin/bash#定义变量install_dir=$(grep "^install_dir=" apache_lnh.sh  | awk -F"=" "{print $2}" )echo $install_dir#添加包含虚拟主机grep "Include conf/extra/httpd-vhosts.conf" $install_dir/conf/httpd.conf &> /dev/nullif [ $? -eq 0 ];thenecho "Include conf/extra/httpd-vhosts.conf" >> $install_dir/conf/httpd.conffi#配置虚拟主机cat > $install_dir/conf/extra/httpd-vhosts.conf <<EOF<VirtualHost *:80>    DocumentRoot "$install_dir/htdocs/zhuawawa.example.com"    ServerName zhuawawa.example.com    ErrorLog "logs/zhuawawa.example.com-error_log"    CustomLog "logs/zhuawawa.example.com-access_log" common</VirtualHost>EOF#添加防火墙规则firewall-cmd --add-rich-rule "rule family=ipv4 source address=0.0.0.0/0 port port=80 protocol=tcp accept" --permanent &> /dev/nullfirewall-cmd --reload#创建网站存放目录mkdir -p $install_dir/htdocs/zhuawawa.example.comcp -r files/zhuawawa/* $install_dir/htdocs/zhuawawa.example.com#重启httpdsystemctl restart httpd#查看端口ss -antl[root@localhost httpd]# lsapache_lnh.sh  config.sh  files[root@localhost httpd]# ls files/apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  httpd-2.4.53.tar.gz  httpd-2.4.54.tar.gz  zhuawawa(提前将源码包解压到这里)[root@localhost httpd]# ls files/zhuawawa/  (此处是我解压的源码包)Battle_City  audio  css  images  index.html  js  tk.zip

进行访问:

[root@localhost ~]# tar -Jcf httpd.tar.xz httpd/  //压缩脚本存放目录[root@localhost ~]# lsanaconda-ks.cfg  httpd  httpd.tar.xz

到此这篇关于源码安装apache脚本部署的文章就介绍到这了,更多相关源码安装apache内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

标签: Linux Apache