ApacheにSSL機能を追加します。SSL機能の追加にはsslモジュール(mod_ssl)を使います。また、Linux上にSSLコマンドとしてopensslがインストールされていることが条件となります。
Apacheは、Unix標準のWebサーバーです。インターネットがUNIX主導で広がったこともあり、事実上の標準となっています。詳しくは、Apacheのホームページ(日本語)を参照してください。
SSLとはSecure Socket Layerの略です。Web上の通信を暗号化するもので、クレジットカード情報を送るときなどを安全に送るために使用されます。
詳しくは、アスキーデジタル用語辞典のSSLのページなどを参照してください。
opensslはLinux上でSSL通信を実現するツールです。詳しくは、OpenSSL(日本語)ページで。
このページでは、opensslがすでに使えるものだとしています。VineLinuxではRPMパッケージでインストールされているはずです。
mod_sslはApacheでSSL通信を可能にするための拡張モジュールです。
ただし通常の拡張モジュールとは違い、Apacheにパッチをあてる必要があります。つまり、ソースから再度コンパイル、インストールする必要があるので注意が必要です。
Apacheはapache_1.3.27.tar.gz、mod_sslはmod_ssl-2.8.12-1.3.27.tar.gzを使います。
まずは、各アーカイブファイルを展開します。
パッチが当たったソースをコンパイルし、Apacheをインストールします。
./configure \ --enable-rule=EXPAT --enable-rule=SHARED_CHAIN --enable-rule=SHARED_CORE \ --enable-module=so --enable-module=ssl --enable-shared=ssl \ --enable-module=rewrite --enable-module=headers --enable-module=info \ --enable-shared=rewrite \ --enable-shared=info --enable-shared=status --enable-shared=headers |
<< STEP 0: Decide the signature algorithm used for certificate Signature Algorithm ((R)SA or (D)SA) [R]: STEP 1: Generating RSA private key (1024 bit) [server.key] STEP 2: Generating X.509 certificate signing request 1. Country Name: JA 2. State or Province Name: Kanagawa 3. Locality Name: Yokosuka 4. Organization Name: A.G.Labo 5. Organizational Unit Name: 6. Common Name: agartha 7. Email Address: root@agartha 8. Certificate Validity: STEP 3: Generating X.509 certificate signed by Snake Oil CA [server.crt] Certificate Version: 3 STEP 4:Enrypting RSA private key with a pass phrase for security [server.key] Enter PEM pass phrase: <<
Linuxの慣習に従い、/etc/init.d,/etc/rc.d/rcX.d/下にスクリプトを作成します。
起動スクリプトとしては、/usr/local/apache/bin/apachectlがすでにあるので、これをリンクします。
次のようにして、スクリプトを設定します。
Apacheを次のように設定します。
LoadModule status_module libexec/mod_status.so LoadModule info_module libexec/mod_info.so LoadModule rewrite_module libexec/mod_rewrite.so LoadModule headers_module libexec/mod_headers.so LoadModule ssl_module libexec/libssl.so AddModule mod_ssl.c ExtendedStatus On Listen 80 Listen 443 ServerAdmin root@agartha ServerName agartha HostnameLookups On |
SSLを設定します。VertualHost機能を使い、httpd.confに設定します。
<VirtualHost _default_:443> # General setup for the virtual host DocumentRoot "/usr/local/apache/htdocs" ServerName agartha ServerAdmin root@agartha ErrorLog /usr/local/apache/logs/error_log TransferLog /usr/local/apache/logs/access_log </VertualHost> |
/etc/rc.d/init.d/httpd startとしてApacheを起動します。
正常に起動すると、
Enter pass phrase:とプロンプトが表示されるので、make certificateで入力したパスフレーズを入力します。