尽管允许,但 phpmyadmin 在 Nginx 中被禁止

尽管允许,但 phpmyadmin 在 Nginx 中被禁止

我不明白为什么禁止进入 PHPmyadmin ( http://my_ip/phpmyadmin)。以下是我安装它的步骤:

在纯 Ubuntu 16.04 机器(服务器,xenial)上,我安装了带有 php-fpm 7.0 的 LEMP。Nginx 配置是默认的:

apt-get update -y
apt-get upgrade nginx mysql-server php-fpm php-mysql -y

然后我安装了 PMA允许它:

DEBIAN_FRONTEND=noninteractive apt-get upgrade phpmyadmin php-mbstring php-mcrypt -y
ln -s /usr/share/phpmyadmin/ /var/www/html/
chown -R www-data:www-data /usr/share/phpmyadmin/ /var/www/html
chmod -R a-x,a=rX,u+w /usr/share/phpmyadmin/ /var/www/html

我真的不明白错误日志中出了什么问题:

“/var/www/html/phpmyadmin/” 目录索引被禁止

什么原因可能导致 PMA 被禁止?

更新-一般:

珍妮的最新消息:

我删除了符号链接并在http块中添加了这个配置nginx.conf,然后重新启动了服务器,但没有看到任何变化:

server {    
    location /phpmyadmin {
        index index.php index.html index.htm;
        root /usr/share;
    }
}

答案1

当您符号链接一个目录时,您就是在告诉 nginx,“当您需要使用时/var/www/html/phpmyadmin,您应该查看/usr/share/phpmyadmin/。并且该目录不在您的 webroot 目录下,因此 nginx 不会使用它。

不要使用符号链接,而是告诉 nginx 直接开始使用该目录。示例:

location /phpmyadmin {
     index index.php index.html index.htm;
     root /usr/share;
}

这将告诉 nginx 该位置/phpmyadmin位于 下/usr/share而不是 下/var/www/html/

或者,如果/usr//var/文件系统位于同一分区,您可以建立硬链接而不是符号链接。但是如果您更改分区布局,这可能会给您带来问题。

答案2

讯息

“/var/www/html/phpmyadmin/” 目录索引被禁止

表示 nginx 找不到配置的索引文档,因此它尝试列出文件(这是被禁止的)。

检查indexnginx 配置中的指令。它应该包含index.phpphpMyAdmin。

例子:

index index.php index.html index.htm;

相关内容