我尝试在centos 6 / apache 2.2上启动httpd,但出现以下错误:
/etc/init.d/httpd start Starting httpd: [Sun Nov 08 20:47:36 2015] [warn] module php5_module is already loaded, skipping Syntax error on line 5 of /etc/httpd/conf/extra/httpd-directories.conf: Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration [FAILED]
search后,我发现一些解决scheme,如改变
Order deny,allow Deny from all
至
Require all denied
但是这是为Apache 2.4,我正在运行2.2
有点卡在这里,所有的网站都倒闭了。 有人可以帮我吗?
编辑:
这是我的httpd-directories.conf文件:
<Directory /> Options SymLinksIfOwnerMatch AllowOverride None Order Deny,Allow Deny from All </Directory> <Directory /home> AllowOverride AuthConfig FileInfo Indexes Limit Options=Includes,IncludesNOEXEC,Indexes,ExecCGI,MultiViews,SymLinksIfOwnerMatch,None Options IncludesNoExec Includes SymLinksIfOwnerMatch ExecCGI <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS PROPFIND> Order deny,allow Deny from all </LimitExcept> </Directory> <Directory /var/www/html> Options SymLinksIfOwnerMatch AllowOverride AuthConfig FileInfo Indexes Limit Options=Includes,IncludesNOEXEC,Indexes,ExecCGI,MultiViews,SymLinksIfOwnerMatch,None Order allow,deny Allow from all <IfModule mod_suphp.c> suPHP_Engine On suPHP_UserGroup webapps webapps SetEnv PHP_INI_SCAN_DIR </IfModule> </Directory> <Directory /var/www/cgi-bin> AllowOverride None Options None Order allow,deny Allow from all </Directory>
看起来你缺lessauthz_host模块,确保你的/etc/httpd/conf/httpd.conf文件有一行
LoadModule authz_host_module modules/mod_authz_host.so
在里面。 如果我从我的httpd.conf中注释掉这行,那么你会看到同样的错误。
一些未经考验的想法:
开标签中的/是否应该引用?
<Directory "/">
此外,该文档显示拒绝和允许指令的小写。
Order deny,allow
例:
<Directory "/"> Options SymLinksIfOwnerMatch AllowOverride None Order deny,allow Deny from All </Directory>