Назад | Перейти на главную страницу

phpmyadmin запрещен в Nginx, но разрешен

Я не понимаю, почему вход в PHPmyadmin запрещен (http://my_ip/phpmyadmin). Вот что я сделал для его установки:

На чистой машине Ubuntu 16.04 (сервер, xenial) я установил LEMP с php-fpm 7.0. Конфигурация 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?

Обновление - общее:

Обновление для Дженни:

Я удалил символическую ссылку и добавил это conf внутри http блокировать в nginx.conf и перезапустил сервер, но изменений не видно:

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

Когда вы создаете символическую ссылку на каталог, вы говорите nginx, что «когда вам нужно использовать /var/www/html/phpmyadmin, вы должны вместо этого посмотреть на /usr/share/phpmyadmin/. И этот каталог не находится в вашем корневом каталоге, поэтому nginx не будет его использовать.

Вместо использования символической ссылки скажите nginx, чтобы он начал использовать этот каталог напрямую. Пример:

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

Это скажет nginx, что местоположение /phpmyadmin живет под /usr/share вместо под /var/www/html/.

Или, если /usr/ и /var/ файловые системы находятся в одном разделе, вы можете использовать жесткую ссылку вместо символической. Но это может вызвать у вас проблемы, если вы когда-нибудь измените расположение разделов.

Сообщение

индекс каталога "/ var / www / html / phpmyadmin /" запрещен

указывает, что nginx не может найти настроенный индексный документ, поэтому пытается перечислить файлы (что запрещено).

Проверьте свои index в вашей конфигурации nginx. Он должен содержать index.php для phpMyAdmin.

Пример:

index index.php index.html index.htm;