Como configurar o phpmyadmin com o nginx e acessá-lo em http: // vps-ip / phpmyadmin

5

Os arquivos phpmyadmin estão localizados aqui /usr/share/phpmyadmin/

E eu tenho este código de bloco de servidor que me permite acessar o phpmyadmin somente a partir de http://vps-ip/ :

server {
        listen 80; ## listen for ipv4; this line is default and implied
        #listen [::]:80 default ipv6only=on; ## listen for ipv6
        root /usr/share/phpmyadmin/;
        index index.php index.html index.htm;
        server_name ein;

        location / {
                root /usr/share/phpmyadmin/;
                index index index.php;
                try_files $uri/ $uri /index.php?q=$uri&amp&$args;
                port_in_redirect off;
        }

        location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
                access_log off;
                log_not_found off;
                expires max;
                root /usr/share/phpmyadmin/;
        }

        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                fastcgi_pass php;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param QUERY_STRING $query_string;
                fastcgi_param REQUEST_METHOD $request_method;
                fastcgi_param CONTENT_TYPE $content_type;
                fastcgi_param CONTENT_LENGTH $content_length;
                fastcgi_intercept_errors on;
                fastcgi_ignore_client_abort off;
                fastcgi_connect_timeout 60;
                fastcgi_send_timeout 360;
                fastcgi_read_timeout 360;
                fastcgi_buffer_size 128k;
                fastcgi_buffers 8 256k;
                fastcgi_busy_buffers_size 256k;
                fastcgi_temp_file_write_size 256k;
        }

        location ~ /.htaccess { deny all; log_not_found off; access_log off; }
        location ~ /.htpasswd { deny all; log_not_found off; access_log off; }
        location = /favicon.ico { allow all; log_not_found off; access_log off; }
        location = /robots.txt { allow all; log_not_found off; access_log off; }
}

Quais mudanças eu preciso fazer para acessar o phpmyadmin de http://vps-ip/phpmyadmin e acessar meu site em http://vps-ip/ ?

OK, encontrei a solução para isso:

location ^~ /phpmyadmin/ { 
    alias /usr/share/phpmyadmin/; 

    location ~ \.php$ { 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $request_filename; 
    fastcgi_pass php; 
    } 
}
    
por Danny 06.06.2012 / 23:11

2 respostas

3

O ato de fazer isso é chamado Aliasing, basicamente definindo algo para ir para outro lugar. Eu pessoalmente não tenho experiência com NGINX, mas de acordo com este post , você deve estar usando:

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

Espero que isso ajude. :)

    
por 07.06.2012 / 00:33
0

Você precisa alterar sua raiz. Agora você tem isso como root /usr/share/phpmyadmin/ . Isso significa que nginx acha que http://vps-ip/ deve ser exibido a partir de /usr/share/phpmyadmin/ . Os arquivos que você deseja compartilhar em http://vps-ip/ estão localizados em /usr/share/ ? (Isso parece um lugar muito estranho para eles, você provavelmente deveria fazer uma pasta para o seu site).

    
por 07.06.2012 / 02:23

Tags