Ubuntu(16.04)にphpMyAdminを手動インストール。

Ubuntu 16.04 で PHP5 を使いたくて、非公式リポジトリから PHP5.6 をシステムにインストールしてみたのです。それ自体は問題なくインストール終了。

が、PHP5.6 が非公式な所為で、公式リポジトリから apt で phpMyAdmin をインストールしようとすると、ファイルの依存関係が面倒くさい(問答無用で PHP7.0 をインストールしようとする)ことになってしまって、さあどうしよう…というのが前回の話

で、いろいろ試行錯誤した[注1]結果、手作業でインストールするのが早かろう、ということで、その作業記録。

今回、インストールする phpMyAdmin は、最新版ではなく 4.4.15.5 にしました。理由はこちら

【2016.04.28 追記】

訳あって OS を再びクリーンインストールした後に ver. 4.6.0 を手動インストールしてみたところ、なんの問題もなく動かすことができました。以下の記事の 4.4.15 を 4.6.0 に読み替えて作業をしても上手くいくかと思われます。

以下、すべてターミナルでのコマンドライン操作。

まず、作業をサクサク進めるために root ユーザになります。

sudo su

phpMyAdmin は /usr/share に置くのが流儀っぽいので、/usr/share に移動して phpMyAdmin 4.4.15.5 をダウンロード。

cd /usr/share
wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15.5/phpMyAdmin-4.4.15.5-all-languages.zip

ダウンロードするファイルの URL は公式ダウンロードページで確認できます。

次に、ダウンロードしたファイルを展開して、現れたフォルダをリネーム。更にそのフォルダのパーミッションを変更。

unzip phpMyAdmin-4.4.15.5-all-languages.zip
mv phpMyAdmin-4.4.15.5-all-languages phpmyadmin
chmod -R 0755 phpmyadmin

続いて Apache の設定。http://yourDomain/phpmyadmin/ にアクセスすると phpMyAdmin が見えるように設定します。

/etc/apache2/sites-available/ にサイト設定ファイルを作成。ファイル名は任意ですが、判りやすそうなので phpmyadmin.conf という名前にしておきましょ。ファイルの内容は、

Alias /phpmyadmin "/usr/share/phpmyadmin/"
<Directory "/usr/share/phpmyadmin/">
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

このサイト設定を Apache に読み込ませて、Apache を再起動。

a2ensite phpmyadmin.conf
service apache2 restart

これでひとまずOK。ブラウザから http://yourDomain/phpmyadmin/ にアクセスしてみて、ログイン画面が表示されたら成功。

phpmyadmin_index.png
ユーザ名:root、パスワード:mysql の root ユーザに設定したパスワード でログインできる筈。

ログインしてみると、おそらく

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

というアラートが表示されているかと。phpMyAdmin用のデータベースを作成してやれば解決します。ターミナルで mysql の作業。rootユーザで入って、phpMyAdmin が用意してくれている SQL を走らせればOK。

mysql -u root -p
(パスワードを訊かれます)

mysql> source /usr/share/phpmyadmin/sql/create_tables.sql;

必要なデータベースが作成されます。

また、

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

が表示されている場合は、/usr/share/config.inc.php (このファイルが存在しない場合は /usr/share/config.sample.inc.php をコピーして config.inc.php にリネーム)をエディタで開いて、

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

のところに適当な値を入力すればOK。

こんなところで取り敢えず大丈夫そうですか。セキュリティ方面はガバガバですが、ローカルで自分だけで使う分にはひとまず良かろう。

ということで。

[注1] 必要な PHP5.6 のモジュールをインストールした後で、phpMyAdmin の debパッケージを依存関係無視で強制インストール:

sudo dpkg -i --force-depends phpmyadmin_4.6.0-1_all.deb

で多分大丈夫なんじゃないか、と最初は思ったのです。

インストール自体は問題なく出来たのだけれど、この最新版(ver 4.6.0)の phpMyAdmin を動かしてみると、Fatal Error を吐いて止まってしまう。4.6.0 を手動でインストールしても同じエラーが出てしまいます。

※ Stack Overflow にも同じ症状が載っていますが、現時点で解決策の報告なし。
  → PHP Fatal Error with PHP 7 and phpMyAdmin | Stack Overflow

Fix するのも面倒くさそうなので、古いバージョンをインストールしてみよう。でも以前のバージョンの deb パッケージが見つけられない。どうしよう…。

と、そんなわけで、phpMyAdmin 公式ダウンロードページで配布している、ひとつ前のバージョン(4.4.15.5)を手動でインストールしてみたら上手くいった…ということなのです。

【2016.04.28 追記】

訳あって OS を再びクリーンインストール後に ver. 4.6.0 を手動インストールしてみたところ、なんの問題もなく動かすことができました。記事内の 4.4.15 を 4.6.0 に読み替えて作業をしても上手くいくかと思われます。

カテゴリ: