环境:Linux Apache2.2 (路径 /usr/local/apache)
步骤:
1. 修改 conf/httpd.conf,找到如下位置,去除 # 注释符
# Virtual hosts Include conf/extra/httpd-vhosts.conf
2.修改 conf/extra/httpd-vhosts.conf
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/usr/aa" ServerName ww.aa.com ServerAlias ww.aa.com ErrorLog "logs/ww.aa.com-error_log" CustomLog "logs/ww.aa.com-access_log" common </VirtualHost>
注意CustomLog这行,默认给的配置是:”logs/dummy-host.example.com-access_log common”
这个其实是错误的,Apache启动时候会报错,common这个应该放在双引号外面:
Syntax error on line 32 of /usr/local/apache/conf/extra/httpd-vhosts.conf: CustomLog takes two or three arguments, a file name, a custom log format string or format name, and an optional "env=" clause (see docs)
另外还有个问题,在Apache+Tomcat时候出现的,在配置好mod_jk之后,通过默认80端口访问jsp总会提示403禁止访问,纳闷了!后来 才发现是Directory配置问题,因为每个VirtualHost配置的目录不是默认的DocumentRoot目录,在Apache2以后对于权限 和安全有了更高的要求,所以必须手动配置下每个Directory属性。
<Directory "/usr/aa"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
OK,到这里虚拟主机部分已经配置完成!
补充一点,加上日志按天保存,避免一个巨大无比的文件!
CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/ww.aa.com-access-%y%m%d.log 86400 480 " combined