さくらVPSでスタートアップスクリプトを使用して簡単に構築したSSL環境にphpMyAdminをインストール
「さくらVPS【SSL】でPHP」の内容で PHP7.3 のインストールを行い、 「さくらVPS【SSL】でMySQL」の内容で MariaDB の設定を行った後に、phpMyAdmin をインストールしました。
◎phpMyAdmin用のユーザーの作成
-
phpMyAdmin用のユーザー(phpmyadmin)を作成しました。
$ su - パスワード: # adduser phpmyadmin # passwd phpmyadmin Changing password for user phpmyadmin. New password: Retype new password: passwd: all authentication tokens updated successfully.
- 「/home/phpmyadmin/」のパーミッションを701に変更しました。
# cd /home/ # chmod 701 ./phpmyadmin/
◎phpMyAdminのインストール
- phpMyAdminが使用するphpの拡張モジュール他をインストールしました。
# yum --enablerepo=remi-php73 install php-mbstring php-mysqlnd php-gd
-
suコマンドで、phpMyAdmin用のユーザー(phpmyadmin)になりました。
# su phpmyadmin $ pwd /home/phpmyadmin
-
ユーザー(phpmyadmin)のホームディレクトリでwgetコマンドを使用して、phpMyAdminのソースファイル(phpMyAdmin-4.8.5-all-languages.zip)をダウンロードしました。
$ wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip $ ls phpMyAdmin-4.8.5-all-languages.zip
-
ダウンロードしたphpMyAdminのソースファイル(phpMyAdmin-4.8.5-all-languages.zip)を解凍し、解凍して出来たフォルダの名前を「public_html」に変更しました。
$ unzip phpMyAdmin-4.8.5-all-languages.zip $ mv phpMyAdmin-4.8.5-all-languages public_html $ (rm phpMyAdmin-4.8.5-all-languages.zip)
-
「public_html」に移動し、「config.sample.inc.php」をコピーして「config.inc.php」を作成しました。
$ cd public_html $ cp config.sample.inc.php config.inc.php
-
エディタ(nano)で「config.inc.php」を編集し、$cfg[‘blowfish_secret’] に適当な語句を設定しました。
$ nano config.inc.php
- ($cfg[‘blowfish_secret’]の文字列の長さが短すぎると後で怒られます。)
$cfg['blowfish_secret'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
- ($cfg[‘blowfish_secret’]の文字列の長さが短すぎると後で怒られます。)
◎Nginxの設定
- 「/etc/nginx/conf.d/」の「default.conf」と「https.conf」をエディタnanoで修正して、下記の記述を「location ~ \.php$ {…}」の手前に追記しました。(location ~ \.php$ {…}」の後に記載すると、phpファイルが「File not found.」になります。」
# cd /etc/nginx/conf.d/ # nano default.conf(または https.conf)
# User public_html for PHP # location ~ ^/~([^/]+?)/(.+\.php)$ { alias /home/$1/public_html/$2; 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; } # User public_html for html # location ~ ^/~(.+?)(/.*)?$ { alias /home/$1/public_html$2; index index.php index.html index.htm; autoindex on; }
- PHP-FPMとNginxを再起動ました。
# systemctl restart php-fpm # systemctl restart nginx.service
- 「https://(サーバーのURL)/~phpmyadmin/」にアクセスしたところ「Error during session start;….」というエラーが表示されたので、「/var/lib/php/session」ディレクトリのアクセス権を確認したところ、所有者が「apache」だったので「nginx」に変更しました。
# cd /var/lib/php # chown nginx:nginx /var/lib/php/session
- 再度、「https://(サーバーのURL)/~phpmyadmin/」にアクセスしたところ、phpMyAdminのログイン画面が表示されて無事にログイン出来ました。
- ログイン画面に『 $cfg[‘TempDir’] (./tmp/) にアクセスできません。』のエラーが表示されたので、./tmp/フォルダを作成し、パーミッションを777に設定しました。
# su phpmyadmin $ cd ~/public_html/ $ mkdir ./tmp $ chmod 777 ./tmp/
- 再度「https://(サーバーのURL)/~phpmyadmin/」にアクセスして、ログイン後のエラーが消えたことを確認してphpMyAdminのインストールを完了しました。
Basic認証の設定
- phpMyAdminのホームページ「http://(サーバーのURL)/~phpmyadmin/」でBasic認証を行うために、「/home/phpmyadmin/public_html/」フォルダ以下にユーザー名:「phpmyadmin」(任意)で「.htpasswd」を作成しました。
# cd /home/phpmyadmin/public_html/ # htpasswd -c /home/phpmyadmin/public_html/.htpasswd phpmyadmin New password: Re-type new password: Adding password for user phpmyadmin
- 「/etc/nginx/conf.d/」の「default.conf」と「https.conf」をエディタnanoで下記のように編集しました。
# cd /etc/nginx/conf.d/ # nano default.conf(または https.conf)
- 「# User public_html for html」にBasic認証用の設定を追加しました。
# User public_html for html # location ~ ^/~(.+?)(/.*)?$ { alias /home/$1/public_html$2; index index.php index.html index.htm; autoindex on; # Basic authentication auth_basic "Restricted"; auth_basic_user_file /home/phpmyadmin/public_html/.htpasswd; }
- 「# User public_html for html」にBasic認証用の設定を追加しました。
- PHP-FPMとNginxを再起動ました。
# systemctl restart php-fpm # systemctl restart nginx.service
- phpMyAdminのホームページ「https://(サーバーのURL)/~phpmyadmin/」にアクセスすると認証ダイアログがポップアップ表示されたので、設定したユーザー名とパスワードで認証出来ることを確認してBasic認証の設定を完了しました。
<= さくらVPS【SSL】でMySQL | | | さくらVPS【SSL】でWordpress => |