jiaob
2016-07-19 19:14
429 查看
写一个脚本,批量生成10个虚拟主机配置:
/etc/httpd/conf.d/vhosts#.conf
主机名:www#
目录:/data/vhosts/www#
访问日志:logs/www#-access_log
接受命令行参数,作为命令和主机名传递;
使用函数:
列出:list [-a|vhost_name]
创建:create vhost_name
删除:delete [-a|vhost_name]
#!/bin/bash
IP=$(ifconfig | head -n 3 | grep "inet addr" | awk -F: '{printf $2}' |awk '{printf $1}')
cp /etc/httpd/conf/httpd.conf{,.bak}
sed -i "s@.*\<NameVirtualHost\>.*@NameVirtualHost $IP:80@:" /etc/httpd/conf/httpd.conf
Virtualhost () {
echo "<VirtualHost $IP:80>" > /etc/httpd/conf.d/vhost$1.conf
echo -e "\tSerName www$1.magedu.com" >> /etc/httpd/conf.d/vhost$1.conf
echo -e "\tDocumentRoot /data/vhost/www$1" >> /etc/httpd/conf.d/vhost$1.conf
echo "<VirtualHost>" >> /etc/httpd/conf.d/vhost$1.conf
}
Hostfile () {
mkdir -p /data/vhost/www$1
touch /data/vhost/www$1/index.html
echo "www$1" > /data/vhost/www$1/index.html
}
function del_vhost {
if [ -e "/etc/httpd/conf.d/vhost$1.conf" ]
then
rm -f /etc/httpd/conf.d/vhost$1.conf
else
echo "vhost$1 is not exist."
exit 3;
fi
}
function cur_vhost {
j=0;
if [ $i == "/etc/httpd/conf.d/welcome.conf" -o $i == "/etc/httpd/conf.d/ssl.conf" -o $i == "/etc/httpd/conf.d/manual.conf" ]
then
continue
else
vhosts[$j]=$i
fi
let j++
vhosts_length=${#vhosts[*]}
if [ $vhosts_length -eq 0 ]
then
echo -e "\033[31mNo vhost now!\033[0m"
else
echo "current vhost display:"
for((i=0;i<${#vhosts[*]};i++));
do
echo -n -e "\033[32m`vhost ${vhosts[i]}`\033[0m "
done
echo
fi
}
for i in `seq 1 $1 ` ;do
if [ -e /etc/httpd/conf.d/vhost$1.conf ];
then function del_vhost $1
else
Virtualhost $i
Hostfile $i
fi
done
echo "virtualhost has ssetup "
for i in `ls /etc/httpd/conf.d/*.conf` ;do
function cur_vhost
done
/etc/httpd/conf.d/vhosts#.conf
主机名:www#
目录:/data/vhosts/www#
访问日志:logs/www#-access_log
接受命令行参数,作为命令和主机名传递;
使用函数:
列出:list [-a|vhost_name]
创建:create vhost_name
删除:delete [-a|vhost_name]
#!/bin/bash
IP=$(ifconfig | head -n 3 | grep "inet addr" | awk -F: '{printf $2}' |awk '{printf $1}')
cp /etc/httpd/conf/httpd.conf{,.bak}
sed -i "s@.*\<NameVirtualHost\>.*@NameVirtualHost $IP:80@:" /etc/httpd/conf/httpd.conf
Virtualhost () {
echo "<VirtualHost $IP:80>" > /etc/httpd/conf.d/vhost$1.conf
echo -e "\tSerName www$1.magedu.com" >> /etc/httpd/conf.d/vhost$1.conf
echo -e "\tDocumentRoot /data/vhost/www$1" >> /etc/httpd/conf.d/vhost$1.conf
echo "<VirtualHost>" >> /etc/httpd/conf.d/vhost$1.conf
}
Hostfile () {
mkdir -p /data/vhost/www$1
touch /data/vhost/www$1/index.html
echo "www$1" > /data/vhost/www$1/index.html
}
function del_vhost {
if [ -e "/etc/httpd/conf.d/vhost$1.conf" ]
then
rm -f /etc/httpd/conf.d/vhost$1.conf
else
echo "vhost$1 is not exist."
exit 3;
fi
}
function cur_vhost {
j=0;
if [ $i == "/etc/httpd/conf.d/welcome.conf" -o $i == "/etc/httpd/conf.d/ssl.conf" -o $i == "/etc/httpd/conf.d/manual.conf" ]
then
continue
else
vhosts[$j]=$i
fi
let j++
vhosts_length=${#vhosts[*]}
if [ $vhosts_length -eq 0 ]
then
echo -e "\033[31mNo vhost now!\033[0m"
else
echo "current vhost display:"
for((i=0;i<${#vhosts[*]};i++));
do
echo -n -e "\033[32m`vhost ${vhosts[i]}`\033[0m "
done
echo
fi
}
for i in `seq 1 $1 ` ;do
if [ -e /etc/httpd/conf.d/vhost$1.conf ];
then function del_vhost $1
else
Virtualhost $i
Hostfile $i
fi
done
echo "virtualhost has ssetup "
for i in `ls /etc/httpd/conf.d/*.conf` ;do
function cur_vhost
done
相关文章推荐
- jQuery 之 删除元素(九)
- 整棵树上节点间的最大距离
- 杭电OJ2024-C语言合法标识符
- Microsoft EDP(enterprise database protection)选择应用程序在哪里可以访问企业数据
- spring官网下载相关的文档方法
- 二叉树中和为某一值的路径
- 今日首发
- UOJ 218 火车管理
- .Net中的加密解密
- git快速入门(五)远程仓库以及如何使用github
- 接口
- 行百里者半九十,华为开发者大赛各参赛团队渐入佳境
- 程序员的10句跟字面意思完全不同的常用语
- UVA 202 Repeating Decimals
- 动态规划(5)求数组中最长递增子序列
- 2016年7月19日考试总结
- python3的迭代器和生成器
- 文本处理
- 山东理工OJ 1960 共用体练习
- sqlplus用法总结