サーバー・レンタルの大手 さくらのVPSが、ネコでもわかる!らしいので、初心者だけど試してみる。の第五回目。 今回は、phpMyAdminのインストールと設定。
参考にするのは、さくら公式の導入ガイド「ネコでもわかる!さくらのVPS講座」
ネコに分かって、人間様に分からない筈はないので、早速、やってみる。 の五回目。
第四回では、phpパッケージをインストールして、MariaDBもインストール。 データベースにアクセスできるまでの設定をした。
「今回はphpMyAdminのインストールと、そのセキュリティ設定について」という事らしい。
でも、これ必須じゃないね。 とりあえず、環境構築さえできれば良い人は、この回をスキップしてください。 自分は、、、、一応、やっておきます。
目次
1. phpMyAdminをインストールする
2. セキュリティ対策1: 第三者に推測されにくいURLに変更する。
3. セキュリティ対策2: SSLにより通信内容を暗号化する。
4. セキュリティ対策3: こまめにphpMyAdminをバージョンアップする。
1. phpMyAdminをインストールする
(1) Install
「ご存知の方も多いと思いますがレンタルサーバーではphpMyAdminというツールが用意されており、ブラウザから簡単にデータベースを操作できる。」とのこと。
これがない場合、データベースに接続するには、vpsにログイン後、更に、DBにログインするという二度の手間がかかったが、phpMyAdminがブラウザから直接、DBにアクセスできるらしい。
確かに、前回、MariaDBにCUI(コマンド・ライン)で接続するのはメンドーだったので便利そう。
「phpMyAdminのパッケージはepelリポジトリとremiリポジトリにありますが、remiリポジトリにしか存在しないphp7.1関連のパッケージをあわせてインストールする必要があるため、remiを使用することにします。」 とのこと。
どうやって、どこのレポジトリーに、何の、どのバージョンが入っているのか知れるのだろう?
という疑問を持ちつつ、言われた通りにroot userから、インストール作業に入る。
SSHでサーバーにアクセス。rootユーザで、以下を実行。
# yum install --enablerepo=remi,remi-php71 phpMyAdmin
Install 1 Package (+52 Dependent packages)
Total download size: 16 M
Installed size: 63 M
Is this ok [y/d/N]: y
と、表示されるので、y
一瞬で、complete!
(2) phpMyAdminの設定
phpMyAdmin.confを編集して、ローカル以外からのアクセスもできるようにします。
phpMyAdmin.conf が格納されているディレクトリに移動し、対象ファイルのコピーを作り、
vim でファイルを開きます。
#cd /etc/httpd/conf.d/
(conf.d directoryでファイルの確認をしてみる。)
[root@localhost conf.d]# ls -a
. .. README autoindex.conf php.conf phpMyAdmin.conf userdir.conf welcome.conf
# cp phpMyAdmin.conf phpMyAdmin.conf.old
(実行後、ファイルの確認をしてみる。)
[root@localhost conf.d]# ls -a
. README php.conf phpMyAdmin.conf.old welcome.conf
.. autoindex.conf phpMyAdmin.conf userdir.conf
# vim phpMyAdmin.conf
(開くとこんな感じ)
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
この16行目付近の Require local を、以下のよう変更する。
#Require local
Require all granted
変更後、:wq で終了。
httpdを再起動して、設定を有効に。
# systemctl restart httpd
http://xxx.xxx.xxx.xxx/phpmyadmin に、アクセスしてアクセスできるか確認。
アクセスできました!
これで、ログインできますが、まず、セキュリティー対策をするそうです。
2. セキュリティ対策の実施
1) 第三者に推測されにくいURLに変更する。
「http://xxx.xxx.xxx.xxx/phpmyadmin というURLは第三者が推測しやすく「サーバーにphpMyAdmnがインストールされている」ということを外部に知られてしまいます。 そこでURLを分かりにくくします。」
とのこと。
再び、 phpMyAdmin.confの編集です。
まず、
# cd /etc/httpd/conf.d/ <- 上から連続して作業している場合、このディレクトリーにいるので不要。
# vim phpMyAdmin.conf
Aliasに関する2つの行をコメントアウトして、3行目に新しいAlias行を追加
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /phpMyAdminY2K18 /usr/share/phpMyAdmin
下線付の部分が、ブラウザ経由でアクセスするディレクトリーになる。
http://xxx.xxx.xxx.xxx/phpmyadminy2k18
設定が終わったらhttpdを再起動
# systemctl restart httpd
ブラウザでアクセスできるか、再確認で終了。
2) SSLにより通信内容を暗号化する。
・ApacheがSSLを使えるようにするために、mod_sslをインストールする。
root directoryで以下を実行。
# yum install mod_ssl
Install 1 Package
Total download size: 111 k
Installed size: 224 k
Is this ok [y/d/N]: y
すぐ、終わる。
・変更を有効にするため、httpdを再起動
# systemctl restart httpd
ブラウザで再確認。
はい、
http://153.126.207.149/phpmyadminY2K18/ でも、
https://153.126.207.149/phpmyadminY2K18/ でも
アクセスできるようになりました。
httpsで接続する時、
「この Web サイトのセキュリティ証明書には問題があります。」というメッセージが出ますが、
これは、正式な証明書を利用していない「オレオレ証明書なので」、現段階ではしょうがない。
念のため、httpでのアクセスを禁止しておく。
# cd /etc/httpd/conf.d/
# vim phpMyAdmin.conf
*14行目付近にSSLRequireSSLを追加
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
SSLRequireSSL
変更を有効にするため、httpdを再起動
# systemctl restart httpd
http:// でアクセスできなくなっていることを確認して、この項目を終了。
3.) こまめにphpMyAdminをバージョンアップする。
phpMyAdminは先述したとおり、たびたびツールの脆弱性が指摘されており、古いバージョンのまま使い続けるのはリスクがるので、定期的に、以下のチェックをしておく。
・最新のremiパッケージリストの取得
# yum check-update --enablerepo=remi
・phpMyAdminの情報を表示
Installed Packages
Name : phpMyAdmin
Arch : noarch
Version : 4.7.1
Release : 1.el7.remi
・・・
Available Packages
Name : phpMyAdmin
Arch : noarch
Version : 4.7.2
Release : 1.el7.remi
・・・
と、なる筈ですが、今回は最新版をインストールしたばかりなので、Available Packagesは表示されませんでした。
表示されれば、
# yum update --enablerepo=remi phpMyAdmin
で、アップデートをしておく。
これで第五回は終了です。
0 件のコメント:
コメントを投稿