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
でひとつひとつエラーを解決する。