macでApacheの設定

Tiger には デフォルトで Apache がインストールされている。今時 1.3なのは置いておき、まあこれを使うのがとりあえず手っ取り早い。

httpd.conf基本設定

/etc/httpd/httpd.conf を編集。デフォルトから変更分。

# 適切なアドレス、ドメインに
ServerAdmin webmaster@example.com
ServerName www.example.com

# あとで virtualHostで設定するのでオフにする。
# DocumentRoot "/Users/www/web"

# とりあえず全ディレクトリ、Options無し、上書き無しとする。
# 制限を緩める場合は個別ディレクトリ毎に行うこと。

    Options None
    AllowOverride None


## その他の  ディレクティブ、ユーザサイト設定、
## エイリアス、ドキュメント、CGIなどを全てコメント

# サーバ名、バージョンなどを細かく出さない。
ServerSignature Off
ServerTokens ProductOnly

# バーチャルホストの設定。名前で振り分けることにする。
Include /etc/httpd/virtual/*.conf

ヴァーチャルホストの設定を、/etc/httpd/virtual/以下に配置し、そっちで個別ディレクトリ毎の設定行う。例えば、example.conf とする。ここでは、http://example.com にアクセスしてきた場合、すべて http://www.example.com にリダイレクトする。

NameVirtualHost XXX.XXX.XXX.XXX

        ServerName www.example.com
        # ドキュメントルート
        DocumentRoot /Users/www/web
        
            Options None
            AllowOverride None
            Order allow,deny
            Allow from all
        
        # プライベート領域として、Basic認証を設定
        
            AllowOverride None
            Options None
            Order allow,deny
            Allow from all
            # Basic認証の設定。詳細は別途ぐぐれ
            AuthType Basic
            AuthName  "Please Enter Your Password"
            AuthUserFile /Users/www/.htpasswd
            Require valid-user
        

        # favicon要求が来たら、iconにあるアイコンファイルを返すように書き換え。
        RewriteEngine On
        RewriteCond %{REQUEST_URI} "favicon.ico$"
        RewriteRule "(.*)(favicon.ico$)" "/icon/favicon.ico" [N,PT]



        ServerName example.com
        # Requestを全てリダイレクト
        RedirectMatch seeother .* http://www.example.com