Windows11にphpMyAdminをインストールする

Windows11 phpMyAdminをインストール PHP
※当サイトはアフィリエイト広告を掲載しています。

新しく購入したWindows11PC。Composerのインストールも済み、やっと開発環境が整ったな……と思いきや、初っぱなから抜けを発見してしまいました。

それはphpMyAdminのインストールです。これがないと仕事にならないくらい、私は定期的かつ便利に使わせていただいています。

というわけで、何年ぶりかになるphpMyAdminのインストールをブログに残したいと思います。

Windows特有のインストールでは無いので、他の環境でもちょっと読みかえていただければ応用が利くと思います。

ダウンロード

後になって知りましたが、Composerなど別の方法でインストールもできるようです。私はシンプルに公式サイトからダウンロードして設置する方法を採ります。

公式サイトからダウンロード

phpMyAdminの公式サイトからダウンロードします。ページ右上のダウンロードボタンを押すと、即座にダウンロードが開始され、解凍まで勝手に始まりました。

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/でアクセスしたいので、以下の様に配置しました。

D:\www\lib内に配置

私の環境は、公開ディレクトリがD:\wwwです。

mysqliを有効にする

http://localhost/lib/phpMyAdmin/でアクセスしてみると、以下の様なエラーが出ました。

phpMyAdmin - エラー mysqli拡張がありません。PHPの設定をチェックしてみてください。詳しくはドキュメントを参照してください。

このメッセージの通り、mysqli拡張を有効にする必要があります。php.iniに、;extension=mysqliという部分がありますので、;を削除し有効にします。

extension=mysqli

その後、設定を反映させるためにApacheを再起動します。私はApacheMonitorから行いました。

Apacheを再起動する

ログイン

改めてhttp://localhost/lib/phpMyAdmin/にアクセスしてみると……無事ログイン画面が表示されました。MySQLのユーザ名とパスワードを入れてログインします。

phpMyAdminログイン画面

私は以下の様な画面になり、「あれ?なんだ?」と思いました。

半端なウィンドウ幅だとこういう表示になる

どうやら半端なウィンドウ幅だとこうなるようで、ウィンドウ幅を広げると無事表示されました!

phpMyAdminのログイン後のトップページ

これで基本は完了です!

画面下の方に以下の2つのメッセージが出ていますが、設定せずともとりあえず使えはします。

 クッキーの暗号化のために、構成ファイルに有効なキーが必要です。一時的なキーが自動的に作成されました。ドキュメントを参照してください。
phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
代わりにデータベースの操作タブを使って設定することもできます。

私はこの後の追加作業でこのメッセージを消しますが、最低限使えれば良いという方はここまででOKです。

追加作業

ここから先は必須ではないですが、最初なので私がやっておきたいと思うことを追加作業します。

config.inc.phpの作成

phpMyAdminにはconfig.inc.phpという設定ファイルを読み込ませることが可能です。これにより、独自にカスタマイズすることが可能になります。

追加作業に必要なため、これを最初に作っておきましょう。

作り方はとても簡単で、phpMyAdminフォルダの最上位に、config.inc.phpを設置するだけです。

もともとconfig.sample.inc.phpというひな形が用意されていますので、これを複製し、config.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のカギが変わるため、再度ログインが求められます)。

この後、私はログイン不要の方式に変更するので実は必要ない作業なのですが、cookieベースの認証を利用する方もいると思いご説明しました。

環境保管領域を作る

まだ以下の様なメッセージが残っていると思います。 これを消しましょう。

phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。 代わりにデータベースの操作タブを使って設定することもできます。

ここで挙げられている環境保管領域とは、phpMyAdminのいくつかの高度な機能(例えば、お気に入りSQLクエリの保存、リレーションの追跡、ユーザーの設定など)をサポートするための特別なデータベース設定を指します。

上記メッセージ内にある「理由についてはこちら」というリンクをクリックすると、以下の様になります。

phpMyAdmin 環境保管領域 作成画面

上記赤枠の「データベース」リンクをクリックすればOKです。

環境保管領域作成完了

わちゃわちゃと出てきますが、これで実行されています。

再度phpMyAdminのトップに戻ると、メッセージが消えていることが確認できました。

ログインしないで使いたい

わざわざ開発環境のphpMyAdminにログインするの、面倒くさくないですか!?

ローカルのPCですから、外部からのアクセスはあり得ません。ルーターやファイアウォールが適切に機能していれば問題無いはずです。

ちなみに私は自宅の他の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の開発も始められそうです。

コメント

タイトルとURLをコピーしました