自动部署Apache(编译安装)
2020-07-23 00:44
911 查看
要求:源码包已经上传至/opt/apache目录下面(wget太慢了,只好上传,网络好的可以修改脚本成wget),现在需要自动安装Apache,并且配置一个虚拟主机:tansk.test01.com
[root@localhost ~]# cat auto_install_apache.sh #!/bin/bash APACHE_P="/opt/apache/" APR_T="/usr/local/apr/" APRUTIL_T="/usr/local/apr-util/" PCRE_T="/usr/local/pcre/" APACHE_T="/usr/local/apache2.4/" function apache_evn(){ yum install "Development Tools" "Development Libraries" gcc gcc-c++ openssl-devel expat-devel* libxml2-devel -y chmod 755 ${APACHE_P}* clear } function install_apr(){ rm -rf ${APR_T} mkdir -p ${APR_T} tar -zxvf ${APACHE_P}`ls ${APACHE_P}|grep apr|grep -v util` -C ${APR_T} declare -i n=`cat /proc/cpuinfo| grep "physical id"|sort|wc -l` cd ${APR_T}`ls ${APR_T}` ./configure --prefix=${APR_T} make -j ${n} if [ $? -eq 0 ]; then make install clear echo "apr安装完成!" else echo "apr安装失败,请检查安装日志" fi } function install_apr-util(){ rm -rf ${APRUTIL_T} mkdir -p ${APRUTIL_T} tar -zxvf ${APACHE_P}`ls ${APACHE_P}|grep apr|grep util` -C ${APRUTIL_T} declare -i n=`cat /proc/cpuinfo| grep "physical id"|sort|wc -l` cd ${APRUTIL_T}`ls ${APRUTIL_T}` ./configure --prefix=${APRUTIL_T} --with-apr=${APR_T} make -j ${n} if [ $? -eq 0 ]; then make install clear echo "apr-util安装完成!" else echo "apr-util安装失败,请检查安装日志" fi } function install_pcre(){ rm -rf ${PCRE_T} mkdir -p ${PCRE_T} tar -zxvf ${APACHE_P}`ls ${APACHE_P}|grep pcre` -C ${PCRE_T} declare -i n=`cat /proc/cpuinfo| grep "physical id"|sort|wc -l` cd ${PCRE_T}`ls ${PCRE_T}` ./configure --prefix=${PCRE_T} make -j ${n} if [ $? -eq 0 ]; then make install clear echo "pcre安装完成!" else echo "pcre安装失败,请检查安装日志" fi } function install_apache(){ rm -rf ${APACHE_T} mkdir -p ${APACHE_T} tar -zxvf ${APACHE_P}`ls ${APACHE_P}|grep httpd` -C ${APACHE_T} declare -i n=`cat /proc/cpuinfo| grep "physical id"|sort|wc -l` cd ${APACHE_T}`ls ${APACHE_T}` ./configure \ --prefix=${APACHE_T} \ --enable-so \ --enable-rewrite \ --enable-ssl \ --with-pcre=${PCRE_T} \ --with-apr=${APR_T} \ --with-apr-util=${APRUTIL_T} \ --enable-modules=most \ --enable-mpms-shared=all if [ $? -eq 0 ];then make -j ${n} if [ $? -eq 0 ]; then make install clear cp ${APACHE_T}bin/apachectl /etc/init.d/apache2.4 sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' ${APACHE_T}conf/httpd.conf echo "apache安装完成!" else echo "apache安装失败,请检查安装日志" fi else echo "预编译出错" fi } function auto_install_all(){ apache_evn install_apr install_apr-util install_pcre install_apache } function startup(){ service apache2.4 stop >/dev/null service apache2.4 start if [ $? -eq 0 ]; then echo "" echo "Apache启动成功" echo "" else echo "" echo "Apache启动失败" echo "" fi } function virtualhost(){ cd ${APACHE_T}conf IP=`ifconfig ens32|sed -n '2p'|awk '{print $2}'|xargs` rm -rf ${APACHE_T}conf/confd mkdir -p ${APACHE_T}conf/confd sed -i '/Include conf\/confd\/\*.conf/d' httpd.conf echo "Include conf/confd/*.conf" >>httpd.conf cd confd rm -rf test01.conf >/dev/null cat >test01.conf<<EOF <VirtualHost *:80> ServerName tansk.test01.com DocumentRoot /var/www/html </VirtualHost> <Directory "/var/www/html"> AllowOverride None Require all granted </Directory> EOF cat>/etc/hosts<<EOF 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 EOF rm -rf /var/www/html/ </dev/null mkdir -p /var/www/html/ echo "test01" >>/var/www/html/index.html echo "${IP} tansk.test01.com" >>/etc/hosts startup echo "" echo "访问虚拟主机(curl tansk.test01.com):" echo "" curl tansk.test01.com echo "" } while true do echo "请选择需要安装的软件(按q退出安装界面):" cat <<end 1)环境准备 2)apr安装 3)apr-util安装 4)pcre安装 5)apache安装 6)全自动安装 7)启动Apache 8)配置一个虚拟主机 q)exit end read -p "请选择:" sl case $sl in 1) apache_evn ;; 2) install_apr ;; 3) install_apr-util ;; 4) install_pcre ;; 5) install_apache ;; 6) auto_install_all ;; 7) startup ;; 8) virtualhost ;; q) exit ;; *) echo "输入错误!请重新输入" continue ;; esac done [root@localhost ~]#
相关文章推荐
- LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
- Linux下让编译安装的Apache自动启动
- 编译安装apache实现自动启动
- 【Apache学习】编译安装httpd2.4 含傻瓜版自动安装脚本
- 使用autotools系列工具自动部署源代码编译安装
- LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
- Apache源码编译安装2.2.17版本以及部署AWStats日志分析系统配置详解
- 使用Apache模块编译安装搭建LAMP平台以及部署DedeCMS网站配置详解
- Linux下让编译安装的Apache自动启动
- 源码编译安装Apache-附一键部署脚本
- Centos部署apache(源码编译安装)
- LAMP架构部署——编译安装Apache
- 使用autotools系列工具自动部署源代码编译安装
- 【RedHat】手动编译安装部署Apache2.4、PHP7.1、MySql5.7开发环境
- Linux下让编译安装的Apache自动启动
- LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
- Fedora 15 下编译安装apache
- CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25
- Ubuntu14.04 & CentOS6.5 编译安装Apache & PHP5.6
- 开发人员学Linux(8):CentOS7编译安装Subversion及Apache并集成