ユーザーディレクトリの公開 on macOS Mojave

概要

以下のようにブラウザからユーザーディレクトリ配下のリソース ('/Users/yossan/Sites/') にアクセス出来るようにする。

http://localhost/~yossan

MEMO:

  • ~ によってユーザーディレクトリ配下のフォルダを検索してくれる

以下、/Users/yossan/Sites 配下を公開するまでの手順 なおApacheのバージョンは 2.4 である。

ユーザーディレクトリの公開手順

httpd.conf の修正

$ sudo vim /etc/apache2/httpd.conf 

以下のコメントを外す。

LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so

更に以下のコメントを外し、 httpd-userdir.conf を インクルードする。

Include /private/etc/apache2/extra/httpd-userdir.conf

.hadaccess の上書きと URLの再設定を許可する

<Directory "/Library/WebServer/Documents">
    #
    # 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

Memo:

  • AllowOverride None から AllowOverride All

ユーザーディレクトリの公開設定

/Users/yossan/Sites の公開設定を行う。

$ sudo vim /etc/apache2/extra/httpd-userdir.conf

以下のコメントを外す。

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

ユーザーディレクトリ(/Users/yossan/Sites) の公開設定は以下のファイルで行う。

$ sudo vim /etc/apache2/extra/yossan.conf
<Directory "/Users/yossan/Sites/">
    Options Indexes MultiViews
    Require all granted
</Directory>
  • 内容は Guest.conf の中身をコピーして、 パスを Guest から yossan に変更

ユーザーディレクトリの作成

$ cd ~/
$ mkdir Sites && cd Sites
$ vim index.html
Hello World

Apacheの再起動

$ sudo apachectl restart

これによって http://localhost/~yossan でアクセスすることが可能となる

参照

Install Apache, MySQL, PHP macOS Mojave 10.14 – Hitesh Jangid – Medium

Macでローカルサーバー構築あれこれ - Qiita