我遇到了一个以前从未遇到过的奇怪问题。我刚刚安装了 Linux(它是一个鲜为人知的基于 Ubuntu 的 linux 版本,用于一个狭窄的行业领域,我希望它本身并不重要)。我已经安装了 Apache。每次我试图打开
http://localhost
(本地)我得到 401 Authorization required 响应。
我的 /etc/apache2/sites-enabled/000-default 是:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order Allow,Deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
/var/www 目录不包含任何 .htaccess 文件。/etc/apache2/apache2.conf 配置文件不包含任何包含文本“auth”的内容。
/var/www 的文件权限是:drwxrwxrwx,root:www(所有者用户 - root,组 www)。apache 用户“www-data”是组“www”的成员。索引文件 /var/www/index.html 具有相同的权限。
/etc/apache2/mods-enabled/ 的内容如下:
alias.conf authz_user.load dir.load php5.load
alias.load autoindex.conf env.load setenvif.conf
auth_basic.load autoindex.load mime.conf setenvif.load
authn_file.load cgi.load mime.load status.conf
authz_default.load deflate.conf negotiation.conf status.load
authz_groupfile.load deflate.load negotiation.load
authz_host.load dir.conf php5.conf
内置模块(/usr/sbin/apache2 -l):
core.c
mod_authn_pam.c
mod_auth_basic.c
mod_log_config.c
mod_logio.c
prefork.c
http_core.c
mod_so.c
有趣的是,如果我添加以下行:
Satisfy Any
到 /etc/apache2/sites-enabled/000-default 文件中的 <Directory /> 部分,每个请求都会在 Apache 的错误日志中生成以下错误:
[Mon Oct 01 12:34:59 2012] [notice] child pid 4445 exit signal Segmentation fault (11)
Apache什么也不返回,只是关闭了连接。
我完全迷失了,是什么让 Apache 要求授权,甚至不知道如何调试它。为日志文件启用调试级别不会在 access.log 和 error.log 中显示任何内容。任何帮助或指导将不胜感激。谢谢。