はじめに
さくらVPSを使ってちょっとしたアプリを作ってるときに
データの管理にphpMyAdminを使いたかったので入れたメモ
あじぇんだ
- まえおき
- php-fpmインストール
- phpmyadminインストール
- phpmyadmin設定
- nginxの設定
- ポートの開放
- 確認
- basic認証かける
1. まえおき
まえおきというほどでもないですが、今回は下記を前提に書いています。
このあたりはリンクをおいておくので、そちらを参考に入れてみてください。
この記事のphpmyadminを動かすにあたり
それぞれ上記リンクのとおり入れてあるのでそのまんま動くかと。
2. php-fpmインストール
php-fpmもまえおきに入れるか迷いましたが、こちらに出しました。
php-fpmはfastcgiでphpmyadmiを動かすために使います。
とはいえ、こちらもphp-fpm入れる記事を別途書いてるのでそちらを参考に
php-fpmはphp製品を使うために入れたいだけなので
デフォルトではいってるものとして前置きにいれるのもなー。。。。って項目別にしました。
3. phpmyadminインストール
これはyumでたたくだけですね。
※ phpmiadminインストール $ sudo yum --enablerepo=remi install mysql-server php-mysql phpmyadmin
4. phpmyadmin設定
phpmyadminの設定をします。
今回設定するものはsessionに関してくらいです。
※ 設定ファイルをバックアップ $ sudo cp /etc/php.ini /etc/php.ini.org ※ phpmyadminがつかうsessionディレクトリのパスを設定 $ sudo vi /etc/php.ini ---- vi編集 ---- session.save_path = "/var/lib/php/session" --------------- ※ /var/lib/php/sessionの権限を変更 ※ のまえに今の権限を確認 $ ls /var/lib/php -l drwxrwx--- 2 root apache 4096 10月 31 05:17 2014 session ※ 権限の変更 $ sudo chown -R apache.apache /var/lib/php/session ※ 確認 $ ls /var/lib/php -l drwxrwx--- 2 apache apache 4096 7月 11 17:33 2015 session
補足1
/var/lib/php/session
の権限を変更しましたが、
デフォルトのままだとひととおり設定したあとにブラウザからアクセスすると
こんな感じで表示されたりします。
こんなときはsessionディレクトリの権限を疑ってみてください。
補足2
今回はnginxユーザを作成していないので、apacheユーザで作成しました。
nginxを使ってるのにw
nginxの設定やユーザを正しく作成したあとはnginx:nginx
とかしたほうが良いですね。
nginxの実行ユーザも本当はnginxに合わせたいですね。
今回は上述の通りnginxユーザはいないのでnginxもapacheユーザで起動してます。
$ sudo vi /usr/local/nginx/conf/nginx.conf user apache; worker_processes 2;
5. nginxの設定
nginxの設定をします。
nginxのインストール状況によってはconfのパスが違うと思いますが
入れた環境に合わせて読み替えてください。
ログディレクトリの作成
phpmyadmin用にログディレクトリを作成しておきます。
※ nginx経由でphpmyadmin用のログを吐くディレクトリを作成 $ sudo mkdir /var/log/phpmyadmin
confの設定
phpmyadmin用にconfファイルを作成します。
$ sudo vi /usr/local/nginx/conf/extra/phpmyadmin.conf ---- vi作成 ---- server { listen 5050; server_name hoge.exsample.com; access_log /var/log/phpmyadmin/access.log; error_log /var/log/phpmyadmin/error.log warn; location / { root /usr/share/phpMyAdmin; index index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin/$fastcgi_script_name; include fastcgi_params; } } ---------------
6. ポートの開放
こちらは余談的な感じです。
nginxの設定でlisten 80;
とかで指定する場合は飛ばしてください。
今回の環境では、server_name hoge.exsample.com;
がサービスかなにかで
すでに使ってしまっている想定なのでドメインは同じまま、ポートで分ける設定として書いてます。
※ iptables変更してポートあける $ sudo vi /etc/sysconfig/iptables ---- vi追記 ---- -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5050 -j ACCEPT --------------- ※ iptables再起動 $ sudo /etc/init.d/iptables restart
とはいえ実際の設定はリンクをおいて手抜きしますw
→さくらvpsの設定自分メモ - iptables②(パケットフィルタリング)
7. 確認
ブラウザからhoge.exsample.com:5050
にアクセスして確認します。
こんな感じで表示されればオッケーです。
ログインしてみる
データベースやユーザ設定をしてあればログインしてみます。
こんな感じで表示されれば問題なし!
補足
#2002 MySQL サーバにログインできません
とかでてログインできない場合、こちらも参考にしてみてください。
8. basic認証かける
こちらはおまけです。
簡易的な認証にはなりますが、ないよりはマシってことで。
こちらもリンクで手抜きします。ww
basic認証をかける設定ができたらnginxのconfに下記のように追記します。
$ sudo vi /usr/local/nginx/conf/extra/vhost.conf ---- vi追記 ---- server { ・・・省略・・・ auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; ----------------
参考
こちらを主に参考にさせていただきました!ありがとうございます!
おわりに
phpMyAdminはみためもしっかりしてて使いやすいので個人で使うにもいいですよね!
さくらVPSなんかでも問題なく動くので入れてみたい方は使ってみると良いかもです。
enjoy!