Jak*_*son 6 httpd logging centos apache-2.2
每当我们在开发服务器上创建新的虚拟主机时,我们总是必须手动指定单独的访问和错误日志:
ErrorLog logs/mysite/dev1-error.log
CustomLog logs/mysite/dev1-access.log "common"
Run Code Online (Sandbox Code Playgroud)
有没有办法让 Apache 自动拆分日志,而不必每次都指定它们?
我感受到你的痛苦,作为一名 Web 开发人员,我的本地开发人员中可能有超过 200 个虚拟主机 - 我个人不关心日志并将它们全部记录到主 /var/log/apache...
然而,我所做的是编写一个 shell 脚本来添加/管理我的所有虚拟主机 - 您需要做的就是调整它以将日志写入您喜欢的任何地方......
#!/bin/bash
ARGS=1
if [ "$1"X = "X" ];
then
echo "Must enter domain name"
exit 0
fi
if [ "$2"X = "X" ];
then
echo "Must enter domain suffix"
exit 0
fi
if [ "$3"X = "X" ];
then
echo "you must type "restart" if you want apache restarted "no" if not!"
exit 0
fi
domain=$1.$2;
#echo $domain;
#exit 0
rm $domain.conf
echo "<VirtualHost *:80>" >> $domain.conf;
echo " ServerAdmin no-reply@network.local" >> $domain.conf;
echo " ServerName $1.network.local" >> $domain.conf;
echo " DocumentRoot /Data/vhome/$1.$2/httpdocs" >> $domain.conf;
echo " HostnameLookups Off" >> $domain.conf;
echo " UseCanonicalName Off" >> $domain.conf;
echo " ServerSignature On" >> $domain.conf;
echo " ScriptAlias /cgi-bin/ "/Data/vhome/$1.$2/cgi-bin/"" >> $domain.conf;
echo " ErrorLog /var/log/apache2/error_log" >> $domain.conf;
echo " CustomLog /var/log/apache2/access_log combined" >> $domain.conf;
echo " <Directory "/Data/vhome/$1.$2/cgi-bin">" >> $domain.conf;
echo " AllowOverride All" >> $domain.conf;
echo " Options +ExecCGI -Includes" >> $domain.conf;
echo " Order allow,deny" >> $domain.conf;
echo " Allow from all" >> $domain.conf;
echo " </Directory>" >> $domain.conf;
echo " <Directory "/Data/vhome/$1.$2/httpdocs">" >> $domain.conf;
echo " Options Indexes FollowSymLinks" >> $domain.conf;
echo " AllowOverride All" >> $domain.conf;
echo " Order allow,deny" >> $domain.conf;
echo " Allow from all" >> $domain.conf;
echo " </Directory>" >> $domain.conf;
echo " # #XSS prevention" >> $domain.conf;
echo " # RewriteEngine On" >> $domain.conf;
echo " # RewriteCond %(REQUEST_METHOD) ^TRACE" >> $domain.conf;
echo " # RewriteRule .* -[F]" >> $domain.conf;
echo "</VirtualHost>" >> $domain.conf;
if [ "$3" = "restart" ];
then
rcapache2 restart;
fi
chmod 666 $domain.conf
cat $domain.conf
echo "Created!";
exit 0
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
-肖恩
| 归档时间: |
|
| 查看次数: |
4432 次 |
| 最近记录: |