macOS には標準で Apache httpd がインストールされているのはご存知でしょうか? 本稿では macOS に標準インストールされた Apache httpd を利用する方法について解説します。
Apache httpd の存在を確認しよう
まずはお使いの macOS に本当に Apache httpd がインストールされているかを確認してみましょう。 ターミナルを開いて、次のように which コマンドを実行してみましょう。 httpd がインストールされているパスを確認することができます。
$ which httpd
/usr/sbin/httpd
また Apache httpd を起動したり停止したりするためのコントローラとなる apachectl がインストールされていることも確認しましょう。
$ which apachectl
/usr/sbin/apachectl
ここまでで Apache httpd が macOS にインストールされていることが確認できました。
インストールされている Apache httpd のバージョンは?
Apache httpd がインストールされていることは確認できましたが、インストールされている Apache httpd のバージョンはいくつなのでしょうか? 上で調べた httpd コマンドに -version オプションを付けて実行することで、バージョンを確認することができます。 筆者の macOS Sierra では次のように 2.4.25 がインストールされていることが確認できました。
$ /usr/sbin/httpd -version
Server version: Apache/2.4.25 (Unix)
Server built: Feb 6 2017 20:02:10
Apache httpd を起動・停止してみよう
さっそく Apache httpd を起動してみましょう。 起動・停止は、先ほどインストールされていることを確認した apachectl を利用します。 次のように sudo で apachectl に start を指定してコマンドを実行します。
$ sudo /usr/sbin/apachectl start
とくにエラーメッセージが表示されなければ起動は完了です。 ブラウザを開いて http://localhost にアクセスしてみてください。「It works!」という Apache httpd の初期画面が表示されたでしょうか? (プロキシの設定をしている方はネットワーク設定で「プロキシ設定を使用しないホストとドメイン」に localhost があることを確認してください)
Apache httpd を停止するには、次のように stop を指定してコマンドを実行します。
$ sudo /usr/sbin/apachectl stop
macOS を起動・再起動した際に自動的にバックグランドサービスとして Apache httpd を起動するように設定したい場合、次の launchctl コマンドで設定することができます。
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Apache httpd の自動起動を止めたい場合は、次のコマンドで設定できます。
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
各種設定を確認しよう
ここまでで Apache httpd が起動・停止できることまで確認できました。 あとは自分自身でコンテンツや設定を変更したいことでしょう。 それぞれについて、ファイルの位置を確認します。 Apache httpd の設定ファイル httpd.conf は、次のように /etc/apache2/httpd.conf です。
$ ls -l /etc/apache2
total 200
drwxr-xr-x 26 root wheel 884 4 8 2017 extra
-rw-r--r-- 1 root wheel 20837 4 8 2017 httpd.conf
-rw-r--r-- 1 root wheel 20785 7 3 2015 httpd.conf.pre-update
-rw-r--r-- 1 root wheel 20785 10 4 2015 httpd.conf~previous
-rw-r--r-- 1 root wheel 13077 8 9 2016 magic
-rw-r--r-- 1 root wheel 61126 2 7 2017 mime.types
drwxr-xr-x 4 root wheel 136 5 31 02:07 original
drwxr-xr-x 3 root wheel 102 8 9 2016 other
drwxr-xr-x 4 root wheel 136 4 8 2017 users
次に確認したいのは、コンテンツを格納する DocumentRoot の場所です。 httpd.conf を開いて DocumentRoot の記述を確認すると、/Library/WebServer/Documents だということがわかります。
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Library/WebServer/Documents"
ここまで確認できれば、あとは自身が開発する WEB サービスにあわせてコンテンツと設定を変更するだけです。
おわりに
本稿では macOS に標準インストールされている Apache httpd の利用方法について解説しました。