LINUX.ORG.RU

nginx не открывает phppgadmin -403

 


0

1

Всем привет, 2 дня уже воюю и не могу разобраться: Есть связка nginx+apache2, nginx - прокси и отдает статику. OS: Debian 8. установил phppgadmin, настроил апач по одному из мануалов, при переходе по ссылке site.ru/phppgadmin все работает, кроме статики. Пробовал настроить nginx. Перепробовал всё, но то 404 ошибка, то 403, то 502, то еще что-нибудь. Перепробовал разные варианты конфигов, ни один не дал результата. Если в конфигах nginx не указывать на папку /phppgadmin, то отображается то что обработал apache. Конфиги: 1.nginx.conf

user  nginx;
worker_processes 3;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
#       use kqueue;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    # Директива задаёт таймаут при чтении заголовка запроса клиента
    client_header_timeout  3m;

    # Директива задаёт таймаут при чтении тела запроса клиента
    client_body_timeout    3m;
 # Директива задаёт таймаут при передаче ответа клиенту
    send_timeout           3m;

    # Директива задаёт таймаут, в течение которого keep-alive соединение с клие$
#    keepalive_timeout      2m;

    # Модуль позволяет описывать группы серверов, которые могут использоваться
    # в директивах proxy_pass и fastcgi_pass.
    upstream backend {
# Директива задаёт имя и параметры сервера. Обратите внимание, мы будем
    # использовать имя "backend" в директиве proxy_pass
    server 127.0.0.1:88;



 }


    sendfile        on;
#tcp_nopush     on;

    keepalive_timeout  65;

server {
 listen 80;
 server_name testing;
 charset utf-8;
  # Максимальный размер тела запроса клиента
    client_max_body_size 101M;
 # Разруливаем статику
     location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
                        root /var/www/;
                }

     location ~ /\.ht {
                        deny  all;
                }

location / {
                        proxy_pass http://backend/;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $remote_addr;
                        proxy_connect_timeout 120;
                        proxy_send_timeout    120;
                        proxy_read_timeout    180;
                }

location ^~ /phppgadmin {
                        root /usr/share/;
                        autoindex off;
#                       index index.html index.htm index.php;
#                       include fastcgi_params;
#                       fastcgi_pass 127.0.0.1:88;
#                       fastcgi_index index.php;
#                       fastcgi_param SCRIPT_FILENAME /usr/share$fastcgi_script$
        }
#       location ~ .php$ {
#                       fastcgi_pass 127.0.0.1:88;
#                       fastcgi_index index.php;
#                       include fastcgi_params;
#                       fastcgi_param SCRIPT_FILENAME /home/user/www/$fastcgi_s$
#        }

}
#gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

Права на каталог какие стоят ?
Обрати внимание, что nginx работает от юзера nginx.

Deleted ()
Ответ на: комментарий от Deleted

Поправил конфиг:

Поправил конфиг, вынес phppgadmin в отдельный файл в /conf.d/ Пробовал всех юзеров, даже рут - толку нет, разные ошибки: 500, 502, 400 В логах пишет что или нет папки или нет доступа, в зависимости от юзера.

файл phppgadmin.conf в папке /conf.d/:

server 
    {    
      listen 80;    
      server_name username.com www.username.com;    
      include /etc/nginx/proxy.conf;    

      location / {
              root /home/username/public_html;
              index   index.php index.html index.htm;    
              }    

      error_page 404 /404.php;    
      error_page 500 502 503 504  /50x.html;    

      location = /50x.html {        
              root /var/www/nginx-default;    
      }

      location ~ ^/phpmyadmin/ {        
              proxy_pass http://127.0.0.1:8080;    
      }    

      location ~ .php$ {
              proxy_pass http://127.0.0.1:8080;    
      }    

      location ~ /$ {        
              proxy_pass http://127.0.0.1:8080;    
      }    

      location ~ /.ht {        
              deny all;    
      }
      }

shevalex78 ()

NGINX + APACHE2 + PHPPGADMIN (PHPMYADMIN)

Плясал 3 дня с этой связкой (NGINX + APACHE2 + PHPPGADMIN (PHPMYADMIN)), в очередной раз ввел команду: chmod 775 -R /usr/share/dbmin/ и все заработало. рабочий конфиг (в папке conf.d):

server{
 location ^~ /dbmin/ {
            alias /usr/share/dbmin/;
            index index.php index.html;

    location ~ /dbmin(/.*\.php) {
                include fastcgi_params;
                fastcgi_param SERVER_NAME localhost;
                fastcgi_param SCRIPT_FILENAME /usr/share/dbmin$1;
                proxy_pass http://127.0.0.1:88;
#unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                }

shevalex78 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.