新しく購入したWindows11PC。Composerのインストールも済み、やっと開発環境が整ったな……と思いきや、初っぱなから抜けを発見してしまいました。
それはphpMyAdminのインストールです。これがないと仕事にならないくらい、私は定期的かつ便利に使わせていただいています。
というわけで、何年ぶりかになるphpMyAdminのインストールをブログに残したいと思います。
ダウンロード
後になって知りましたが、Composerなど別の方法でインストールもできるようです。私はシンプルに公式サイトからダウンロードして設置する方法を採ります。
公式サイトからダウンロード
phpMyAdminの公式サイトからダウンロードします。ページ右上のダウンロードボタンを押すと、即座にダウンロードが開始され、解凍まで勝手に始まりました。
ボタンも分かりやすく、シンプルで直感的なUIですね。
補足
今回、私の環境がPHP8.2と最新だったため、phpMyAdminも考え無しに最新版をダウンロードしました。しかしながらバージョンphpMyAdmin5.2.1は、以下の要件があります。
- PHP7.2以降
- MySQL5.5以降、またはMariaDB5.5以降
PHP7.2未満や、MySQL5.5未満は現在使われなくなっています。それらを利用している方は、まず先に環境のアップデートを検討した方が良いでしょう。
インストール
phpMyAdminは、Windowsにインストールするようなソフトウェアではありません。単にPHPで作られたWebアプリケーションです。
そのため、便宜上インストールとしていますが「単に利用できるようにする」とお考えください。
フォルダ名の変更
解凍されたフォルダの名称を、自分の好きなように変更します。
私はphpMyAdminにバーチャルホストなど設定するつもりもないので、このフォルダ名=アクセスするURLに影響するためシンプルにphpMyAdmin
としました。
フォルダの移動
次に、このフォルダをローカルPCのhttp(s)からアクセスできる場所に配置します。
私の場合はhttp://localhost/lib/phpMyAdmin/
でアクセスしたいので、以下の様に配置しました。
mysqliを有効にする
http://localhost/lib/phpMyAdmin/
でアクセスしてみると、以下の様なエラーが出ました。
このメッセージの通り、mysqli拡張を有効にする必要があります。php.ini
に、;extension=mysqli
という部分がありますので、;
を削除し有効にします。
extension=mysqli
その後、設定を反映させるためにApacheを再起動します。私はApacheMonitorから行いました。
ログイン
改めてhttp://localhost/lib/phpMyAdmin/
にアクセスしてみると……無事ログイン画面が表示されました。MySQLのユーザ名とパスワードを入れてログインします。
私は以下の様な画面になり、「あれ?なんだ?」と思いました。
どうやら半端なウィンドウ幅だとこうなるようで、ウィンドウ幅を広げると無事表示されました!
これで基本は完了です!
画面下の方に以下の2つのメッセージが出ていますが、設定せずともとりあえず使えはします。
私はこの後の追加作業でこのメッセージを消しますが、最低限使えれば良いという方はここまででOKです。
追加作業
ここから先は必須ではないですが、最初なので私がやっておきたいと思うことを追加作業します。
config.inc.phpの作成
phpMyAdminにはconfig.inc.php
という設定ファイルを読み込ませることが可能です。これにより、独自にカスタマイズすることが可能になります。
追加作業に必要なため、これを最初に作っておきましょう。
作り方はとても簡単で、phpMyAdminフォルダの最上位に、config.inc.php
を設置するだけです。
もともとconfig.sample.inc.php
というひな形が用意されていますので、これを複製し、config.inc.php
とリネームします。
この後、必要に応じてこのファイルに追記していきます。
cookie認証の秘密鍵を指定する
phpMyAdminにログイン直後のページの最下部には、以下の様なメッセージが出ています。とりあえずこれに対処しておきましょう。
config.inc.php
には、以下の様な記述があります。
/**
* This is needed for cookie based authentication to encrypt the cookie.
* Needs to be a 32-bytes long string of random bytes. See FAQ 2.10.
*/
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
この設定は、phpMyAdminでcookieベースの認証を使用するために必要な設定です。
具体的には、ユーザーのログイン情報を安全に保持するためにcookieを暗号化する際に使用される秘密鍵(シークレット)を指定するためのものです。
以下の様に、32バイトのランダムな文字列を指定します。実際にはあなたの自由な文字列をご入力ください。
/**
* This is needed for cookie based authentication to encrypt the cookie.
* Needs to be a 32-bytes long string of random bytes. See FAQ 2.10.
*/
$cfg['blowfish_secret'] = 'X8e9F2cA3vH5j7Z0kL6pQ1wT4yUoRmSb'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
これでブラウザを再読込すれば、先ほどのメッセージは消えているはずです(cookieのカギが変わるため、再度ログインが求められます)。
環境保管領域を作る
まだ以下の様なメッセージが残っていると思います。 これを消しましょう。
ここで挙げられている環境保管領域とは、phpMyAdminのいくつかの高度な機能(例えば、お気に入りSQLクエリの保存、リレーションの追跡、ユーザーの設定など)をサポートするための特別なデータベース設定を指します。
上記メッセージ内にある「理由についてはこちら」というリンクをクリックすると、以下の様になります。
上記赤枠の「データベース」リンクをクリックすればOKです。
わちゃわちゃと出てきますが、これで実行されています。
再度phpMyAdminのトップに戻ると、メッセージが消えていることが確認できました。
ログインしないで使いたい
わざわざ開発環境のphpMyAdminにログインするの、面倒くさくないですか!?
ローカルのPCですから、外部からのアクセスはあり得ません。ルーターやファイアウォールが適切に機能していれば問題無いはずです。
個人的には時間の無駄に思えてしまいますので、このログインを省いてしまいましょう。ただ、絶対に不特定多数がアクセスできる環境ではやらないでくださいね。個人の開発環境だからこその設定です。
以下の様な箇所があります。現在はcookieによる認証という意味です。
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
これを、以下の様にします。
// /* Authentication type */
// $cfg['Servers'][$i]['auth_type'] = 'cookie';
// /* Server parameters */
// $cfg['Servers'][$i]['host'] = 'localhost';
// $cfg['Servers'][$i]['compress'] = false;
// $cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'your_username';
$cfg['Servers'][$i]['password'] = 'your_password';
このコードは以下を意味しています。
- 1~6行目:
cookie認証およびその設定部分を全てコメントアウト(ばっさり削除でも動作します) - 8行目:
認証タイプをconfigに - 9~10行目:
MySQLの認証情報を設定
9~10行目のユーザー名とパスワードは、あなたの設定に書き直してください。
これで、ログインは不要でphpMyAdminが使えるようになり、ストレスが無くなりました!
まとめ
phpMyAdminとはずいぶん長いお付き合いです。10年以上前は、SQLを覚えておけば不要になるのか!?と思っていましたが、結局現在でもよく利用する便利ツールであることに変わりません。
レンタルサーバーでも広く利用されているため、ローカルと本番サーバーでインポート・エクスポートも自由自在です。
本当に便利なツールをずっとメンテナンスしてくださり、本当にありがたく思います。感謝!
これで新PCでのPHPの開発も始められそうです。
コメント