1

我遇到了一个以前从未遇到过的奇怪问题。我刚刚安装了 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 中显示任何内容。任何帮助或指导将不胜感激。谢谢。

4

1 回答 1

1

最后我联系了这个 Linux 供应商,结果发现这个特定的 Linux 版本是内置的,Apache 授权无法关闭,所以除了删除 apache 包并替换它们之外,没有任何方法可以关闭它与其他人。

于 2012-10-03T08:07:37.443 回答