Webサーバは、世界で最も使われているApacheを使います。
ApacheをSSL対応にするためには、mod_sslとOpenSSLが必要です。
以下に、Apache+mod_ssl+OpenSSLのインストールについてまとめてあります。
以下のソフトをダウンロードし、/usr/local/pubに格納します。
mod_sslは、Apacheのソースに対して、パッチをかけるので、バージョンに注意が必要です。
ftp://ring.so-net.ne.jp/pub/net/apache/dist/ apache_1.3.14.tar.gz 2000/10/11 1.8MB
http://www.modssl.org/source/ mod_ssl-2.7.1-1.3.14.tar.gz 2000/10/14 800KB
http://www.openssl.org/source/ openssl-0.9.6.tar.gz 2000/09/24 2MB
Webサーバを起動するためのユーザを作成します。
unix# adduser ユーザ名:wmaster グループ名:env |
mod_sslを使うためには、OpenSSLが必要です。
unix# cd /usr/local/src unix# gzip -cd ../pub/openssl-0.9.6.tar.gz | tar -xvf - unix# cd openssl-0.9.6 unix# ./config -fPIC unix# make unix# make install |
Apacheをメイクするための準備をします。 実際にメイクするのは、mod_sslをインストールして、ソースにパッチを当てた後です。
unix# cd /usr/local/src unix# gzip -cd ../pub/apache_1.3.14.tar.gz | tar -xvf - unix# cd apache_1.3.14 unix# setenv OPTIM -O2 unix# ./configure --prefix=/usr/local/apache --enable-module=so (※ここで、make; make installは、しない) |
次に、Apacheのソースにパッチをかけ、mod_sslを組み込みます。
unix# cd /usr/local/src unix# gzip -cd ../pub/mod_ssl-2.7.1-1.3.14.tar.gz | tar -xvf - unix# cd mod_ssl-2.7.1-1.3.14 unix# ./configure --with-apache=../apache_1.3.14 --prefix=/usr/local/apache \ --enable-shared=ssl --with-ssl=/usr/local/ssl (※ここで、make; make installは、しない) |
Apache+mod_sslのメイクを行います。
unix# cd /usr/local/src unix# cd apache_1.3.14 unix# make |
SSL用の証明書を作成してから、インストールします。
unix# make certificate Signature Algorithm ((R)SA or (D)SA) [R]: 1. Country Name (2 letter code) [XY]:JP 2. State or Province Name (full name) [Snake Desert]:Ishikawa 3. Locality Name (eg, city) [Snake Town]:Kanazawa 4. Organization Name (eg, company) [Snake Oil, Ltd]:ASH 5. Organizational Unit Name (eg, section) [Webserver Team]:webmaster 6. Common Name (eg, FQDN) [www.snakeoil.dom]:www.ash.jp 7. Email Address (eg, name@FQDN) [www@snakeoil.dom]:info@ash.jp 8. Certificate Validity (days) [365]: Certificate Version (1 or 3) [3]: Encrypt the private key now? [Y/n]: Enter PEM pass phrase:XXXXXXXX Verifying password - Enter PEM pass phrase:XXXXXXXX unix# make install |
Apacheを自動起動できるように、パスフレーズを解除します。 ただし、セキュリティ上は、パスフレーズは解除せず、起動する毎にパスフレーズを入力することをお勧めします。
unix# cd /usr/local/apache/conf/ssl.key unix# cp -p server.key server.key.org unix# openssl rsa -in server.key.org -out server.key パスフレーズの入力 |
unix# cd /usr/local/apache/conf/ unix# vi httpd.conf (cp /conf/httpd/httpd.conf .) ・サーバ名の設定 ServerName www.ash.jp ・1つのログに詳細情報を出力するための設定 #CustomLog /usr/local/apache/logs/access_log common CustomLog /usr/local/apache/logs/access_log combined ・ディレクトリのデフォルトインデックスファイルの設定 DirectoryIndex index.html index.htm index.cgi ・CGIの設定 <Directory "/usr/local/apache/cgi-bin"> Options None FollowSymLinks ExecCGI </Directory> AddHandler cgi-script .cgi ・プロキシの自動設定のための設定 AddType application/x-ns-proxy-autoconfig .pac |
Webサーバを自動起動に設定します。 起動にには、/etc/rc2.dディレクトリ配下のシェルを実行するため、Swwhttpdを作成します。 このシェルを起動すると、httpサーバとhttpsサーバが、バーチャルホストにより動作するようになります。
unix# cd /etc/rc2.d unix# vi Swwhttpd #!/bin/sh case "$1" in start) apachectl sslstart ;; stop) apachectl stop ;; *) echo "Usage: `basename $0` {start|stop}" >&2 ;; esac exit 0 unix# chmod +x Swwhttpd |
ブラウザで、以下のURLにアクセスしてみます。
https://www.ash.jp/ |