Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
50
Help us understand the problem. What is going on with this article?
@kid_drill

MacでApacheを立ち上げてみる

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

50
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
50
Help us understand the problem. What is going on with this article?