web-dev-qa-db-ja.com

Ubuntu 14-Nginx-PHP5-fpm:phpmyadminがインストールされていますが、403はアクセスを禁止されています

NginxとPHP5-FPMがインストールされ、正常に実行されています...

#私は http://www.example.comhttp://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

Phpmyadminをインストールし、phpmyadminファイルへのシンボリックリンクを作成しました

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

しかし、取得しようとすると http://www.example.com/phpmyadmin => 403Forbiddenを取得します

シンボリックリンクを使用すると、phpmyadminに関連するものをnginx.confに追加する必要はありません...何が欠けている可能性がありますか?

アップデート1:uriにindex.phpを追加すると、ログインパネルが表示されます

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

直接取得するには、デフォルトのconファイルに何を追加する必要がありますか... tryファイルが無効だと思います..これがデフォルトのnginxサイトのconファイルです

    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;
        }
    }
6
user762579

次の場所を追加すると、正常に実行されます。

     location /phpmyadmin {
       index index.php;
    }
8
user762579

これがこの問題の私の解決策です。

ステップ1:SSHでコマンドを実行する必要があります

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

ステップ2:ブロックコードを見つける

server {
  ....
}

次に、サーバーブロックの「}」の前に挿入します

    location /phpmyadmin {
            index index.php;
    }

こんな感じ

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

これがあなたのものであることを願っています!

6
Vo Quoc Cuong

私が追加しました:

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;
    }
}

そのため、ユーザーがディレクトリ/pma/にアクセスすると、/usr/share/phpmyadminに移動します。これも少し「安全」なオプションです。以前と同じように、私も403エラーが発生していました。

しかし、403エラーの主な修正は、実際には次の行を実装することです。

index index.html index.htm index.php;
3
maxisme

ここにあなたが試すことができるいくつかのことがあります。 1つは disable_symlinks ディレクティブ:

location /phpmyadmin {
    disable_symlinks off;
}

別のオプションは、シンボリックリンクの代わりにエイリアスを使用することです。

location /phpmyadmin {
    alias /usr/share/phpmyadmin;
}
0
Cole Tierney

カンマをなくすと大丈夫です

    index index.php, index.html index.htm;
0
Tõnis Bramanis

nginx.confファイルまたはデフォルト(../sites-available/default)

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:/run/php/php7.0-fpm.sock;
               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/;
       }
}
0