メモ
MacでApacheを利用しphpMyAdminを起動したかったが、Apacheにphpモジュールが無くて割と苦戦したので記録として備忘録作りました。
※記録日は2023.2.25、バージョンによって違う可能性があるためご注意!
環境
OS、ツール | バージョン |
---|---|
macOS Monterey | 12.5.1 |
Homebrew | 4.0.3 |
Apache | 2.4.55 |
PHP | 8.2.3 |
mysql | 8.0.32 |
Homebrew🍺のインストール
既にインストール済みかもしれないが念の為
① Homebrew公式ページへ移動して、インストール直下のコマンドをコピー
② ターミナルを起動してペーストし実行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew🍺経由で必要なものダウンロード
既に入っていたら特に必要ないです
① mysqlをインストール
ターミナルで以下実行
$ brew install mysql
② Apacheのインストール
ターミナルで以下実行
$ brew install httpd
③ PHPのインストール
ターミナルで以下実行
※バージョンはお好みでどうぞ!
$ brew install php@8.2
④ phpMyAdminのインストール
ターミナルで以下実行
$ brew install phpmyadmin
ダウンロード時に以下のようなメッセージが出てくるので、コピーして取っておいてください。
後で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>
httpd.confの設定変更
Apacheの設定ファイルを開く。(ターミナル経由もしくはフォルダから)
※自分の環境では以下にありました
usr/local/etc/httpd/httpd.conf
以下手順で書き換えを実施。
① Listenディレクティブの設定
ポート番号の設定をする、今回は80を利用。
Listen 80
② ServerNameディレクティブの設定
Apacheサーバのホスト名とポート番号を設定する。
初期設定だと以下のようにコメントアウトされているのでご注意。
#ServerName www.example.com:80
#を外しローカル環境を設定。
ServerName localhost:80
③ DirectoryIndexディレクティブの設定
ServerNameにリクエストした際にindex.phpを返すように追記をする。
※初期設定ではindex.htmlのみ記載されている。
DirectoryIndex index.html index.php
④ phpのモジュール有効化
今記事で書きたかった最大のポイント
この設定をしないと、Apacheを起動してもphpとして実行されない。
phpのモジュールを追記する。
※自分の環境では以下にありました
usr/local/opt/php@8.2/lib/httpd/modules/libphp.so
# php モジュールの場所は自環境に合わせて変更してください
LoadModule php_module /usr/local/opt/php@8.2/lib/httpd/modules/libphp.so
<IfModule php_module>
AddType application/x-httpd-php .php
</IfModule>
⑤ phpMyAdminの設定追記
最後尾にphpMyAdminをインストールした際にメモしたログを追記する。
# phpmyadmin
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>
phpmyadmin.config.inc.phpの設定変更
phpMyAdminの設定ファイルを開く。(ターミナル経由もしくはフォルダから)
※自分の環境では以下にありました
usr/local/etc/phpmyadmin.config.inc.php
下記手順で設定を変更。
① blowfish_secretに適当な32文字以上の文字列を設定
※暗号化のためのキーなので覚えなくていいです、ほんとに適当でいいです。
$cfg['blowfish_secret'] = '適当な32文字';
② サーバ、ホスト名の設定を変更
localhostから127.0.0.1に変更する。
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
③ DB設定のコメントアウトを外す
下記のテーブル情報取得設定のコメントアウトを外す。
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
Apacheを起動する
ターミナルで以下コマンドを実行し、Apacheを起動する。
※既に起動している場合は注意されるのでrestartもしくはstopしてからstartする。
$ sudo apachectl start
mysqlを起動する
ターミナルで以下コマンドを実行する。
$ mysql.server start
初回の場合は下記初期設定を実施する。
ターミナルで以下実行し設定を行う。$ mysql_secure_installation
最初はY(Yes)で返答し、次のパスワードの強度設定は2で設定。
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:2
新規パスワードを設定する。(8文字以上、数字、大文字と小文字の混在、特殊文字の使用)
New password:設定したいパスワード Re-enter new password:再入力
以降はYで返答して問題ないです。
ローカル環境へアクセスする
localhost/phpmyadmin/にアクセスする。
以下のように表示されていたら成功!!!お疲れ様です
わかりづらかったらすいません