2022/01/01
「はじめての VPS シリーズ」の第11回目です。
前回は CentOS7 に MySQL をインストールしました。
今回はブラウザから簡単にデータベースを操作することができる phpMyAdmin のインストールと設定をします。
新しいLinuxの教科書
ただ、読むだけではなく実践しながら進める形式になっています。(※コマンド一覧とか早引きの本ではありません)初心者がつまずくであろう箇所は補足説明がしっかり入っています。基本を大事にしている本なので、書いてあることはとてもわかりやすいです。それゆえ、中級者以上の方には物足りないかもしれませんが、初学者にはススメします!
手順
phpMyAdminをインストール
次のコマンドを実行し、phpMyAdminをインストールします。
バージョンの指定はなかったので remi からそのままインストールします。
途中で「ダウンロードしていいか?」(Is this ok)確認メッセージが表示されますので、「y」で続行します。
[root@example ~]# yum install --enablerepo=remi,remi-php74 phpMyAdmin
remi リポジトリにしか存在しない php7.4 関連のパッケージをあわせてインストールする必要があるため、remi を使用します。
phpMyAdminの設定
phpMyAdminの設定ファイル(バーチャルホスト)を編集します。
編集内容は以下の3つになります。
- URLを推測されにくくする
- SSLによる暗号化通信
- どこからでもアクセスできるようにする
編集する前に、デフォルトの設定状態をコピーしてバックアップをとっておきます。
# 設定ファイルのあるディレクトリまで移動
[root@example ~]# cd /etc/httpd/conf.d/
# 一応、バックアップ
[root@example ~]# cp phpMyAdmin.conf phpMyAdmin.conf.default
バックアップをとったら、先ほどの3つを設定するために、設定ファイルを vim で開きます。
# 設定ファイルを編集
[root@example ~]# vim phpMyAdmin.conf
①URLを推測されにくくする
第三者に phpMyAdmin の URL を推測されにくくするため、 Alias に関する2行をコメントアウトして、3行目に新しい Alias 行を追加します。
# Alias /phpMyAdmin /usr/share/phpMyAdmin
# Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /phpMyAdmin0123 /usr/share/phpMyAdmin
Alias /phpmyAdmin0123 /usr/share/phpMyAdmin
http://xxx.xxx.xxx.xxx/phpMyAdmin のような URL でアクセスすることを禁止します。
推測されやすいURLなのでセキュリティー的に危険だからです。
代わりに http://xxx.xxx.xxx.xxx/phpMyAdmin0123 という URL で phpMyAdmin にアクセスできるようにします。
②SSLによる暗号化通信
SSL を導入している場合には、phpMyAdmin への接続は SSL 通信のみ許可する設定をします。
SSL通信のみ許可するため、空いている13行目に SSLRequireSSL を入力します。
(※Apache の mod_rewrite 機能を使って常時SSL化にした場合は必要ないかもしれません。)
:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
SSLRequireSSL
:
③どこからでもアクセスできるようにする
どこからでもアクセスできるようにするため、16行目の "Require local" を "Require all granted" にします。
以下のように、先頭に#記号でコメントアウトすることで無効にし、新たに Require all granted という設定を追加します。
:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
SSLRequireSSL
Require all granted
:
3つの設定が終わったらhttpdを再起動して設定を反映させます。
# 設定ファイルを編集
[root@example ~]# systemctl restart httpd
MySQLの初期パスワード変更
MySQL5.7 の初期パスワードのままだと phpMyAdmin にログインできません。
パスワードを新たに生成するとログインできるようになります。
「password('新しいパスワード')」の部分で、password()関数を使い、パスワードを暗号化しています。
[root@example ~]# SET PASSWORD FOR root@localhost=password('新パスワード');
[root@example ~]#vim /etc/my.cnf
## /etc/my.cnf
[mysqld]
validate-password=OFF
動作確認
先ほど設定した URL にアクセスして phpMyAdmin が表示されるか確認します。
変更したパスワードでログインしてみます。
上記のように表示されればOKです。
以上です。
さくらのVPS
Linuxの知識がある方や初心者の枠から脱した人は「VPS」をおススメします!もし、あなたがデザイナーで静的ページのサイトしか作らないのであれば「レンタルサーバー」でOKです。ただ、Webプログラマーとして仕事をするのであればroot権限のあるVPSサーバーを最低1台、自分専用(学習用)を持っておいたほうがいいでしょう。
Laravelプログラマーの初心者が選ぶ学習用サーバーとは?
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。