使用 apache 禁止 localhost/adminer 访问 (403)

使用 apache 禁止 localhost/adminer 访问 (403)

通过尝试让 adminer 在 archlinux 下运行,我遇到了这个问题。

当为管理员设置 apache 并使用 Firefox 或 Opera 调用 localhost/adminer 时,我收到代码 403(禁止访问)。在没有 apache 的情况下启动 adminer 时:

php -S localhost:8000 -t /usr/share/webapps/adminer/

使用 Firefox 调用 localhost/adminer 可以正常工作。 index.php 文件路径中的所有文件夹都具有读取和执行权限。仅存在一个具有读取权限“index.php”的文件。我的 ServerRoot“/srv/http/”的帐户相同,只是其中没有任何文件。

我的 apache 配置文件中一定有错误。

我的 apache 配置文件的相关部分是:

/etc/httpd/conf/httpd.conf:

ServerRoot "/etc/httpd"
Listen 80
...
User http
Group http
ServerAdmin [email protected]
ServerName localhost:80
<Directory />
    AllowOverride none
    Require all denied
</Directory>
DocumentRoot "/srv/http"
<Directory "/srv/http">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
...
Include conf/extra/httpd-adminer.conf
...

/etc/httpd/conf/extra/httpd-adminer.conf:

# vim: ft=apache

Alias /adminer "/usr/share/webapps/adminer"
<Directory "/usr/share/webapps/adminer">
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

我尝试在“http-adminer.conf”中使用没有别名行的符号链接,但没有成功。是的,我确保重新启动 apache 服务器。 (并且服务器正在运行,否则代码将是 404 而不是 403。)

我究竟做错了什么?

答案1

如果您只是从该 Web 服务器为管理员提供服务,请更改 Apache 为页面提供服务的根目录,如下所示:

DocumentRoot "/usr/share/webapps/adminer"

然后重新启动Apache服务。

答案2

始终使用 HTTPS 协议访问管理员。管理员开发人员禁用了 HTTP 访问,但不知何故忘记了一些消息,例如:“伙计,使用 HTTPS!”,...而不是选择在没有给出原因的情况下安静地死去。

相关内容