【Mac Mojave】HomebrewでインストールしたphpMyAdminが動かないのでソースからインストール

MacBook Air (13-inch, Early 2014)のSSDを128GBから500GBに交換しました。

標準ソケットのSSDは異常に高いのでm.2変換アダプターを噛ましてます。

変換アダプターはsintechのST-NGFF2013-Cを個人輸入。
>>>NGFF M.2 PCIe SSD Card as 2013 2014 2015 MacBook SSD

ちなみにこのアダプターを使うと標準のネジでは長さが足らない。別途少し長めのT5ネジを用意しておく必要がある。

今回はロジックボードが死んだMac Miniから取り外した。


Time Machineは使わずmacOS Mojaveのクリーンインストールを行い、5年ぶりにまっさらなMacBooK Airとなりました。

すこぶる調子が良い。

ただ下記の記事で設定していた「ローカルのphpMyAdminからリモートサーバのMySQLへの接続」に激ハマり。

>>>Kusanagi環境のMySQLにMacのphpMyAdminからリモート接続する

完全には解決はしてないのですが、とりあえず使えるようになったので、その方法と試行錯誤の記録を残す。

phpMyAdminを手動インストール

通常はパッケージ管理を簡単にするためHomebrewなどを使ってインストールするが、どうしてもうまく動かなかったので手動でインストールする。

なおphpMyAdminはApacheの公開ディレクトリに置くだけで使うことができる。

phpMyAdminのダウンロード

>>>phpMyAdmin公式ページ – ダウンロード

いまのところ最新は4.8.4だったのでダウンロード→解凍する。

解答したフォルダをリネーム

「phpMyAdmin-4.8.4-all-languages」 → 「phpmyadmin」

ドキュメントルートにコピーする

macOS Mojave標準のapachの公開ディレクトリは「/Library/WebServer/Documents/」

ここに先程のphpmyadminフォルダをコピーする。

ブラウザを開いて「http://localhost/phpmyadmin/」にアクセスすればOK。

なおユーザーディレクトリ有効にした場合は任意のディレクトリにコピーすればOK。

HomebrewでphpMyAdminをインストール

HomebrewはMacOS用のパッケージ管理システム。パッケージやライブラリの依存関係を管理してくれる。

phpMyAdminもHomebrewでインストールできる。

しかし新規インストールしたMojaveでは動作しなかった。

Homebrewのインストール

>>>Homebrew – macOS 用パッケージマネージャー

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

phpMyAdminをインストール

brew install phpmyadmin

インストールに下記のコメントが表示されるので指示に従う。

To enable phpMyAdmin in Apache, add the following to httpd.conf and
restart Apache:
    Alias /phpmyadmin /usr/local/share/phpmyadmin
    <Directory /usr/local/share/phpmyadmin/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        <IfModule mod_authz_core.c>
            Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Directory>
Then open http://localhost/phpmyadmin
The configuration file is /usr/local/etc/phpmyadmin.config.inc.phpho

HomebrewでインストールされたphpMyAdiminは「/usr/local/share/phpmyadmin」にインストールされる。

「/usr/local/share/phpmyadmin」はシンボリックリンクで実体は「/usr/local/Cellar/phpmyadmin/4.8.4/share/phpmyadmin」

httpd.confに「http://localhost/phpmyadmin/」にアクセスしたとき「/usr/local/share/phpmyadmin」にリダイレクトするようエイリアスを設定する。

httpd.confファイルは「/etc/apache2/httpd.conf」

ここに先程の書きを追記する。

Alias /phpmyadmin /usr/local/share/phpmyadmin
    <Directory /usr/local/share/phpmyadmin/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        <IfModule mod_authz_core.c>
            Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Allow from all
        </IfModule>
    </Directory>

通常はこれだけで動くはずだが「http://localhost/phpmyadmin/」にアクセスしても真っ白な画面が出るだけ。

ここから先は試行錯誤した記録。

php7_moduleの有効化

デフォルトではapacheのphpが無効になっているので有効化する。

/etc/apache2/httpd.conf:
LoadModule php7_module libexec/apache2/libphp7.so

AddType ディレクティブの確認

AddTypeディレクティブの指定は不要なはず。
httpd.confでは「Include /private/etc/apache2/other/*.conf」となっており、/private/etc/apache2/other/php7.confで下記のように追加されているため。

<IfModule php7_module>
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps

        <IfModule dir_module>
                DirectoryIndex index.html index.php
        </IfModule>
</IfModule>

同じくDirectoryIndex ディレクティブもhttpd.confもdir_moduleが有効化されているため追記は不要。


なおAddType、DirectoryIndexをあえてhttpd.confに追記しても結果は変わらず。

ユーザーディレクトリを有効化

apache標準の公開ディレクトリからユーザーローカルの公開ディレクトリに変更してみる。

下記4行のコメントアウトを外し有効化する。

/etc/apache2/httpd.conf:

LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
Include /private/etc/apache2/extra/httpd-userdir.conf

「/private/etc/apache2/extra/httpd-userdir.conf」の下記コメントを外す。

Include /private/etc/apache2/users/*.conf

「/private/etc/apache2/users/」に個人用設定ファイルを作る。たとえばユーザーが「hogehoge」であれば下記ファイルを作る。

/private/etc/apache2/users/hogehoge.conf:

DocumentRoot "/Users/{ユーザー名}/Sites/"
<Directory "/Users/{ユーザー名}/Sites/">
    AllowOverride All
    Options Indexes FollowSymLinks Multiviews
    Require all granted
</Directory>

まとめ

HomebrewからのインストールではphpMyAdminが動かない。

phpMyAdmin/index.phpにecho ‘TEST’;などと書けば表示されるのでエイリスは生きているようだが。。。


とりあえず手動インストールで動いているのでまた時間があるときに調査しよう。。。

関連記事

コメントを残す

メールアドレスが公開されることはありません。