LoginSignup
53

More than 1 year has passed since last update.

MacでApacheを立ち上げてみる

Last updated at Posted at 2018-11-11

0. 経緯

MacでローカルのWebサーバが使いたかったので調べながらやってみたのですが、ちょっと悩んだので自分なりにまとめてみました。

1. 環境情報

・macOS Mojave 10.14.1

terminal
$ sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.14.1

・Apache/2.4.34

terminal
$ httpd -v
Server version: Apache/2.4.34 (Unix)
Server built:   Aug 17 2018 16:29:43

MacにはApacheが標準インストールされているみたいです。

2. Apacheを起動してみる

とりあえず、Apachを起動してみましょう。

terminal
$ 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を編集します。

terminal
$ sudo vi /etc/apache2/httpd.conf
/etc/apache2/httpd.conf(編集前)
#(前略)
#LoadModule userdir_module libexec/apache2/mod_userdir.so
#(中略)
# User home directories
#Include /private/etc/apache2/extra/httpd-userdir.conf
#(後略)

該当2行を有効化します。コメント#を消すと有効化できます。

/etc/apache2/httpd.conf(編集後)
#(前略)
LoadModule userdir_module libexec/apache2/mod_userdir.so
#(中略)
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
#(後略)

続いて、httpd-userdir.confを編集します。

terminal
$ sudo vi /etc/apache2/extra/httpd-userdir.conf
/etc/apache2/extra/httpd-userdir.conf(編集前)
#(前略)
#Include /private/etc/apache2/users/*.conf
#(後略)

該当1行を有効化します。コメント#を消すと有効化できます。

/etc/apache2/extra/httpd-userdir.conf(編集後)
#(前略)
Include /private/etc/apache2/users/*.conf
#(後略)

それから、[ユーザ名].confを編集(作成)します。[ユーザ名]はログインユーザ名に置き換えてください。

terminal
$ sudo vi /etc/apache2/users/[ユーザ名].conf
/etc/apache2/users/[ユーザ名].conf
<Directory "/Users/[ユーザ名]/Sites/">
AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
</Directory>

4. htmlファイルを作成してブラウザからアクセスしてみる

index.htmlを作成しましょう。その前にディレクトリを作ります。

terminal
$ mkdir ~/Sites
$ vi ~/Sites/index.html
~/Sites/index.html
<html><body><h1>Hello World!</h1></body></html>

Apachを再起動しましょう。

terminal
$ sudo apachectl restart

ブラウザでhttp://localhost/~[ユーザ名]/にアクセスしてみて「Hello World!」と表示されれば成功です!

【補足メモ】

/etc/private/etcのシンボリックリンクでした。

terminal
$ ls -l /etc
(中略) /etc -> private/etc

また、viコマンドはvimコマンドのシンボリックリンクになっていました。

terminal
$ 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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
53