Bash a2ensite不创建日志文件

Bash a2ensite不创建日志文件,bash,apache2,Bash,Apache2,我有一个简单的bash脚本,它应该生成apachesite.conf文件,然后运行a2ensite site.name 一切正常,但a2ensite不会自动生成日志文件。然后,当我运行sudo systemctl reload apache2时,它会向我抛出一个错误,即无法访问目录“/var/log/apache2/www/site.name/”,Bash文件如下所示: #!/bin/bash read -p 'Write url without www and http prefixes:

我有一个简单的bash脚本,它应该生成apachesite.conf文件,然后运行a2ensite site.name 一切正常,但a2ensite不会自动生成日志文件。然后,当我运行sudo systemctl reload apache2时,它会向我抛出一个错误,即无法访问目录“/var/log/apache2/www/site.name/”,Bash文件如下所示:

#!/bin/bash

read -p 'Write url without www and http prefixes: ' url

template=$(</home/Camo/custom-scripts/apache/site-template.conf)
# Next line is string substitution
template=("${template//__URL__/$url}")

configFile=${url}'.conf'
configDirPath="/etc/apache2/sites-available/"
wwwDirPath="/var/www/html/$url"

mkdir $wwwDirPath
chown -R www-data:www-data $wwwDirPath
chmod 644 -R $wwwDirPath 

echo "$template" > $configDirPath$configFile

sudo a2ensite ${configFile}
sudo systemctl reload apache2
下面是由上一个脚本创建的site.cong文件

<VirtualHost *:80>
        ServerAdmin xxxxx.xxxxx@gmail.com
        ServerName camo.publicvm.com

        ErrorLog ${APACHE_LOG_DIR}/www/camo.publicvm.com/error.log
        CustomLog ${APACHE_LOG_DIR}/www/camo.publicvm.com/access.log combined

        DocumentRoot /var/www/html/camo.publicvm.com
        <Directory /var/www/html/camo.publicvm.com/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                Require all granted
        </Directory>
</VirtualHost>

看起来一切正常,为什么日志文件丢失了?感谢您的帮助。

日志文件不是自动生成的,因此您必须手动创建它们:

touch ${APACHE_LOG_DIR}/www/camo.publicvm.com/error.log
touch ${APACHE_LOG_DIR}/www/camo.publicvm.com/access.log
不要忘记更改其所有权:

chown root.adm ${APACHE_LOG_DIR}/www/camo.publicvm.com/error.log
chown root.adm ${APACHE_LOG_DIR}/www/camo.publicvm.com/access.log
然后检查一切是否正常,如果正常,请重新加载apache2服务:


日志文件不是自动生成的吗?是的,我想apache会自动生成它。但是没有。。。。
apachectl configtest
systemctl reload apache2