2014-11-01 13 views
5

Nginx e PHP5-FPM sono installati e in esecuzione bene ...Ubuntu 14 - Nginx - PHP5-FPM: phpMyAdmin installato ma Accesso negato 403

# posso accedere sia http://www.example.com e http://www.example.com/info.php

$ ls -la /var/www/html 
-rw-r--r-- 1 root root 868 Nov 1 08:16 index.html 
-rw-r--r-- 1 root root 21 Nov 1 08:13 info.php 

ho installato phpMyAdmin e ha creato un link simbolico ai file phpMyAdmin

lrwxrwxrwx 1 root root 21 Nov 1 08:37 phpmyadmin -> /usr/share/phpmyadmin 

ma cercando di ottenere http://www.example.com/phpmyadmin => ho un 403 Forbidden

utilizzando un link simbolico, non avrei dovuto aggiungere nulla relativo a phpmyadmin nel mio nginx.conf ... cosa potrebbe mancare?

Update 1: aggiungere index.php al uri porta il pannello di login

http://www.example.com/phpmyadmin/index.php 

cosa devo aggiungere al mio file con predefinito per arrivare direttamente ... Credo che il mio file prova non è valido. . qui è il mio difetto sito nginx con file di

server { 
     listen 80 default_server; 
     listen [::]:80 default_server ipv6only=on; 

     root /var/www/html; 
     index index.php, index.html index.htm; 

     server_name example.com; 

     location/{ 
      try_files $uri $uri/ index.html index.php =404; 
     } 

     error_page 404 /404.html; 
     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root /var/www/html; 
     } 

     location ~ \.php$ { 
      try_files $uri =404; 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      fastcgi_pass unix:/var/run/php5-fpm.sock; 
      fastcgi_index index.php; 
      include fastcgi_params; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     } 
    } 

risposta

0

qui ci sono un paio di cose che si potrebbe provare. Uno è la direttiva disable_symlinks:

location /phpmyadmin { 
    disable_symlinks off; 
} 

Un'altra opzione sarebbe quella di utilizzare un alias al posto di un link simbolico:

location /phpmyadmin { 
    alias /usr/share/phpmyadmin; 
} 
+0

grazie per il suggerimento, l'ho provato, bt ottengo sempre lo stesso errore nel registro: indice della directory di "/ var/www/html/phpmyadmin /" è vietato, ... – erwin

+0

Hai indice index.php? 'nel tuo blocco del server? –

+0

Se richiedo http://www.example.com/phpmyadmin/index.php POI ottengo il pannello di login ... Ho root/var/www/html; indice index.php, index.html index.htm; nel mio blocco server ... – erwin

8

è in esecuzione bene dopo l'aggiunta del seguente percorso:

 location /phpmyadmin { 
     index index.php; 
    } 
3

I hanno aggiunto:

location /pma/ { 
    alias /usr/share/phpmyadmin/; 

    index index.html index.htm index.php; 

    location ~ ^/pma(.+\.php)$ { 
     alias /usr/share/phpmyadmin$1; 
     fastcgi_pass unix:/var/run/php5-fpm.sock; #OR fastcgi_pass 127.0.0.1:9000; 
     fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$1; 
     include fastcgi_params; 
     fastcgi_intercept_errors  on; 
    } 
} 

Così, quando l'utente accede alla directory /pma/, viene indirizzato allo /usr/share/phpmyadmin, un'opzione leggermente più sicura! Come in precedenza avevo anche l'errore 403!

Ma la correzione principale per l'errore 403 è in realtà l'attuazione della linea di:

index index.html index.htm index.php; 
+0

invece di "location/pma /" cambia in "location/pma" quindi non c'è bisogno di "/". Ti fa solo confondere quando digiti url nel browser ... grazie .. –

+0

questo ha funzionato per me ma solo dopo aver svuotato la cache del browser –

0

perdono la virgola e che stai bene

index index.php, index.html index.htm; 
5

Questa è la mia soluzione per questo problema :

Passaggio 1: Si dovrebbe SSH ed eseguire il comando

sudo nano /etc/nginx/sites-available/default 

Fase 2: trovare il codice di blocco

server { 
    .... 
} 

e quindi inserire prima "}" del blocco del server

location /phpmyadmin { 
      index index.php; 
    } 

Assomiglia questo

server{ 
     ...(your default)... 
     location /phpmyadmin { 
       index index.php; 
     } 
} 

Spero che questo sia tuo!