Mac OSXに標準で入っているApache HttpServerの使い方・ログの位置メモ


Macには、Apache HttpServerが標準でインストールされており、コマンドを叩くだけで簡単にHTTPサーバを立ち上げることができます。

※Windowsでは標準でインストールされていないので、Apache HttpServerをダウンロードしてインストールする作業が必要になります。

「Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門」でWebのインフラ周りの基礎を復習しようと思ったのですが、

本書はWindowsを前提に記述されています。

なので、Apacheのログやドキュメントルートなどの設定をMac用に読み替えなければなりませんでした。

そこで、Mac環境における起動方法、ドキュメントルート、ログの位置等をメモしておきます。

※ログの位置や名前などはhttpd.confで設定を変更することが可能です。以下は、「Macに標準でインストールされているApacheをデフォルト設定でそのまま使う場合」であることを前提にします。

起動

sudo apachectl start

起動・停止・再起動はスーパーユーザで実行する必要あり。

停止

sudo apachectl stop

再起動

sudo apachectl restart

起動確認

ps aux | grep httpd

を実行して、

(自分のユーザー名)            8473   0.0  0.0  2432804   1952 s003  S+    9:35PM   0:00.00 grep httpd

以外の行があれば起動中。

ドキュメントルート

HttpServerが公開するindex.htmlなどが保存されている場所。

/Library/WebServer/Documents/

例えば、ここにtest.htmlとtest.cssを作成。

test.html


<html>
<head>
  <title>TestPage</title>
  <link rel="stylesheet" type="text/css" href="test.css" />
</head>
<body>
  <h1>This is test page</h1>
  <!-- PoweredByMacOSX.gifは最初からドキュメントルートディレクトリに配置されている-->
  <img src="PoweredByMacOSX.gif" /> 
</body>

</html>

test.css

h1 {
  color:red;
}

http://localhost/test.html

にブラウザからアクセスして、きちんと表示されていればOK。

※スーパーユーザでないとこのディレクトリに書き込み権限がないかも。

設定ファイルの位置

/etc/apache2/httpd.conf

ログの位置

/private/var/log/apache2/

アクセスログがaccess_log,エラーログがerror_log。

ところで「Apache HTTP Server」のことを「Apache」って呼ぶのがあまりしっくりこないのは私だけでしょうか。

Apache製のプロダクトなんてHTTP Server以外にも死ぬほどありますし、なんだか「Windows」のことを「Microsoft」って呼ぶくらい違和感あるんですよね。。。