「SSL」の設定

通信内容を暗号化する為にSSLを利用します。

「mod_ssl」のインストール
[root@CentOS ~]# yum -y install mod_ssl <= 「mod_ssl」のインストール
[root@CentOS ~]# yum clean packages <= ダウンロードしたパッケージの削除
鍵・証明書の作成

サーバ用秘密鍵の作成

CentOSのバージョンによって作業場所を変更します。

[root@CentOS ~]# cd /usr/share/ssl/certs <= 「CentOS4.1」の場合
[root@CentOS ~]# cd /etc/pki/tls/certs <= 「CentOS5.0」の場合
[root@CentOS certs]# make server.key <= サーバー用秘密鍵作成

Enter pass phrase: <= パスフレーズ
Verifying - Enter pass phrase: <= パスフレーズ(確認)

このままですと「Apache」を起動するたびにパスフレーズを聞かれますので、パスフレーズを削除します。

[root@CentOS certs]# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: <= サーバ用秘密鍵作成時のパスフレーズ入力

サーバ用公開鍵の作成

[root@CentOS certs]# make server.csr

Country Name (2 letter code) [GB]: JP <= 国名
State or Province Name (full name) [Berkshire]: Chiba <= 都道府県名
Locality Name (eg, city) [Newbury]: Matsudo <= 市町村名
Organization Name (eg, company) [My Company Ltd]: crimson-snow.net <= サイト名
Organizational Unit Name (eg, section) []: <= 空ENTER
Common Name (eg, your name or your server's hostname) []: crimson-snow.net <= ホスト名
Email Address []: kaz@crimson-snow.net <= 管理者用メールアドレス

A challenge password []: <= 空ENTER
An optional company name []: <= 空ENTER

サーバ用証明書の作成

[root@CentOS certs]# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365

権限の変更

サーバ用の秘密鍵・公開鍵・証明書をrootのみ参照できるようにします。

[root@CentOS certs]# chmod 400 server.*
SSL設定ファイルの設定
[root@CentOS ~]# vi /etc/httpd/conf.d/ssl.conf <= 設定ファイルの編集
「CentOS4.1」の場合
#DocumentRoot "/var/www/html"
↓
DocumentRoot "/var/www/html" <= コメント解除(SSL認証を行うドキュメントルートを指定)

SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
↓
SSLCertificateFile /usr/share/ssl/certs/server.pem <= サーバ用証明書を指定

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
↓
SSLCertificateKeyFile /usr/share/ssl/certs/server.key <= サーバ用秘密鍵を指定

「CentOS5.0」の場合
#DocumentRoot "/var/www/html"
↓
DocumentRoot "/var/www/html" <= コメント解除(SSL認証を行うドキュメントルートを指定)

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
↓
SSLCertificateFile /etc/pki/tls/certs/server.pem <= サーバ用証明書を指定

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
↓
SSLCertificateKeyFile /etc/pki/tls/certs/server.key <= サーバ用秘密鍵を指定

「Apache」を再起動し、設定を反映させます。

[root@CentOS ~]# /etc/rc.d/init.d/httpd restart

SSL認証を行うページにアクセスする為にルータでポートの443番を開けます。
http://サーバのIPアドレス/ を
https://サーバのIPアドレス/ とアクセスして、アクセス出来れば問題ありません。

▲ページのトップへ