我创build了一个小脚本在我的服务器上添加网站,它看起来像这样:
#!/bin/bash echo "<VirtualHost *:80> ServerAdmin [email protected] ServerName $1 ServerAlias www.$1 DocumentRoot /var/www/$1/public_html ErrorLog ${APACHE_LOG_DIR}/error-$1.log CustomLog ${APACHE_LOG_DIR}/access-$1.log combined </VirtualHost>" > /etc/apache2/sites-available/$1.conf mkdir /var/www/$1 mkdir /var/www/$1/public_html/ a2ensite /etc/apache2/sites-available/$1.conf
这工作正常。
我可以运行这个脚本作为./newsite example.com ,我得到我的文件example.com.conf下sites-available和一切。 但是当我运行a2ensite ,我有以下错误:
ERROR: Site /etc/apache2/sites-available/example.com does not exist!
这很奇怪,因为即使在我仍然得到这个错误之前,我创build了一个名为example.com.conf的文件。
有任何想法吗? 这是一个错误?
PS:只要sudoers就可以运行这个脚本。
你得到这个错误,因为你a2ensite通过你的网站configuration的完整path。 a2ensite期望只有一个网站名称被传递:
a2ensite example.com