今回はphpMyAdminをインストールする。
参考)ネコでもわかる!さくらのVPS講座 ~第五回「phpMyAdminを導入しよう」
https://knowledge.sakura.ad.jp/9701/
やること
1.phpMyAdminのインストール
2.phpMyAdminの各種設定
3.phpMyAdminセキュリティ対策
1.phpMyAdminのインストール
phpMyAdminは、GUIでデータベース(MariaDB)を操作できるツール。
早速、rootユーザーになってインストール
# yum install --enablerepo=remi,remi-php71 phpMyAdmin Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile ・ ・ Is this ok [y/d/N]: y ・ ・ Complete!
Complete!が出れば成功!
2.phpMyAdminの各種設定
対象フォルダに移動して、設定ファイルをバックアップして、vimで設定ファイルを修正する
# cd /etc/httpd/conf.d/ # cp phpMyAdmin.conf phpMyAdmin.conf.old # vim phpMyAdmin.conf
Require local
のところを
#Require local
Require all granted
にします。(Require localの頭に#をつけて、Require all granted を追記)
詳しいやり方は、
矢印キーで、16行目のRequireのRにカーソルを合わせる
iを押して挿入モードにして#を入力
右矢印で同じ行の最終のところまでいって、エンターで改行
スペースキーで上の行の#まで移動
右クリックで貼り付け(事前にサイトでRequire all granted をコピーしておく) Teratermなので右クリックで貼り付けできます。
ESCキーで挿入モードを解除
:wq!で保存、vim終了
再度、ファイルを開いて、保存されているか確認
:q!で保存せずに終了
結果
httpdを再起動して、設定を反映する
# systemctl restart httpd
http://xxx.xxx.xxx.xxx/phpmyadmin
(xxx.xxx.xxx.xxxは自身のVPSのIPアドレス)
にアクセスして、phpmyadminにログイン成功!
3.phpMyAdminセキュリティ対策
phpMyAdminを安全に使うために、セキュリティ対策を行う
1. 第三者に推測されにくいURLに変更する。
2. SSLにより通信内容を暗号化する。
3. こまめにphpMyAdminをバージョンアップする。
1. 第三者に推測されにくいURLに変更する。
phpMyAdmin.confを編集
# cd /etc/httpd/conf.d/ # vim phpMyAdmin.conf
2行の頭に#をつけて
Alias /phpMyAdminY2V8jYfM /usr/share/phpMyAdmin
を追加
httpdを再起動して、設定を反映する
# systemctl restart httpd
http://サーバのIP/phpMyAdminY2V8jYfM でアクセスできた!
ちなみに
http://サーバのIP/phpMyAdmin は表示されなくなった。
2. SSLにより通信内容を暗号化する。
httpだとサーバとのやりとりが暗号化されておらず、ユーザ名、ユーザパスワード等が第三者に見られる可能性がある。
そこで暗号化するSSLを導入して、httpsでアクセスできるようにする。
ApacheがSSLを使えるように、拡張機能のmod_sslをインストールする
# yum install mod_ssl ・ Is this ok [y/d/N]: y ・ Complete!
Complete!と出たのでOK
変更を有効にするため、httpdを再起動
# systemctl restart httpd
https://サーバのIP/phpMyAdminY2V8jYfM
httpsでアクセスできた!!
これでhttpでアクセスする必要がなくなったので、httpでのアクセスをできないようにする
# cd /etc/httpd/conf.d/
# vim phpMyAdmin.conf
AddDefaultCharset UTF-8 の下の行に SSLRequireSSL を追加
⇒
:wq! で保存
再起動して設定を反映
# systemctl restart httpd
これでhttpでアクセスできなくなりました。
3,こまめにphpMyAdminをバージョンアップする。
phpMyAdminはたびたび脆弱性が発見されているようで、
以下方法でこまめにアップデートしておくようにする。
最新のremiパッケージリストの取得
# yum check-update --enablerepo=remi Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: mirror.dmmlabs.jp * extras: ftp.iij.ad.jp * remi: mirrors.thzhost.com * remi-safe: mirrors.thzhost.com * updates: ftp.iij.ad.jp remi | 2.9 kB 00:00 remi/primary_db | 2.0 MB 00:01 remi-release.noarch 7.5-1.el7.remi remi #
phpMyAdminの情報を表示
# yum info --enablerepo=remi phpMyAdmin Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: mirror.dmmlabs.jp * extras: ftp.iij.ad.jp * remi: mirrors.thzhost.com * remi-safe: mirrors.thzhost.com * updates: ftp.iij.ad.jp Installed Packages Name : phpMyAdmin Arch : noarch Version : 4.8.1 Release : 1.el7.remi Size : 24 M Repo : installed From repo : remi Summary : Web based MySQL browser written in php URL : https://www.phpmyadmin.net/ License : GPLv2+ and MIT and BSD Description : phpMyAdmin is a tool written in PHP intended to handle the : administration of MySQL over the Web. Currently it can create and : drop databases, create/drop/alter tables, delete/edit/add fields, : execute any SQL statement, manage keys on fields, manage : privileges,export data into various formats and is available in 50 : languages #
■今は最新なので良いが、もしAvailable Packagesの記述が出てくるなら、アップデートしておく
アップデートコマンド
# yum update --enablerepo=remi phpMyAdmin
次は6回目 無料SSLの導入
と思ったけど、無料SSL証明書 Let’s Encrypt はドメインが必要のようで、無料期間中はドメイン対応できないのでこれは後回しにして第7回に進みます。
参考)ネコでもわかる!さくらのVPS講座 ~第七回「ファイアウォール”firewalld”について理解しよう」
https://knowledge.sakura.ad.jp/10583/