Source Channel

ざっくばらんに書きます

macのlocalhostでユーザディレクトリを有効にする

お題の通りです。備忘録。

はじめに

・OSはOS X 10.11 El Capitan

・この記事はお使いのマシンにApacheがインストールされていることを前提とします。

Apacheの起動確認

WEBブラウザを立ち上げて、「http://localhost/」にアクセス

「It works!」と表示されればWEBサーバーは起動されています。

起動されていなかった場合は以下のコマンドをターミナルに入力して起動し、上の手順で確認します。

$ sudo apachectl start

ついでにマシンの起動時に自動的にApacheが起動されるように設定しておきましょう。

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

httpd.conf 編集

Apacheの起動が確認できれば、次は設定ファイルのhttpd.confを編集します。

以下のコマンドによりvimによる編集を開始します。

$ sudo vim /etc/apache2/httpd.conf

編集箇所

vimエディタは、「i」キーを押下して編集モードを開始し、「esc」キーで編集を終了します。ファイルを保存してエディタを終了する際には編集モードではない時に「:wq」と入力してEnterです。

#のコメントアウトを外します。

#LoadModule userdir_module libexec/apache2/mod_userdir.so

LoadModule userdir_module libexec/apache2/mod_userdir.so

 

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

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

 

httpd-userdir.conf 編集

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

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

 

ユーザーのホームディレクトリに「Sites」フォルダを作成する

以下のコマンドによりホームディレクトリに「Sites」フォルダを作成します。既に作っている場合には実行する必要はありません。

なお、フォルダの名前を「public_html」にしても後で「You don't have permission!」と怒られるので諦めて「Sites」にしておきましょう。

$ mkdir ~/Sites

 

{username}.conf 作成

ここで言う「{username}」とは、マシンのユーザ名ですので適宜読み替え・書き換えて下さい。

※例えばユーザ名が「taro」なら作成するファイルは「taro.conf」となります。

以下のコマンドにより{username.conf}を作成します。

$ sudo vim /etc/apache2/users/{username}.conf

続けて以下のように書き込みます。

<Directory "/Users/{username}/Sites">
   AddType text/html .shtml .html
   AddHandler server-parsed .shtml .html
   Options Indexes MultiViews FollowSymlinks Includes
   AllowOverride all
   Require all granted
</Directory>

以上になります。あとはSitesにファイルを置いて「http://localhost/~{username}/{FileName}」にアクセスすれば見れるようになっているはずです。

お疲れ様でした。