Задать вопрос
@yagyar001

Почему не могу зайти в phpmyadmin, 404 Not Found?

Всем привет. Я в сервере вообще ничего не понимаю, все делал по инструкциям из интернета. В общем у меня есть сервер, запущен, работает, nginx. Установил phpmyadmin, вроде все настроил, ошибок нет, но все равно получаю ошибку
404 Not Found
nginx/1.24.0 (Ubuntu)

Что я сделал не так или может что то не сделал совсем?
server {
    listen 443 ssl;
    server_name boostbid.ru www.boostbid.ru;

    ssl_certificate /etc/letsencrypt/live/boostbid.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/boostbid.ru/privkey.pem; # managed by Certbot

    root /var/www/boostbid.ru;
    index index.html;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://localhost:3000; # Если используется прокси
    }

        location /phpmyadmin {
        root /usr/share/;
        index index.php;
    
        location ~ ^/phpmyadmin/(.+\.php)$ {
            root /usr/share/phpmyadmin;
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.3-fpm.sock; # Укажите правильный путь к сокету PHP-FPM
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ ^/phpmyadmin/(.+\.css|.+\.js|.+\.png|.+\.jpg|.+\.gif|.+\.ico|.+\.woff2?)$ {
            root /usr/share/phpmyadmin;
        }
    }
}

server {
    if ($host = boostbid.ru) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name boostbid.ru;
    return 301 https://$host$request_uri; # Перенаправление HTTP на HTTPS
}
  • Вопрос задан
  • 686 просмотров
Подписаться 2 Простой 16 комментариев
Решения вопроса 1
@dodo512
location ~ ^/phpmyadmin/(.+\.php)$ {
    root /usr/share/phpmyadmin;

Путь к файлу формируется путём простого добавления URI к значению директивы root.

URI = /phpmyadmin/index.php
root = /usr/share/phpmyadmin

В итоге nginx будет искать файл /usr/share/phpmyadmin/phpmyadmin/index.php

Если в root убрать лишний /phpmyadmin.

location ~ ^/phpmyadmin/(.+\.php)$ {
    root /usr/share;

nginx будет искать файл /usr/share/phpmyadmin/index.php
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы