Apache を稼動する

Apache をインストールする

今回は、Apache 2.2 系をインストールする。

# cd /usr/ports/www/apache22
# make fetch-recursive
# make install clean

サーバーの設定を確認する

# サーバーのホスト名を確認する
# hostname
www.example.com

# 設定されていない場合、もしくは設定と異なる場合は
# hostname www.example.com

# rc.conf の設定名とホスト名が同じか確認をする
# less /etc/rc.conf

# -- sysinstall generated deltas -- # Fri May 16 03:25:40 2008
# Created: Fri May 16 03:25:40 2008
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
hostname="www.example.com"

# hosts ファイルにホスト名が正しく設定されているか確認をする
# less /etc/hosts
127.0.0.1               localhost localhost.my.domain

# 記載されていない場合は記述をする
# vi /etc/hosts
127.0.0.1               localhost localhost.my.domain www.example.com
# サーバーに割り当てられているIPアドレス
192.168.0.9             www.example.com

正しく設定が行われていない場合は、下記のようなエラーメッセージが記録されている。

# tail /var/log/httpd-error.log
[Mon May 19 10:22:31 2008] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "example.example.co.jp"

Apache の設定を行う

# rc.conf に Apache の起動設定を記述する
# cp /etc/rc.conf /etc/rc.conf.orig
# vi /etc/rc.conf
apache2_enable="YES"
apache2ssl_enable="YES"

# SSL の秘密鍵と証明書を置くフォルダを作成する
# cd /usr/local/etc/apache22/
# mkdir ssl.key ssl.crt
# chmod 0700 ssl.key ssl.crt

# 秘密鍵を生成する
# この秘密鍵の生成方法は数通りあるので、「openssl csr」やベリサインのサイトなどを参照。
# openssl genrsa -out /usr/local/etc/apache22/ssl.key/server.key 1024
Generating RSA private key, 1024 bit long modulus
.++++++
.................................................++++++
e is 65537 (0x10001)

# CSR を生成する
# 入力内容は http://www.verisign.co.jp/server/help/csr/capache_new.html を参照する。
# openssl req -new -key /usr/local/etc/apache22/ssl.key/server.key -out /usr/local/etc/apache22/ssl.crt/server.csr

# 証明書に署名する
# openssl x509 -in /usr/local/etc/apache22/ssl.crt/server.csr -out /usr/local/etc/apache22/ssl.crt/server.crt -req -signkey /usr/local/etc/apache22/ssl.key/server.key
Signature ok
(上記の入力内容が表示される)
Getting Private key

# httpd-ssl.conf の設定を変更する
# cp /usr/local/etc/apache22/extra/httpd-ssl.conf /usr/local/etc/apache22/extra/httpd-ssl.conf.orig
# vi /usr/local/etc/apache22/extra/httpd-ssl.conf
# ディレクトリを修正する

#SSLCertificateFile "/usr/local/etc/apache22/server.crt"
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/server.crt"

#SSLCertificateKeyFile "/usr/local/etc/apache22/server.key"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/server.key"

#SSLCACertificatePath "/usr/local/etc/apache22/ssl.crt"
SSLCACertificatePath "/usr/local/etc/apache22/ssl.crt/ssl.crt"

# Apache を起動する
# apachectl configtest
Syntax OK
# /usr/local/etc/rc.d/apache22 start

正常に Apache が起動しているかを確認する

http://www.example.com/ へブラウザでアクセスをしてみる。正常にアクセスできない場合、

# tail /var/log/httpd-error.log

でひとつひとつエラーを解決する。