发一个自动新建、修改虚拟主机的shell脚本

 今天重新弄了下自助建站的虚拟主机管理程序,服务器ubuntu 10.04 server 64位,安装apache+php+mysql

写了个脚本,给php调用,在新建用户账号、修改或绑定域名时起执行的,运用了apache 的reload,添加虚拟主机免重启方案!

然后就是用visudo给apache的用户www-data授权,允许用root身份执行这个脚本及/etc/init.d/apache2 二条命令。

这样web就可以执行新建及修改虚拟主机的操作了,但是目前还是不太安全的,www-data有关闭和启动apache的权限,下次找个时间,重新写个apache2的reload专用脚本。不使用/etc/init.d/apache2脚本。!

Ruby代码
  1. #!/bin/sh   
  2. FILENAME=/etc/apache2/sites-enabled/$1  
  3. if [ $1 = "diyweb" ] ; then  
  4.         echo ‘error ,diyweb is system user!’;   
  5. elif [ $1 = ‘000-default’ ] ; then  
  6.         echo ‘error ,000-default is sysytem user’;   
  7. else  
  8. if [ -f $FILENAME ]; then  
  9.         echo ‘Del old file’;   
  10.         rm -rf $FILENAME  
  11.         echo ‘Update user’  
  12. else  
  13.         echo ‘Add user’  
  14. fi   
  15.         echo "<VirtualHost *:80>\nServerName $1.ye55.net \nServerAlias $1.armos.cn $2 \nDocumentRoot \"/home/web/diyweb/company/$1\"\n</VirtualHost>" >> $FILENAME  
  16.         sed ‘s/@/ /g’ $FILENAME -i   
  17.         echo ‘Success’  
  18.         /etc/init.d/apache2 reload   
  19. fi