環境
- CentOS 7
- KUSANAGI Version 8.0.1-2
- nginx version: nginx/1.11.6
- php7-fpm
用語解説
- DL:ダウンロード
phpMyAdminインストールと設定
phpMyAdminインストール
下記からphpMyAdminのDLしたいバージョンを選択
2016/12/22 時点の最新は`phpMyAdmin 4.6.5.2`でした。
https://www.phpmyadmin.net/downloads/
phpMyAdminの設定
今回は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+配置作業は完了です。
php-fpmの設定調整
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`のユーザー、グループが上記にと同じになっていない場合は同じになっている事を確認してください。
`php-fpm.sock`のユーザー、グループが上記にと同じになっていない場合は同じになっている事を確認してください。
rootになっている場合もありますが、その場合は下記ページなどを参考に上記と同じユーザー、グループになるよう行ってください。
phpMyAdminを使えるように設定
# `phpMyAdmin`用のnginx設定ファイル作成 vim /etc/nginx/conf.d/phpmyadmin.conf # 設定ファイルの内容は「phpmyadmin.confの内容」を参照 # 上記の設定が出来たらミドルウェアの再起動 kusanagi restart
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; } }
phpMyAdmin用サブドメインを設定する
Nginx側の設定は上記で終わってるので、後はDNSの設定でサーバーまで繋げるだけです。
私の場合AWSのRoute53を利用しているので下記のように設定しました。
DNSの設定が反映されたか確認
MacBook-Pro:~$ nslookup phpmyadmin.example.com Non-authoritative answer: Name: phpmyadmin.example.com Address: 123.45.678.910 # ご自分のサーバーのIP
ブラウザでアクセスしてphpMyAdminの画面が表示されれば完了になります。