#0. 経緯
MacでローカルのWebサーバが使いたかったので調べながらやってみたのですが、ちょっと悩んだので自分なりにまとめてみました。
#1. 環境情報
・macOS Mojave 10.14.1
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.1
・Apache/2.4.34
$ httpd -v
Server version: Apache/2.4.34 (Unix)
Server built: Aug 17 2018 16:29:43
MacにはApacheが標準インストールされているみたいです。
#2. Apacheを起動してみる
とりあえず、Apachを起動してみましょう。
$ sudo apachectl start
ブラウザでhttp://localhost/
にアクセスしてみて「It works!」と表示されれば起動成功です!
/Library/WebServer/Documents/index.html.en
が表示されているらしいです。
ちなみに停止するなら$ sudo apachectl stop
再起動するなら$ sudo apachectl restart
です。
#3. ユーザディレクトリの有効化
/Library/WebServer/Documents/index.html.en
を編集するにはroot権限が必要なので普段使いするにはあまり適していません。ログインした一般ユーザのホームディレクトリ配下のファイルにアクセスできるようにします。
まず、httpd.conf
を編集します。
$ sudo vi /etc/apache2/httpd.conf
#(前略)
#LoadModule userdir_module libexec/apache2/mod_userdir.so
#(中略)
# User home directories
#Include /private/etc/apache2/extra/httpd-userdir.conf
#(後略)
該当2行を有効化します。コメント#
を消すと有効化できます。
#(前略)
LoadModule userdir_module libexec/apache2/mod_userdir.so
#(中略)
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
#(後略)
続いて、httpd-userdir.conf
を編集します。
$ sudo vi /etc/apache2/extra/httpd-userdir.conf
#(前略)
#Include /private/etc/apache2/users/*.conf
#(後略)
該当1行を有効化します。コメント#
を消すと有効化できます。
#(前略)
Include /private/etc/apache2/users/*.conf
#(後略)
それから、[ユーザ名].conf
を編集(作成)します。[ユーザ名]
はログインユーザ名に置き換えてください。
$ sudo vi /etc/apache2/users/[ユーザ名].conf
<Directory "/Users/[ユーザ名]/Sites/">
AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
</Directory>
#4. htmlファイルを作成してブラウザからアクセスしてみる
index.html
を作成しましょう。その前にディレクトリを作ります。
$ mkdir ~/Sites
$ vi ~/Sites/index.html
<html><body><h1>Hello World!</h1></body></html>
Apachを再起動しましょう。
$ sudo apachectl restart
ブラウザでhttp://localhost/~[ユーザ名]/
にアクセスしてみて「Hello World!」と表示されれば成功です!
##【補足メモ】
/etc
は/private/etc
のシンボリックリンクでした。
$ ls -l /etc
(中略) /etc -> private/etc
また、vi
コマンドはvim
コマンドのシンボリックリンクになっていました。
$ ls -l $(which vi)
(中略) /usr/bin/vi -> vim
##【参考サイト】
▼Macでローカルサーバー構築あれこれ
https://qiita.com/YuukiWatanabe/items/f89fe047ace61d2d2b45
▼Macでローカルサーバを立ち上げる方法
http://qiita.com/shuntaro_tamura/items/bdabcb77926dc92617b1
▼MacでのApache起動について
https://qiita.com/macoto/items/08159691170c64f05f7a