web-dev-qa-db-ja.com

NginxのphpmyadminにIPアドレスから直接アクセスする(サブドメインなし)

いくつかのサイトが正常に動作しているUbuntu16.04 Nginx環境で、phpmyadminをインストールしました。

cd /var/www/html
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.Zip
find ./ -type f -iname '*phpmyadmin*.Zip' -exec unzip {} \;
find ./ -type d -iname 'phpmyadmin-*' -exec mv {} phpmyadmin \;

次に、ブラウザからip_address/phpmyadminを介してアクセスしようとしましたが、いずれかのサイトで404を取得しました。

これはwebappconfがないことが原因だと思ったので、作成しました。

nano /etc/nginx/sites-available/phpmyadmin.conf

server {
    root /var/www/html/phpmyadmin/;
    server_name phpmyadmin;

    location / {
        index index.php index.html index.htm fastcgi_index;
        try_files $uri $uri =404 $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    listen 80;
}

次に

ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
systemctl restart nginx.service

それでも、問題は解決しません。

ログには、次のエラーのみが指定されています。

2018/01/01 03:02:25 [emerg] 21959#21959:/etc/nginx/sites-enabled/phpmyadmin.conf:2の不明なディレクティブ「/ var/www/html/phpmyadmin /」

私は基本的にnginx.confを変更せず、そのネイティブディレクティブに依存しています。

Nginx sysadminにサブドメインの使用を提案した方法を調べましたが、IPアドレスから直接アクセスすることを好みます。

1
Arcticooling

server_nameには、サーバーへのアクセスに使用される名前が含まれている必要があります。 IPアドレスでサーバーにアクセスするには、サーバーにIPアドレスが含まれている必要があります。

例えば:

server_name 192.0.2.1;

詳細については、 このドキュメント を参照してください。

しかし、最初にそのエラーを修正する必要があります-なぜ不明なディレクティブを取得しているのかわかりませんrootステートメントからのエラー。タイプミスを導入しましたか?

2
Richard Smith