iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
macOS Sequoiaで組み込みApache2とHomebrewのPHPが利用できるようになるまで手順を備忘録として残す。
HomebrewでPHPをインストールする。
$ brew install php
今回は、v.8.4がインストールされた。
Apache参照のための権限を付与して、昔のWeb共有と同様に各ユーザーのSitesディレクトリを作成する。
$ chmod o+x $HOME
$ mkdir ~/Sites
$ touch ~/Sites/.localized
認証局を作成する。
PHPモジュールを署名する。
$ codesign --sign "MyCodeCA" --force --keychain /Users/ユーザー名/Library/Keychains/login.keychain-db /opt/homebrew/Cellar/php/8.4.8/lib/httpd/modules/libphp.so
/private/etc/apache2/httpd.conf に以下の設定を追加する。
LoadModule php_module /opt/homebrew/Cellar/php/8.4.8/lib/httpd/modules/libphp.so "MyCodeCA"
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
<IfModule php_module>
PHPINIDir /opt/homebrew/Cellar/php/8.4.8/.bottle/etc/php/8.4/
</IfModule>
httpd.conf で以下の項目はコメントアウトされていたら、コメントを外す。
LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf
/private/etc/apache2/extra/httpd-userdir.conf を以下の内容に修正する。
UserDir Sites
Include /private/etc/apache2/users/*.conf
<IfModule bonjour_module>
RegisterUserSite customized-users
</IfModule>
/private/etc/apache2/users/ユーザー名.conf を以下の内容に修正する。
<Directory "/Users/ユーザー名/Sites/">
Options Indexes MultiViews FollowSymlinks
AllowOverride All
Require all granted
</Directory>
Apacheの起動停止のコマンドは以下の通り。
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist