2016-09-21 91 views
0

所以我在我的Ubuntu系統上成功配置了Nginx。如何在Nginx上配置PHPMYadmin(Ubuntu 14.04)

並且還成功安裝了PHP和PHpMyadmin。但是,當我嘗試打開phpMyAdmin的登錄面板返回403禁止

我的Nginx服務器的配置看起來像這樣

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

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

    # Make site accessible from http://localhost/ 
    server_name localhost; 

    location/{ 
     try_files $uri $uri/ =404; 
    } 

    location = /phpmyadmin/ { 
     root /usr/share/phpmyadmin/; 
    } 

    location ~ .php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
       include fastcgi_params; 
     } 


    location ~ /\.ht { 
     deny all; 
    } 
} 

我配置phpMyAdmin的一部分這樣

location = /phpmyadmin/ { 
     root /usr/share/phpmyadmin/; 
    } 

可以在任何一個幫我設置

回答

0

這裏是正確的設置

#你可以在這裏你 #服務器{ #... #}# 報表爲每個虛擬主機添加到該文件

## 
# You should look at the following URL's in order to grasp a solid understanding 
# of Nginx configuration files in order to fully unleash the power of Nginx. 
# http://wiki.nginx.org/Pitfalls 
# http://wiki.nginx.org/QuickStart 
# http://wiki.nginx.org/Configuration 
# 
# Generally, you will want to move this file somewhere, and start with a clean 
# file but keep this around for reference. Or just disable in sites-enabled. 
# 
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. 
## 

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

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

    # Make site accessible from http://localhost/ 
    server_name localhost; 

    location/{ 
     # First attempt to serve request as file, then 
     # as directory, then fall back to displaying a 404. 
     try_files $uri $uri/ =404; 
     # Uncomment to enable naxsi on this location 
     # include /etc/nginx/naxsi.rules 
    } 


    # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests 
    #location /RequestDenied { 
    # proxy_pass http://127.0.0.1:8080;  
    #} 

    #error_page 404 /404.html; 

    # redirect server error pages to the static page /50x.html 
    # 
    #error_page 500 502 503 504 /50x.html; 
    #location = /50x.html { 
    # root /usr/share/nginx/html; 
    #} 

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
    # 

    location /phpmyadmin { 
       root /usr/share/; 
       index index.php index.html index.htm; 
       location ~ ^/phpmyadmin/(.+\.php)$ { 
         try_files $uri =404; 
         root /usr/share/; 
         fastcgi_pass unix:/var/run/php5-fpm.sock; # or 127.0.0.1:9000 
         fastcgi_index index.php; 
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
         include /etc/nginx/fastcgi_params; 
       } 
       location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { 
         root /usr/share/; 
       } 
     } 
     location /phpMyAdmin { 
       rewrite ^/* /phpmyadmin last; 
     } 

    location ~ .php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
       include fastcgi_params; 
     } 

    # deny access to .htaccess files, if Apache's document root 
    # concurs with nginx's one 
    # 
    location ~ /\.ht { 
     deny all; 
    } 
} 


# another virtual host using mix of IP-, name-, and port-based configuration 
# 
#server { 
# listen 8000; 
# listen somename:8080; 
# server_name somename alias another.alias; 
# root html; 
# index index.html index.htm; 
# 
# location/{ 
#  try_files $uri $uri/ =404; 
# } 
#} 


# HTTPS server 
# 
#server { 
# listen 443; 
# server_name localhost; 
# 
# root html; 
# index index.html index.htm; 
# 
# ssl on; 
# ssl_certificate cert.pem; 
# ssl_certificate_key cert.key; 
# 
# ssl_session_timeout 5m; 
# 
# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; 
# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; 
# ssl_prefer_server_ciphers on; 
# 
# location/{ 
#  try_files $uri $uri/ =404; 
# } 
#} 
0

1- 403誤差必須引起你​​的文件你正在訪問沒有適當的許可,給它。檢查錯誤日誌(如果還沒有,則需要切換error_log on)以確定哪些文件正在被訪問並引發錯誤。

2-將index.php定義爲您的index文件之一。

3-在index.php的location塊中添加try_files指令。

4-嘗試從phpmyadmin位置移除尾隨/,就像那樣。

嘗試下面的代碼,

server { 
    ... 
    index index.php index.html index.htm; 
    ... 
    location ~ /phpmyadmin { 
     root /usr/share/phpmyadmin/; 
     try_files $uri /index.php; 
    } 
} 

*上面的代碼沒有經過測試,嘗試檢查錯誤日誌中的任何錯誤的情況下。