LINUX.ORG.RU

«Виртуальный хост» nginx + phppgadmin

 


0

2

На одном виртуальном хосте в nginx, хочу прикрутить nextcloud + phppgadmin, но в результате по урл /dbmin 404 Not Found, главный домен работает. Как я понимаю причина в определении директорий $document_root. Указывать в location root/alias, не помогает, идеи кончились...

Блок server

# #---Настройки сервера---# #
server{
    # Название сайта
    server_name ***.xyz www.***.xyz;
    # Порт
    listen 80;
    # Логгирование
    access_log off;

    # #---Настройка страниц сайта---# #
    # Директория сервера
    root /usr/share/nginx/nextcloud/;
    # Обработка файлов
    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    # #---Подключение PhpPgAdmin---# #
    location ~ /dbmin(/.*\.php) {
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fastcgi_param SCRIPT_FILENAME /usr/share/nginx/phppgadmin/$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }
}

Подкиньте пару идей где может быть ошибка, а то уже не могу «трезво» думать, может со стороны будет лучше видно. Заранее спасибо, всем добра!)

Ответ на: комментарий от anonymous

По теме сабжа: У меня проблема в том, что http://site.com (на котором висит nextcloud) открывается, а http://site.com/dbmin (где должен крутиться phppgadmin/adminer) выдает 404 not found. Мне бы с этим разобраться.

По поводу Adminer: А там ссылка битая, скачать его не могу, что бы посмотреть. Что в ауре, что с сайта :( https://github.com/vrana/adminer/releases/download/v4.7.1/adminer-4.7.1.php

Правка: или это он и есть в одном файле? походу, затупил, прошу прощения.

flappyright ()
Последнее исправление: flappyright (всего исправлений: 1)
Ответ на: комментарий от mandala

У меня вообще «овно и палки». Nginx от http стартует.

ls -la /usr/share/webapps

...
drwxr-xr-x  13 root http 4096 фев 23 19:41 nextcloud
drwxr-xr-x  13 root http 4096 фев 23 19:41 phppgadmin
...

ls -la /usr/share/nginx

...
lrwxrwxrwx   1 root root   28 фев 23 19:42 nextcloud -> /usr/share/webapps/nextcloud
lrwxrwxrwx   1 root root   29 фев 23 19:42 phppgadmin -> /usr/share/webapps/phppgadmin
...

Nextcloud при этом работает нормально... Пробовал location в location запихнуть, проблема осталась.

# #---Настройки сервера---# #
server{
    # Название сайта
    server_name ***.xyz www.***.xyz;
    # Порт
    listen 80;
    # Логгирование
    access_log off;

    # #---Настройка страниц сайта---# #
    location / {
        # Директория сервера
        root /usr/share/nginx/nextcloud/;

        # Обработка файлов
        location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param HTTPS on;
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_intercept_errors on;
            fastcgi_request_buffering off;
        }
    }

    # #---Подключение PhpPgAdmin---# #
    location /dbmin {
        root /usr/share/nginx/phppgadmin;

        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            #fastcgi_param SCRIPT_FILENAME /usr/share/nginx/phppgadmin/$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param HTTPS on;
            fastcgi_param modHeadersAvailable true;
            fastcgi_param front_controller_active true;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_intercept_errors on;
            fastcgi_request_buffering off;
        }
    }
Nextcloud работает, phppgadmin - 404 Not found.

flappyright ()
Последнее исправление: flappyright (всего исправлений: 1)
Ответ на: комментарий от flappyright

ls -la /usr/share/webapps

А ты делаешь location ~

Он ищет phppgadmin внутри директории /usr/share/nginx/nextcloud/, она же root

Положи её внутрь и пропиши location ~/phppgadmin и т.д.

Понял где косяк?

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 1)