编写安装配置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="/usr/local/apache/bin/apachectl"
rootdir="/www"
mkdir -p $rootdir
grep "vhost" $conf | grep "#" &> /dev/null
if [ $? -eq 0 ]; then
vhost=$(grep "vhost" $conf | sed "s/#//")
sed -i '/vhost/ d' $conf &> /dev/null
echo "$vhost" >> $conf
echo "NameVirtualHost *:80" > $vhostconf
echo "<Directory $rootdir>
order allow,deny
allow from all
</Directory>">> $vhostconf
fi
while true
do
read -p "hostname of FDQN:" fdqn
read -p "directory of website:" sitedir
mkdir -p $rootdir/$sitedir/html
mkdir -p $rootdir/$sitedir/logs
domain=$(echo $fdqn | awk -F. '{print $2"."$3}')
echo "<VirtualHost *:80>
ServerAdmin admin@$domain
DocumentRoot $rootdir/$sitedir/html
ServerName $fdqn
ErrorLog $rootdir/$sitedir/logs/error_log
CustomLog $rootdir/$sitedir/logs/access_log common
</VirtualHost>" >> $vhostconf
read -p "continue to do?(yes/no)" yn
if [ $yn = no ];then
$bin start &> /dev/null
exit 0
fi
done