tsukarooohi's diary

CakePHP,CentOS,AWSなど勉強中の技術的記録として利用中。

KUSANAGI for さくらへのphpMyAdmin導入方法

環境
  • CentOS 7
  • KUSANAGI Version 8.0.1-2
  • nginx version: nginx/1.11.6
  • php7-fpm
用語解説
  • DL:ダウンロード

phpMyAdminインストールと設定

f:id:tsukarooohi:20161223151144p:plain

コマンド処理

今回はrootアカウントで行っていますが、それ以外の作業アカウントの場合はsudoコマンドを付与して行ってください。

# ディレクトリ移動
cd /usr/local/src

# 最新ソースをDL
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.tar.gz

# `phpMyAdmin-4.6.5.2-all-languages.tar.gz`がDLされたか確認
ls
phpMyAdmin-4.6.5.2-all-languages.tar.gz

# 解凍処理
tar xvzf phpMyAdmin-4.6.5.2-all-languages.tar.gz

# 解凍されているか確認
ls -l
drwxr-xr-x 12 root root     4096 12月  6 07:36 phpMyAdmin-4.6.5.2-all-languages
-rw-r--r--  1 root root 10372131 12月  6 08:40 phpMyAdmin-4.6.5.2-all-languages.tar.gz

# 解凍したphpMyAdminを移動(移動先はどこでもいいと思いますがドキュメントルートより上の階層がいいと思います)
mv phpMyAdmin-4.6.5.2-all-languages /usr/share/phpMyAdmin

# 元ファイルの削除(しなくてもいいと思います)
rm -fr phpMyAdmin-4.6.5.2-all-languages.tar.gz

上記でphpMyAdminのDL+配置作業は完了です。

次はphpMyAdminをブラウザから利用するための設定に進みます。

ですがNginxのバーチャル設定の前にphp-fpmの設定を少し変更します

Nginxとphp-fpmとの接続に UNIX socket を指定できるようにします。

socket 通信を使うとTCPで接続するので127.0.0.1:9000でアクセスするより早いようです。

# ディレクトリ移動(移動しなくてもいいです)
cd /etc/php7-fpm.d

# ファイルの確認
ls -l
-rw-r--r-- 1 root root  4580 11月 11 10:17 php7-fpm.conf.kusanagi
-rw-r--r-- 1 root root 19021 11月 11 10:17 www.conf
-rw-r--r-- 1 root root 18513 11月 11 10:17 www.conf.default
-rw-r--r-- 1 root root 19021 11月 11 10:17 www.conf.kusanagi

# .kusanagi はKUSANAGI for さくらのオリジナル設定がされているようなので触りません
vim www.conf
- listen = 127.0.0.1:9000
+ listen = /var/run/php7-fpm/php-fpm.sock #こちらに変更

# `/var/run/php7-fpm/`を確認
ls /var/run/php7-fpm/
php7-fpm.pid
#まだ`php-fpm.sock`はありません

# ミドルウェアの再起動
kusanagi restart

# `/var/run/php7-fpm/`を確認
ls -l /var/run/php7-fpm/
srw-rw---- 1 httpd www  0 12月 22 20:41 php-fpm.sock # 出来てますね!
-rw-r--r-- 1 root  root 5 12月 22 20:41 php7-fpm.pid

php-fpm.sockのユーザー、グループが上記にと同じになっていない場合は同じになっている事を確認してください。

rootになっている場合もありますが、その場合は下記ページなどを参考に上記と同じユーザー、グループになるよう行ってください。

それではphpMyAdminを使えるように設定します

# `phpMyAdmin`用のnginx設定ファイル作成
vim /etc/nginx/conf.d/phpmyadmin.conf

phpmyadmin.confの中身

server {
    listen       80;
    server_name  phpmyadmin.example.com; # ドメイン部分はご自分の環境に合わせてください

    root   /usr/share/phpMyAdmin;
    index  index.php;

    allow 000.00.00.00; # アクセスを解除するIPを設定してください
    deny all; # 基本アクセスは不可にしておきます

    location / {
        try_files $uri $uri?$args $uri/ /index.php?$uri&$args /index.php?$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass   unix:/var/run/php7-fpm/php-fpm.sock; # 先程作成した`.sock`ファイル
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #include         fastcgi_params;
    }
}
# 上記の設定が出来たらミドルウェアの再起動
kusanagi restart

phpMyAdminサブドメインの設定

Nginx側の設定は上記で終わってるので、後はDNSの設定でサーバーまで繋げるだけです。 私の場合AWSのRoute53を利用しているので下記のように設定しました。

f:id:tsukarooohi:20161223151240p:plain

DNSの設定が反映されたか確認

MacBook-Pro:~$ nslookup phpmyadmin.example.com

Non-authoritative answer:
Name:   phpmyadmin.example.com
Address: 123.45.678.910 # ご自分のサーバーのIP

ブラウザでアクセス

phpMyAdminの画面が表示されれば完了になります。

広告を非表示にする