GMOクラウドVPS(CentOS6.2)にPHPMyAdminを入れてみる
どうもー。新しく作ったWebサービスの公開用にGMOクラウドVPSを契約して使ってみています。今回は、そんな中でも、Mysql辺りとphpmyaminの導入についてまとめておきます。
上記のとおり今回作業した環境は、GMOクラウドのVPS、1GBプランでSSH接続してやってみました。
VPS : GMO クラウド 1GB プラン
OS : CentOS 6.2 64bit (LAMPPパック)
PHP : 5.3.3
mysql : 5.1.73
PHPMyAdmin : 4.0.10.11
1.MySQLのrootパスワードと文字コードの設定
MySQLはインストール後そのままだと、rootアカウントにパスワードが設定されていません。なので、ぱぱっと登録してしまいましょう。
1 2 |
mysql> update mysql.user set password=password('root用の任意パスワード') where user = 'root'; mysql> flush privileges; |
上記のコマンドでパスワードを変更したら下記のコマンドでログインできるかを確認してみてください。
1 |
# mysql -u root -p |
-u はユーザ指定。-p はパスワード入力のプロパティです。
次に、文字コードです。設定ファイルであるmy.cnfを編集していきます。今回は、文字コードをUTF-8に変更します。以下のコマンドで設定ファイルを開き、下記のような感じに編集してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
vi /etc/my.cnf -------------------------------------------------------------- [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server=utf8 skip-character-set-client-handshake [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid -------------------------------------------------------------- /etc/rc.d/init.d/mysqld restart |
最後のコマンドで変更した設定を反映させています。
2.PHPMyAdminの入手AND設置
次に、PHPMyAdminを入手して、ブラウザから見やすい位置に設置していきます。方法としましては、公式ページからwgetして、解凍→移動→所有者変更→設定ファイルの編集→反映という流れになります。
wgetするPHPMyAdminのバージョンは、自分の環境に合ったものを探してください。バージョンは以下のコマンドで確認できます。
1 2 |
#php -v #mysql -v |
こちらの公式サイトからコマンドで調べたバージョンにあるものを探して拡張子が.tar.gzのもののURLをメモして置いてください。
1 2 3 4 5 6 7 8 9 10 11 12 |
# cd /usr/local/src/ # wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.11/phpMyAdmin-4.0.10.11-all-languages.tar.gz # tar zxvf phpMyAdmin-4.0.10.11-all-languages.tar.gz # mv phpMyAdmin-4.0.10.11-all-languages /var/www/phpMyAdmin # chmod -R root:apache /var/www/phpMyAdmin/ # vi /etc/httpd/conf.d/phpmyadmin.conf ------------------------------------------------ Alias /phpMyAdmin "/var/www/phpMyAdmin" ------------------------------------------------ # apchectl -t Syntax OK # /etc/rc.d/init.d/httpd reload |
途中で出てきたphpmyadmin.confはおそらく無いので、新規作成になると思います。Aliasの後ろの部分がPHPMyAdminにアクセスするときのURLになります。
例) http://ドメイン(IPアドレス)/phpMyAdmin/
といった感じになります。
3.phpMyAdminの設定
次に、設定を行っていきます。ありがたいことに、設定ファイルのサンプルが用意されているので、それを使いたいと思います。以下のコマンドで、サンプルをコピーしてください。
1 |
# cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php |
ついでに、認証に使うパスワードを生成しておこうと思います。
以下のコマンドで生成してメモしておいてください。ちなみに最初のコマンドは必要なものをインストールしているだけなので、必要が無ければ飛ばしてください。
1 2 |
# yum -y install expect # mkpasswd -l 46 |
nkpasswdで出てきたパスフレーズのコピペ準備をしておいて下しあ。
次に先ほどコピーした設定ファイルを編集していきます。
1 2 3 4 5 6 7 |
# vi /var/www/phpmyadmin/config.inc.php -------------------------- $cfg['blowfish_secret'] = 'さっき作ったパスフレーズ(認証に使うみたいです)'; $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Lang'] = 'ja-utf-8'; -------------------------- # chown -R root.apache /var/www/phpmyadmin/ |
これで、phpMyAdminの設定は終わりです。
4.マルチバイト文字への対応
運がよければ上記までで動作させることができると思いますが、今回の環境では残念ながらそんなことは無く、「mbstringの何かがMissingだよ」的なエラーがでてできませんでした。ので対応していこうと思います。
とにかく必要なものをインストールしてしまいます。
1 |
# yum -y install php php-mbstring php-pear |
次に、PHP.iniで環境の設定を行います。
1 |
# vi /etc/php.ini |
変更の内容は以下のとおりなのですが、多くて面倒だったので、参考サイトさんのそのまま載せさせて下さい。
参考元http://w.builwing.info/2013/08/18/yum%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7php%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/
229行目のshort_open_tagをOffからOnにします。これで、PHP独特のタグが使えるようになります。
432行目のexpose_phpをOnからoffに変更します。これはPHPのバージョンが表示されないようにするためです。
440行目のmax_execution_time(スクリプト最大実行時間)を30から300に変更します。
513行目のerror_reportingをE_All&~E_DEPRECATEDからE_ALL & ~E_NOTICEに変更します。
729行目のpost_max_size(最大POSTアップロードサイズ)を8Mから20M程度に変更します。
773行目の先頭の「;」を削除して、文字コードにUTF-8を指定します。
878行目のupload_max_filesize(最大アップロードファイルサイズ)を2Mから20M程度に変更します。
946行目の先頭のコメントを解除して、date.timezone=”Asia/Toko”に変更します。
1542行目のコメントを解除して、mbsting.language=Japaneseとします。
1548行目のコメントを解除して、EUC-JPをUTF-8に変更します。mbstring.internal_encoding=UTF-8
1552行目のコメントを解除して、autoをUTF-8に変更します。mbstring.http_input=UTF-8
1557行目のコメントを解除して、SJISをpassに変更します。mbstring.http_output=pass
1565行目のコメントを解除して、OffをOnにします。mbstring.encoding_translation=On
1570行目のコメントを解除します。mbstring.detect_order=auto
1575行目のコメントを解除します。mbstring.substitute_charset=none;
これが終わったら以下のコマンドで、Apacheを再起動します。
1 |
# /etc/rc.d/init.d/httpd restart |
これで、マルチバイトも大丈夫かと思います。
4.動作チェック
ではブラウザから、動作を確認してみましょう。
Aliasで設定した記述どおり、アクセスしてみてください。
例) http://localhost/phpMyAdmin/
これでログイン画面が出れば成功です。たぶん普通にログインできると思います。お疲れ様でした。
なんか出た人へ
・PHP 5.2+ is required
PHPのバージョンがあってません。PHPMyAdminのダウンロードからやり直しです。
・phpmyadmin mbstring extension is missing
mbstringの拡張が上手くできてません。php-mbstringのインストールやphp.iniの設定を見直してください。
「MySQLのrootパスワード設定」
「MySQL phpMyAdmin インストール」
「yum個m等でPHPのインストール」
「MySQL用GUI設定ツール導入(phpMyAdmin)」