(2025.4.21 記)
この前UbuntuのOSバージョンを、20.04から22.04へアップグレードしたら、Apache2が使えなくなる現象が起きました。
原因としてPHPのバージョンが上がっただけだったんですが、当然phpMyAdminにも動作対象のPHPバージョンがありまして。
そして、OSを22.04から24.04へ上げた際、今度はphpMyAdminのバージョンが古く非対応になり使えなくなる現象が起きました。
なので今回は、「バージョンアップしたPHPのバージョンに合わせてphpMyAdminをバージョンアップした際の忘備録」として記載した内容となります。
注意点として、最初にどのようにしてphpMyAdminを導入したかで変わるみたいなのですが、筆者はaptで導入した際の流れになります。
わからなくなったら、次の記事を参考に再インストールしても問題ありません。
0.実行環境
■サーバ環境
・さくらVPS(メモリ:2GB、CPU:3コア、SSD:200GB)
・LinuxOS:Ubuntu22.04LTS, 24.04LTS
・Apache:2.4
・MySQL:8.0
・PHP:7.4、8.1、8.4
1.現状の確認
現状の「phpMyAdmin」、「PHP」、「MySQL」のバージョンを確認します。
これはphpMyAdminにログインし、ホームの右側のペインを見ると判ります。

2.phpMyAdminのバージョンアップ
まずはApache2とMySQLのサービスを止めます。↓
sudo systemctl stop apache2
sudo systemctl stop mysql
次に、確認したPHPのバージョンに合ったphpMyAdminを探します。
こちらのphpMyAdminのHPから確認できます。
とりあえず最新版を入れておけば特段問題ありませんが、利用しているPHPやMySQL・MariaDBが古すぎると使えませんので、そこだけ注意してください。
phpMyAdminはPHPとMySQLを使うことから、この両方のバージョンを合わせなければいけないので、バージョン管理がとても面倒・・・
例えば現在の筆者のphpMyAdminのバージョンが4.9.5なのですが、これを調べてみると・・・↓

こんな感じで、PHPのバージョンが5.5~7.4、MySQLのバージョンが5.5~最新版、のように確認できます。
この要領で自分の環境にあったphpMyAdminのバージョンを探してください。(あるいはPHP、MySQLのバージョンをphpMyAdmin側に合わせてください。)
バージョンが判明したら、そのバージョンをDLします。
ここでは現状最新版の5.2.2にバージョンアップする例になります。
最新版ならボタンから行けますし、↓

過去のリリース版なら、下図の中のZIPファイルをDLします。↓

DLしたファイルを、SFTP接続やWebmin等のサーバ管理ツールを用いてサーバ上の任意のディレクトリにアップロードします。
もちろんサーバ上のブラウザを使って直接ダウンロードしても良いです。
次にZIPファイルを解凍します。↓
sudo unzip [zipファイルの絶対パス/ファイル名]
phpmyadminフォルダとして解凍されるはず。
次に、現行のphpmyadminフォルダのバックアップを取ります。↓
sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin_bk
lsコマンド等で変更が確認できたら、同じディレクトリに、先ほど回答したフォルダを移動してあげます。↓
筆者はダウンロードフォルダに解凍していたので、そこから移動した例となります。
sudo cp -r /home/ubuntu/Downloads/phpmyadmin /usr/share/phpmyadmin
次に、コンフィグファイルのサンプルをコピーします。
※これはphpMyAdminのバージョンによって異なります
sudo cp -r /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
次にテキストエディタでコンフィグデータを修正します。↓
自分はGEditをよく利用するのでその例となりますが、ここはお好みで。
sudo gedit /usr/share/phpmyadmin/config.inc.php
コンフィグファイルの次の値を修正します。↓
$cfg['blowfish_secret'] = 'ここには任意の32文字の文字・数字の羅列を書き込む'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg[‘TempDir’] = ‘/tmp’;
「blowfish_secret」はクッキーに関するもので、関数だけセットされているので値だけ入れてください。(入れないとログイン後の画面にずっとNoticeが出てうざいです。)
「TempDir」は一時ファイル(キャッシュ)の保存場所になります。この行ごと上記の下にコピペすればOKです。(これも記載しないと、ログイン後の画面にずっとNoticeが出てうざいです。)
記載はこんな感じ。↓

次に、一時ファイルを保存する場所を作ってあげます。↓
sudo mkdir /usr/share/phpmyadmin/tmp
最後に、止めていたApache2とMySQLのサービスを開始し、phpMyAdminが問題なく表示されれば完了!↓
sudo systemctl restart apache2
sudo systemctl restart mysql
動かない場合は、先ほどの入力値のスペルミスかもしれませんので、「//」でコメントアウトして切り分けてみるといいです。(このコンフィグファイルが無くても動作します。)
3.最後に
アプリケーションのバージョンの兼ね合いとかがあって、なかなかLinuxサーバを管理するのは大変ですね。
▼オススメ教本▼

コメント