KUSANAGIでnginxな環境にphpMyAdminを導入した手順

4 min

ブログ運営用のサーバーとしてKUSANAGIを導入して以来、長らくデータベースを管理するのはARI Adminerに任せていました。

phpMyAdminをインストールするのがめんどくさかっただけなんですが、色々と不便だったのでいい加減導入しようと思い実践した時の備忘録です。

使えるようにするまでの手順

phpMyAdminのダウンロードから設定までをコマンド付で解説します。

phpMyAdminのインストール

  1. まずはカレントディレクトリの指定から。

    phpMyAdminをインストールするディレクトリに移動しておきます。

    # cd/home/kusanagi/【プロファイル名】/DocumentRoot

    今回はDocumentRootディレクトリ直下に入れてみました。

  2. 次に必要なファイルのダウンロードを行います。

    phpMyAdminの公式リポジトリからファイルをダウンロードしましょう。

    # wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip

    ここでは自サーバーのSQLバージョンに対応している最新版を導入しています。バージョンの確認は公式サイトよりご確認ください。

  3. zipファイルがダウンロードできたら解凍します。

    # unzip phpMyAdmin-4.0.10.20-all-languages.zip

    ターミナルがずらーっと流れていくので、完了まで待ちましょう。

  4. 長ったらしい名前だと気持ち悪いので、すっきりリネームしておきます。

    # mv phpMyAdmin-4.0.10.20-all-languages phpMyAdmin

ここまででファイルの配置は完了。

あとは自分以外が入れないようにアクセス制限をしてあげればひとまずOKです。

nginxの設定

アクセス制限のために修正する設定ファイルは次の2通り。

httpの場合

【プロファイル名】_http.conf

https(SSL)の場合

【プロファイル名】_ssl.conf

ファイルの置き場所は通常であれば/etc/nginx/conf.d/になっているはずです。

当ブログはSSL対応のため、ssl.confを修正します。

# vi /etc/nginx/conf.d/【プロファイル名】_ssl.conf

phpMyAdminを配置したパスによって適宜変更してください。

location /phpMyAdmin/ {
  allow 【許可したいIPアドレス】;
  deny all;
}

ご利用中のIPアドレスはこちらから確認できます。

書き加えたら、nginxの設定を再読み込みします。

# nginx -s reload

動作確認

ブラウザからアクセスしてちゃんと表示されるかの確認をしてみましょう。

http://【ホスト名】/phpMyAdmin

または

https://【ホスト名】/phpMyAdmin

phpMyAdminのログインページが表示されていればインストール成功です。

エラーの修正

こんなエラーが出ていたら、直しておきましょう。

非公開パスフレーズを設定

1つ目のエラーの修正方法です。

設定ファイルに、暗号化(blowfish_secret)用の非公開パスフレーズの設定を必要とするようになりました。

  1. phpMyAdminをインストールしたディレクトリに移動します。

    # cd /home/kusanagi/【プロファイル名】/DocumentRoot/phpMyAdmin

    ご自分の環境に合わせて下さいね。

  2. 設定ファイルのサンプルをコピーします。

    # cp config.sample.inc.php config.inc.php
  3. viコマンドで修正します。

    # vi config.inc.php

    以下の部分を適当に書き換え。

    /*
    * This is needed for cookie based authentication to encrypt password in
    * cookie. Needs to be 32 chars long.
    */
    $cfg['blowfish_secret'] = '*******'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

    32文字以上の文字列を入れないと、短すぎだから直せと怒られます。

mcryptの拡張

2つ目エラーの修正方法です。

mcrypt 拡張がありません。PHP の設定をチェックしてみてください。

  1. yumコマンドでphp-mcryptをインストールします。

    # yum install php-mcrypt
    # yum install libmcrypt
  2. サーバーを再起動してみます。

phpMyAdmin 環境保管領域の設定

phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。

phpMyAdminに内包されているcreate_tables.sqlを利用して、テーブルを作成してあげます。

  1. phpMyAdminにrootでログインします。

    KUSANAGI環境ではkusanagi initした時にrootのパスワードを設定してあるはずなので、それを思い出しながらやりましょう。

  2. phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。

    の「こちら」をクリック。

  3. 遷移した先のページのメッセージ

    「phpmyadmin」データベースを作成 し、phpMyAdmin 環境保管領域をセットアップ。

    の「作成」をクリック。

  4. phpmyadminテーブルが作成されたらOKです。

  5. 続いてpmaというユーザーを作成します。

    mysql> GRANT ALL ON phpmyadmin.* TO pma@localhost IDENTIFIED BY "パスワード";

  6. config.inc.phpのコメントアウトされている部分を有効にして、pmaユーザーのパスワードを作成したものと合わせます。

ここまでの手順でメッセージが消えたかと思います。

$cfg[‘TempDir’] にアクセスできない

$cfg[‘TempDir’] (/path/to/tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。

普段は目にすることは少ないかもしれませんが、Git管理したりするとtmpディレクトリが存在しないためにこのエラーが出ることがあります。

tmpディレクトリを作成し、所有者とグループをhttpd.wwwに変更してあげれば解消されます。

# mkdir tmp
# chown https.www tmp

さいごに

これで少しはデータベースの管理がし易くなりました。

意外と簡単に出来たので、面倒臭がってないで早くやっておけば良かったです。

未経験からITエンジニアになりました!

今までは趣味としてプログラミングを独学してきたけど、やっぱりこれを仕事にしたい……!

そう思い立ったはいいものの、世間の情勢などもあり未経験でのエンジニア職の中途採用が絶望的な状況

大手転職エージェントを通して何社も面接を受けては落ちてを繰り返し、諦めかけていたのですが……。

気分転換で登録した転職サービスで、とある企業から内定をいただくことができました

同じように未経験からITエンジニアを目指している方へ、どんなに厳しくても可能性がゼロではないことを伝えたい。

ポイントは、IT業界に精通した転職サービスを利用すること。
これだけで少なくとも面接へ進める可能性がグッと高くなります。

あなたがもしIT特化の転職サービスに未登録で苦しんでいるなら、ぜひ利用してみてください。きっと可能性が広がりますよ!

\無料のIT系転職サービス/

はるしか

はるしか

ゲーム・漫画・クルマ・ガジェットなど多趣味な雑食系。
モノづくりが楽しくてプログラミングをポチポチしてたら本業エンジニアになってしまったASPの中の人。
動物占いは子鹿。
忘れっぽい自分へのメモ代わりの記事が多めです。

FOLLOW

カテゴリー:
関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です