a2ensite 不创建日志文件
a2ensite does not create log files
我有一个简单的 bash 脚本,它应该生成 Apache site.conf 文件,然后 运行 a2ensite site.name
一切正常,但 a2ensite 不会自动生成日志文件。然后当我 运行 sudo systemctl reload apache2
它抛出一个错误 Cannot access directory '/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
服务:
apachectl configtest
systemctl reload apache2
我有一个简单的 bash 脚本,它应该生成 Apache site.conf 文件,然后 运行 a2ensite site.name
一切正常,但 a2ensite 不会自动生成日志文件。然后当我 运行 sudo systemctl reload apache2
它抛出一个错误 Cannot access directory '/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
服务:
apachectl configtest
systemctl reload apache2