Linuxサーバ設定備忘録
本文へジャンプ
  Apacheの設定-SSL編
Apacheは世界で最も多く利用されているWebサーバです。Windows上でもLinuxディストリビューション上でも動作します。ここではセキュアなWebサーバの構築の為にApacheにSSL機能付加する方法を説明しています。インストールは、
OS:FedoraCore5
Apache:バージョン2.2.3
で行っています。

インストール

Apacheをダウンロードします。(ダウンロード時ヴァージョン2.2.3)


ダウンロードしたファイルを解凍します

# tar zxvf httpd-2.2.3.tar.gz

configureを実行してMakefileを作成します

# ./configure --enable-so --enable-ssl

コンパイル、インストールを行います

# make
# make install


設定変更

SSLが動作するようにするには、Apacheの設定ファイル(httpd.conf)を編集します。エディタでhttpd.confを開きます。

# vi /usr/local/apache2/conf/httpd.conf

SSL設定該当箇所のコメントアウトを外します

【変更前】
 # Include conf/extra/httpd-ssl.conf
【変更後】
 Include conf/extra/httpd-ssl.conf

秘密鍵、自己証明書が保存されるディレクトリに移動します。(保存されるディレクトリは、/usr/local/apache2/conf/extra/httpd-ssl.confのSSLCertificateFile,SSLCertificateKeyFileに指定されています)

# cd /usr/local/apache2/conf/

opensslコマンドで秘密鍵を作成します

# openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
.............++++++
.............++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:←パスワードを入力してEnter
Verifying - Enter pass phrase for server.key:←上と同じパスワードを入力してEnter

opensslコマンドで自己証明書を作成します

# openssl req -new -x509 -days 365 -key server.key -out server.crt
Country Name (2 letter code) [GB]:←国名を入力してEnter
State or Province Name (full name) [Berkshire]:←都道府県を入力してEnter
Locality Name (eg, city) [Newbury]:←市区町村を入力してEnter
Organization Name (eg, company) [My Company Ltd]:←会社名を入力してEnter
Organizational Unit Name (eg, section) []:←部署を入力してEnter
Common Name (eg, your name or your server's hostname) []:←サーバ名を入力してEnter
Email Address []:←管理者メールアドレスを入力してEnter

起動スクリプトを/etc/init.dへコピーします

# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd2

動作確認

Apacheを起動します

# /etc/init.d/httpd2 start
Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server www.example.com:443 (RSA)
Enter pass phrase:←先程作成した秘密鍵のパスワードを入力してEnter

OK: Pass Phrase Dialog successful.

netstatコマンドでhttpsが起動しているかを確認

# netstat -l | grep https
tcp  0  0  *:https  *:*  LISTEN←おおっ起動しているようです



Copyright©2006 Linuxサーバ設定備忘録 All Rights Reserved.