MacでApache/MySQL/PHP環境を作る

2024-03-05
0

WordPressのローカル開発環境を作るため、環境を構築してみました。

XAMPPやMAMPを使うのが一般的だと思いますが、今回は手動で構築しました。

各種ツールのインストール

Homebrewでインストールします。

Apache(httpd)はMac標準で入ってるっぽいんですが、一応Homebrewからインストールします。

phpとmysqlについては自分が利用しているレンタルサーバーに合わせてバージョン指定しています。

brew install httpd mysql@5.7 php@8.2 phpmyadmin

設定ファイルの編集

/opt/homebrew/etc/httpd/httpd.conf

# 必要であればポートを変更
Listen 8888

# 以下2行のコメントアウトを外す
LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so

# ドキュメントルートを変更
DocumentRoot "/Users/xxxxx/wordpress"
<Directory "/Users/xxxxx/wordpress">
    # ドキュメントルート内の.htaccessを有効化
    AllowOverride All
</Directory>

# DirectoryIndexにindex.php(とindex.htm)を追加
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php
</IfModule>

# phpmyadminへのエイリアスを追加
<IfModule alias_module>
    Alias /phpmyadmin /opt/homebrew/share/phpmyadmin
    <Directory /opt/homebrew/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>
</IfModule>

# php-fpmの設定を追加
<FilesMatch \\.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

サービスの開始

brew services start httpd
brew services start mysql@5.7
brew services start php@8.2

※この作業以降にApacheの設定ファイルを変更した場合、サービスの再起動が必要

brew services restart httpd

PHP/MySQLの設定

# PHPへのパスを通す
echo 'export PATH="/opt/homebrew/opt/php@8.2/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/php@8.2/sbin:$PATH"' >> ~/.zshrc

# mysqlへのパスを通す
echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

# rootのパスワード設定
mysql -u root
set password for root@localhost='xxxxxxxx';
exit;

# パスワード設定後にログインする場合は以下のコマンドを使う
mysql -u root -p

phpMyAdminへのログイン

ブラウザで http://locallhost:8888/phpmyadmin へアクセス

設定したパスワードでログインできるか確認

ドキュメントルートへのアクセス

ブラウザで http://locallhost:8888 へアクセス

ドキュメントルートに配置したコンテンツが表示されるか確認

おわり

以上です。

めんどくさかったんで普通にMAMP使ったほうがいい。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です