$ brew install httpd
httpd.conf
)/usr/local/etc/httpd/httpd.conf
httpd.conf
を設定すれば良い。 /etc/apache2/httpd.conf
は、MacにプリインストールされているApache
の設定ファイルなので間違えない。 brew install httpd
でインストールした設定ファイルは、/usr/local/etc/httpd/httpd.conf
。/usr/local/etc/httpd/extra/httpd-vhosts.conf
でバーチャルホストごとに設定する。
設定は、アクセスログをCustomLog
ディレクティブ、エラーログをErrorLog
ディレクティブに指定する。
設定例)/usr/local/etc/httpd/extra/httpd-vhosts.conf
ErrorLog "/usr/local/var/log/httpd/sample.local-error_log"
CustomLog "/usr/local/var/log/httpd/sample.local-access_log" common
Homebrewでインストールしたapache2のログ関連ファイルは、慣例として/usr/local/var/log/httpd
以下に配置。
/usr/local/etc/httpd/httpd.conf
に以下の行を追加する。
libphp7.so
のパスは、$ which php
で調べた。
+ LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so // if PHP 7.2
+ # LoadModule php7_module /usr/local/opt/php@7.3/lib/httpd/modules/libphp7.so // if PHP 7.3
+ <IfModule php7_module>
+ AddType application/x-httpd-php .php
+ </IfModule>
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
ref.
ファイル名を指定していないアクセスに対して表示するファイルを指定。
以下の指定では、index.html -> index.phpの順で探索する。
<IfModule dir_module>
+ DirectoryIndex index.html index.php
- DirectoryIndex index.html
</IfModule>
/usr/local/etc/httpd/httpd.conf
を以下のように修正。
- # LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
+ LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
/usr/local/etc/httpd/httpd.conf
のVirtual hosts
のコメントアウトを解除。
# Virtual hosts
- # Include /usr/local/etc/httpd/extra/httpd-vhosts.conf
+ Include /usr/local/etc/httpd/extra/httpd-vhosts.conf
/usr/local/etc/httpd/extra/httpd-vhosts.conf
にVirtual hosts
を設定。
以下は名前ベース(ServerName
)の指定例。
名前ベースのVirtual hosts
では、アクセスしたホストとServerName
が一致する設定が適用される。httpd-vhosts.conf
に一致する設定がない場合は、httpd.conf
の設定が適用される。
<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot "/var/www/htmlc/example.com"
ServerName example.com
ServerAlias www.example.com
ErrorLog "/var/log/httpd/example.com-error_log"
CustomLog "/var/log/httpd/example.com-access_log" common
<Directory "/var/www/html/example.com">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
# AllowOverride None
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
</VirtualHost>
Options indexes FollowSymLinks
のindexes
を削除。
ref.
/private/etc/hosts
に以下を追加(ドメインがexmaple.com
の場合)。
127.0.0.1 example.com
brew
でインストールした場合は、下記コマンドで実行可能
sudo brew services start httpd
sudo brew services stop httpd
sudo brew services restart httpd