トップ 最新 追記

Cocoa練習帳

iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど

2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|

2025-04-01 [macOS] 組み込みApache2とHomebrewのPHP

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

認証局を作成する。

  • 「キーチェーンアクセス」アプリを起動する。
  • メニュー「キーチェーンアクセス」→「認証局アシスタント」→「認証局を作成...」を選択する。
  • 情報を記入して作成する。
    • 名前: MyCodeCA※例
    • 固有名のタイプ: 自己署名ルートCA
    • ユーザ証明書: コード署名
    • 「デフォルトを無効化」はチェックしない
    • 「このCAをデフォルトにする」をチェックする
    • メールの送信先: 自分のメールアドレス
  • キーチェーンアクセスで、作成した証明書をダブルクリックする。
  • 「この証明書を使用するとき」を「常に信頼」に変更する。

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

トップ 最新 追記