自动安装配置httpd虚拟主机的脚本

脚本练习,写一个脚本,实现本地Web服务器的配置:

1、检查httpd包是否已经安装,如果没有,则使用yum命令安装之;(需要事先配置好yum源)

2、取消中心主机,新建5个基于域名的虚拟主机,并分别提供一个测试主页,主页内容为其对应的FQDN:

www.magedu.com, /vhosts/magedu

bbs.magedu.com, /vhosts/bbs

wp.magedu.com, /vhosts/wordpress

pw.magedu.com, /vhosts/pw

pma.magedu.com, /vhosts/phpmyadmin

3、检查修改后的配置文件语法,如果没有问题,则启动httpd服务,并要求以后服务会开机自动启动;

#!/bin/bash

#Author honway

#ScriptName AutoSetWebServer

SetYUM() {

echo "=============================================="

echo "Start backup files."

echo "backup your .repo file to .repo.bak!"

echo "=============================================="

YUM_CONF_DIR=/etc/yum.repos.d/

for Y in $YUM_CONF_DIR/*.repo; do

mv $Y $Y.bak &>/dev/null

done

echo "=============================================="

echo "Backup successfully."

echo "=============================================="

echo "Create a yum config file."

cat >> $YUM_CONF_DIR/yumconf.repo <<EOF

[Server]

name=Server

baseurl=ftp://172.16.0.1/pub/Server

gpgcheck=0

enabled=1

[VT]

name=VT

baseurl=ftp://172.16.0.1/pub/VT

gpgcheck=0

enabled=1

[Cluster]

name=Cluster

baseurl=ftp://172.16.0.1/pub/Cluster

gpgeheck=0

[ClusterStorage]

name=ClusterStorage

baseurl=ftp://172.16.0.1/pub/ClusterStorage

gpgcheck=0

enabled=1

[errata]

name=errata

baseurl=ftp://172.16.0.1/pub/errata

gpgeheck=0

enabled=0

EOF

echo "OK!"

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/web/

echo "=============================================="

}

CreateTestPage(){

echo "$u" > $URL_DIR/index.html

}

SetYUM

if ! `rpm -qa | grep httpd &>/dev/null`; then

echo "===============================>"

echo "Start install httpd.please wait..."

yum -y install httpd &>null

else

echo "install is not sucess,something error."

fi

SetVirtualConfig(){

sed -i 's@\(^DocumentRoot[[:space:]]\{1,\}"/var/www/html"\)@#\1@g' /etc/httpd/conf/httpd.conf

sed -i 's@^#\(NameVirtualHost[[:space:]]\{1,\}[^[:space:]]\{1,\}:80$\)@\1@g' /etc/httpd/conf/httpd.conf

}

SetVirtualConfig

mkdir -p /vhosts/{magedu,bbs,wp,pw,pma} &>/dev/null

FQDN=magedu.com

f=/etc/httpd/conf/httpd.conf

for u in {www.$FQDN,bbs.$FQDN,wp.$FQDN,pw.$FQDN,pma.$FQDN}; do

case "$u" in

"www.magedu.com")

URL_DIR=/vhosts/magedu

cat >>$f <<EOF

<VirtualHost *:80>

ServerName $u

DocumentRoot $URL_DIR

</VirtualHost>

EOF

CreateTestPage ;;

"bbs.magedu.com")

URL_DIR=/vhosts/bbs

cat >> $f <<EOF

<VirtualHost *:80>

ServerName $u

DocumentRoot $URL_DIR

</VirtualHost>

EOF

CreateTestPage ;;

"wp.magedu.com")

URL_DIR=/vhosts/wp

cat >>$f <<EOF

<VirtualHost *:80>

ServerName $u

DocumentRoot $URL_DIR

</VirtualHost>

EOF

CreateTestPage ;;

"pw.magedu.com")

URL_DIR=/vhosts/pw

cat >>$f <<EOF

<VirtualHost *:80>

ServerName $u

DocumentRoot $URL_DIR

</VirtualHost>

EOF

CreateTestPage ;;

"pma.magedu.com")

URL_DIR=/vhosts/pma

cat >>$f <<EOF

<VirtualHost *:80>

ServerName $u

DocumentRoot $URL_DIR

</VirtualHost>

EOF

CreateTestPage ;;

*)

echo "Error..." ;;

esac

done

if `service httpd configtest`; then

chkconfig --level 345 httpd on

service httpd start

fi

本文出自 “吖吖個呸” 博客,请务必保留此出处http://gm100861.blog.51cto.com/1930562/803162

时间: 2024-08-07 21:49:40

自动安装配置httpd虚拟主机的脚本的相关文章

Apache安装配置和虚拟主机配置教程

Apache 2.0 安装 相对IIS来说Apache建立站点更加专业,一些大型门户网站和流量大的专业站点都是通过Apache发布站点的.而且以往很多程序都是通过ASP语言完成的,ASP与IIS的兼容性比较好,那时IIS用户比较多.随着PHP语言的流行,越来越多的用户抛弃了ASP.相比IIS来说Apache与PHP的兼容性更好,执行代码的效率更高,运行起来也更加稳定. 第一步:下载Apache 2.0安装程序,并运行. 第二步:同意许可协议点"NEXT"按钮继续. 第三步:查看帮助信息

如何编写安装配置httpd服务基于域名的虚拟主机脚本

编写安装配置httpd服务基于域名的虚拟主机脚本 要求: 1.自动完成安装,基本配置 2.通过提示输入域名.网站根目录.等信息完成虚拟主机的添加工作 #!/bin/bash service httpd stop &> /dev/null conf="/usr/local/apache/conf/httpd.conf" vhostconf="/usr/local/apache/conf/extra/httpd-vhosts.conf" bin="

php管理nginx虚拟主机shell脚本实例_php技巧

本文实例讲述了php管理nginx虚拟主机shell脚本,分享给大家供大家参考.具体分析如下: 使用php作为shell脚本是一件很方便的事情.理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考: 复制代码 代码如下: #!/usr/bin/php -q <?php   start: fwrite(STDOUT,"===========Vhost Script===========\n"); fwrite(STDOUT,"=

apache虚拟主机配置-php在配置apache虚拟主机时启动虚拟主机配置后就无法启动apache

问题描述 php在配置apache虚拟主机时启动虚拟主机配置后就无法启动apache 在httpd.conf 配置虚拟主机: Virtual hosts ,虚拟主机 Include conf/extra/httpd-vhosts.conf 将上一句Include这句话打开后,apache就无法启动了,而且其他的配置都检查了,没有问题. 查看了error.log (部分log)是这样的: Starting the Apache2.2 service The Apache2.2 service is

centos7-CentOS 7 怎样配置apache虚拟主机?

问题描述 CentOS 7 怎样配置apache虚拟主机? 跟ubuntu有点不同,没有看到类似的sites-enable文件夹 解决方案 CentOS下配置apache虚拟主机CentOS Apache虚拟主机配置CentOS中增加apache虚拟主机的配置

CentOS VPS安装Kloxo免费虚拟主机管理系统_Linux

对于不想学命令而直接使用centos vps的新手来说,我们推荐一款傻瓜式的虚拟主机管理系统Kloxo,且是免费的,无限绑定域名. Kloxo简介 Kloxo的前身是lxadmin,是一款免费的虚拟主机管理系统,安装简单,功能强大,可以快速地在red hat,centos系列linux系统的主机上搭建LAMP(Linux+Apache+Mysql+Perl/PHP/Python)环境. 安装kloxo Kloxo安装后会搭建LAMP环境,所以需要一个没有安装有php.mysql.apache等服

php管理nginx虚拟主机shell脚本

  使用php作为shell脚本是一件很方便的事情.理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考  代码如下   #!/usr/bin/php -q <?php   start: fwrite(STDOUT,"===========Vhost Script===========\n"); fwrite(STDOUT,"= Choose an operation \n"); fwrite(STDOUT,"

lnmp环境nginx 配置多虚拟主机例子

1.首先进入 /usr/local/nginx/conf/ 目录(自己nginx安装的路径) ,刚编译好的nginx 在这个目录下是木有 vhost 目录的,创建好这个目录后,打开nginx.conf 文件,在 http 范围内添加 include vhost/*.conf,包含创建的虚拟主机配置文件,然后保存,创建虚拟目录共用的server文件,就是每个conf都会使用到的配置项,我们把他独立成一个模块供大家使用. server.conf文件: location ~ .*\.(php|php5

ubuntu快速配置apache虚拟主机方法详解

在ubuntu下,用apt-get install安装的apache,配置虚拟主机和平常在其它平台的不大一样 如果我想快速在本地建一个test.com的虚拟主机 下面是操作步骤: 1. 先绑定test.com到127.0.0.1  代码如下 复制代码 #vim /etc/hosts # 加上 127.0.0.1 test.com 2. 配置虚拟主机文件  代码如下 复制代码 #cd /etc/apache2/sites-available #vim test # 加上 <VirtualHost