apache 2

Snow Leopardでのhttpd設定について。

SSLの準備

作業ディレクトリ

とりあえず以下のようにする。

 $ mkdir /tmp/work
 $ cd /tmp/work

サーバ鍵の作成

 $ sudo openssl genrsa -out server.key 1024

証明書署名要求の作成

以下のコマンドを実行。

 $ openssl req -new -key server.key -out server.csr

この際、必要項目の入力。

 Country Name (2 letter code) [AU]:国名をいれます。日本なのでJP
 State or Province Name (full name) Some-State]:都道府県名をいれます
 Locality Name (eg, city) []:市町村名をいれます
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:組織名をいれます
 Organizational Unit Name (eg, section) []:組織ユニットもしくはセクションをいれます
 Common Name (eg, YOUR name) []:ドメインネームをいれます。「あなたの名前.ddo.jp」などです
 Email Address []:管理者のアドレスをいれます
 
 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []:何も入力せずリターン
 An optional company name []:何も入力せずリターン

個人認証局-認証局の鍵の作成

 $ sudo openssl genrsa -out ca.key 1024

個人認証局-認証局の証明書の作成

 $ openssl req -new -x509 -days 365 -key ca.key -out ca.crt

この際、必要項目の入力。

 Country Name (2 letter code) [AU]:国名をいれます。日本なのでJP
 State or Province Name (full name) [Some-State]:都道府県名をいれます
 Locality Name (eg, city) []:市町村名をいれます
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:組織名をいれます
 Organizational Unit Name (eg, section) []:組織ユニットもしくはセクションをいれます
 Common Name (eg, YOUR name) []:自分の名前や責任者の名前などを入れます。
 Email Address []:管理者のアドレスをいれます

サーバの証明書作成

 $ echo 01 > ca-cert.srl;sudo openssl x509 -CA ca.crt -CAkey ca.key \
   -CAserial ca-cert.srl -req -days 365 -in server.csr -out server.crt

server.keyとserver.crtの設置

MacOSXでは、server.key(サーバ鍵)とserver.crt(サーバ証明書)は以下のディレクトリに設置することが推奨されている。

  • /System/Library/OpenSSL/certs

これらのファイルを上記ディレクトリにコピーする。

httpd.confの編集

474行目のコメントアウトを外す。

 Include /private/etc/apache2/extra/httpd-ssl.conf

httpd-ssl.confの編集

99行目の編集。

 SSLCertificateFile "/System/Library/OpenSSL/certs/server.crt"

107行目の編集。

 SSLCertificateFile "/System/Library/OpenSSL/certs/server.key"

httpd.confのチェック

 $ apachectl configtest

Diget認証の設定

パスワードファイル設置ディレクトリの作成

 $ mkdir -p /etc/apache2/member

パスワードファイル作成

 $ cd /etc/apache2/member
 $ htdigest -c /etc/httpd/.htdigest 'Secret Zone' %USER_NAME%

<Directory>の編集

/etc/apache2/httpd.confや/etc/apache2/user/*.confの<Directory>に以下の内容を追記。

 AuthType Digest
 AuthName "Secret Zone"
 AuthDigestDomain %SOMEWHERE%
 AuthUserFile /etc/apache2/member/.htdigest
 Require user %USER_NAME%

タグ:

+ タグ編集
  • タグ:
最終更新:2011年05月01日 17:31