macOS に標準インストールされている Apache httpd を利用する方法

投稿者 : OSCA

関東地方の美しい夜景を観にいこう。 夜景サイト「夜景散歩」で夜景スポットを検索

 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 の利用方法について解説しました。

Apache httpd 入門へ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。
個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca