未分類

さくらのVPS-phpMyadminのインストール

今回は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/

-未分類