У меня есть сервер Ubuntu 18.04, на котором запущен стек LEMP (Linux, Nginx, MySQL и PHP), защищенный с помощью ufw. Я установил phpMyAdmin, выполнив следующие команды:
$ sudo apt update
$ sudo apt install phpmyadmin
В процессе установки мне было предложено выбрать веб-сервер (Apache или Lighthttp) для настройки. Я использую Nginx в качестве веб-сервера, поэтому я нажал вкладку, а затем ОК, чтобы перейти к следующему шагу.
Затем меня спросили, использовать ли dbconfig-common для настройки базы данных приложения, и я выбрал «Да».
После завершения установки я выполнил эту команду, чтобы создать символическую ссылку из установочных файлов на корневой каталог документов Nginx:
$ 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;
}
}
У вас есть каталог phpmyadmin в вашем корневом каталоге, если нет, этот запрос никогда не будет обработан в зависимости от того, что я вижу в этой конфигурации.
Да, в моем корневом каталоге есть phpMyAdmin, и я также создал символическую ссылку. — person Jake Scervino; 19.03.2020
Нужно ли мне что-то добавить в мой файл конфигурации, чтобы phpMyAdmin заработал? — person Jake Scervino; 19.03.2020
Как вы ее решили? @JakeScervino — person Jake Scervino; 15.06.2021
Связав phpmyadmin с корневым веб-каталогом
ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
, вы должны настроить в файле vhost маршрут к этому пути. Я рекомендую попытаться получить доступ к вашему серверу через его IP-адрес и проверить, включен ли у вас хост nginx по умолчанию. Может быть, ты сможешь получить к нему доступ оттуда.Я бы создал еще один файл vhost и указал / location на / var / www /, а затем связал phpmyadmin, как я сказал ранее. — person Jake Scervino; 20.03.2020
Я сам разобрался. Я создал символическую ссылку на phpmyadmin в
/var/www/html/
, когда мне нужно было создать символическую ссылку на phpmyadmin в/var/www/html/mydomain/public
РЕДАКТИРОВАТЬ: я только что понял, что Outcast ответил на мой вопрос, хотя в то время я не знал, о чем он говорит, должным образом к моему незнанию серверов. Технически я еще разобрался сам, но награду за него.