在Mojave上在本地环境中运行Apache

这是什么?

以下是在 macOS 升级时进行 Apache 配置更改的备忘录。

请注意

Mojave向けなので、他のバージョンで以下の設定をして動作を保証するものではありません。
設定時はsuper user権限で行うので、権限があるかどうか事前の確認を行ってください。
この設定は個人の開発環境用の設定で、一般公開用の設定ではありません。

方針的中文意思是指一个组织或个人为达到特定目标所采取的方法或计划。

    • ウェブサーバをmacOSに同梱されているapacheで動作させる

 

    • ユーザディレクトリを有効化し、~/{user_name}/Sites/以下をユーザのDocumentRootとする

HTTP/2を有効にする
mod_rewriteを有効にする
公開ディレクトリ内のディレクトリ表示、シンボリックリンク、Multiviewを有効にする
ミドルウェア動作の設定は行わない(例:PHP, Perl等)
VirtualHostの設定は行わない

进行设置

修改/etc/apache2/httpd.conf

    • 以下を有効化

 

    有効化するには、行頭の#を削除する
LoadModule http2_module libexec/apache2/mod_http2.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Include /private/etc/apache2/extra/httpd-userdir.conf

为了使/etc/apache2/extra/httpd-userdir.conf被加载

修正 /etc/apache2/extra/httpd-userdir.conf 文件

Include /private/etc/apache2/users/*.conf

为了让/etc/apache2/users/{user_name}.conf被加载

修改 /etc/apache2/users/{user_name}.conf

<Directory "/Users/{user_name}/Sites/">
  Options Indexes MultiViews FollowSymLinks
  Require all granted
</Directory>
    • {user_name}には/Users/に存在するユーザ名を使用する。

 

    一行目の<Directory “/Users/{user_name}/Sites/”>内のSitesを変更することでDocumentRootを変更することが可能。

创建目录

创建用户目录 {user_name}。

$ mkdir -p /User/{user_name}/Sites

启动Apache

$ sudo /usr/sbin/apachectl restart;

确认行动

用以下两个步骤来进行操作确认:
– 在浏览器的地址栏中输入127.0.0.1,显示”It works!”
– 在浏览器的地址栏中输入127.0.0.1/~{user_name}/,显示”/User/{user_name}/Sites”目录下的文件列表。

其他

尽管应该设置好了,但却无法运行。

虽然我们没有进行过正确的使用方式的调查,但是如果在没有选项的情况下执行命令,可能会出现错误提示。

$sudo /usr/sbin/apachectl;

查看日志

以下是两个日志文件:
– /var/log/apache2/error_log:记录错误信息的日志文件
– /var/log/apache2/access_log:记录访问信息的日志文件

错误日志

通过修改/etc/apache2/httpd.conf可以改变文件名。

ErrorLog "/private/var/log/apache2/error_log"

访问日志

通过修改/etc/apache2/httpd.conf文件中的以下内容,就可以像error_log一样更改文件名。

CustomLog "/private/var/log/apache2/access_log" common

参考来源

    High Sierraでローカル環境(Apacheのバーチャルホスト)が動かなくなったときの対応