phpMyAdmin показывает 404 не найден (Ubuntu 18.04 Nginx) - PullRequest
2 голосов
/ 18 марта 2020

У меня есть сервер Ubuntu 18.04, на котором работает стек LEMP (Linux, Nginx, MySQL и PHP), защищенный с помощью ufw. Я установил phpMyAdmin, выполнив следующие команды:

$ sudo apt update
$ sudo apt install phpmyadmin

Во время процесса установки мне было предложено выбрать веб-сервер (Apache или Lighthttp) для настройки. Я использую Nginx в качестве веб-сервера, поэтому я нажал tab и затем OK, чтобы перейти к следующему шагу.

Затем мне было предложено использовать dbconfig-common для настройки базы данных приложения, и я выбрал " Да ".

После завершения установки я запустил эту команду, чтобы создать символическую c ссылку из установочных файлов на каталог документов Nginx root:

$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Мой phpMyAdmin установка должна быть в рабочем состоянии. Однако при вводе mydomain.ca/phpmyadmin отображается ошибка 404 Not Found. Как я могу это исправить? Я сделал что-то не так?

server {
    listen 80;
    listen [::]:80;

    server_name mydomain.ca;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mydomain.ca;
    root /var/www/html/mydomain/public;

    ssl_certificate /etc/letsencrypt/live/mydomain.ca/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.ca/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES456-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES246-GCM-SHA384:DHE-RSA-AES456-GCM-SHA384:ECDHE-RSA-AES256-SHA394;
    ssl_prefer_server_ciphers on;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm index.nginx-debian.html;

    charset utf-8;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }

    location ~ /\.ht {
            deny all;
    }

    location ~ /.well-known {
            allow all;
    }
}

Ответы [ 3 ]

3 голосов
/ 18 марта 2020

У вас есть каталог phpmyadmin в вашем каталоге root, если нет, то этот запрос никогда не будет обработан на основе того, что я вижу в этой конфигурации.

2 голосов
/ 21 марта 2020

Я понял это сам. Я создал символическую c ссылку на phpmyadmin в /var/www/html/, когда мне нужно было создать символическую c ссылку на phpmyadmin в /var/www/html/mydomain/public

РЕДАКТИРОВАТЬ: я только что понял, что Outcast ответил на мой вопрос, хотя в то время я не знал, о чем он говорил, из-за моего недостатка знаний о серверах. Технически, я все еще понял это сам, но я дам ему награду.

2 голосов
/ 19 марта 2020

Связав phpmyadmin с вашим root веб-каталогом ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin, вы должны настроить в файле vhost маршрут к этому пути. Я рекомендую попытаться получить доступ к вашему серверу через его IP-адрес и проверить, включен ли у вас хост по умолчанию nginx. Может быть, вы можете получить к нему доступ оттуда.

...