ウェブサイトのSSL化(その6)とphpMyAdminの少し設定変更

この記事は約5分で読めます。

phpMyAdminもSSL化した。

ついでに、少しNginxの設定を変更した。設定の追加、変更は以下のサイトを参考にした。

それぞれの記事に載っていたNginxのconfファイルは以下の通り。

server {
    listen 8080;
    server_name localhost;

    index  index.php;

    location /phpMyAdmin {
        alias /usr/share/phpMyAdmin/;
        index index.php index.html;

    location ~ ^/phpMyAdmin/(.+\.php)$ {
        alias /usr/share/phpMyAdmin;
        fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin/$1;
        include fastcgi_params;
        fastcgi_intercept_errors on;
        allow all;
        }
    }
}
location /phpmyadmin {
    root /usr/share/;
    index index.php;
    try_files $uri $uri/ =404;

    location ~ ^/phpmyadmin/(doc|sql|setup)/ {
        deny all;
    }

    location ~ /phpmyadmin/(.+\.php)$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        include snippets/fastcgi-php.conf;
    }
}
server {
 
    ###### 中略 ######
 
    location /phpMyAdmin {
        if (!-e $request_filename) {
            rewrite ^.*$ /index.php last;
        }
        if ($uri ~ \.(gif|jpg|png|ico|js|css)$) {
                access_log off;
        }
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
 
    location ~ /phpMyAdmin/.*\.php$ {
        fastcgi_pass    unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include         fastcgi_params;
    }
}

追加したのは、BASIC認証の部分、アクセスログのところ、docディレクトリなどへのアクセス禁止あたり。

また、ずーと、このエラー表示が出ていたので、対策した。

設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。

phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
代わりにデータベースの操作タブを使って設定することもできます。

実際にした作業は、紆余曲折あって、こうなりました。

  • phpMyAdminのディレクトリにあるconfig.inc.phpで、blowfish_secretを設定 → 反映されない
  • /etc/phpMyadmin/config.inc.phpで設定 → 反映されない
  • /var/lib/phpMyAdmin/config.inc.phpで設定 → 反映されない
  • phpMyAdminをいったん削除(yum remove phpMyAdmin)
  • /usr/share/phpMyAdmin、/etc/phpMyAdmin、/var/lib/phpMyAdminを全削除
  • phpMyAdminを再度インストール(yum install phpMyAdmin –enablerepo=remi)
  • /etc/phpMyAdminのパーミッションを変更(chown -R root.nginx /etc/phpMyAdmin)
  • /var/lib/phpMyAdminのパーミッションを変更(chown -R nginx.nginx /var/lib/phpMyAdmin)

これで、blowfish_secretの問題は解決。

環境保管領域の確保のため、create_tables.sqlをインポートしてみるが、なぜか読み込めない。ということで、結局MariaDBを再インストール。

yum remove mariadb
yum install MariaDB
yum install MariaDB-*

MariaDBを再起動して、create_tables.sqlをインポートしたら、あっさり読み込めた。

コメント