Vine Evo


Apache+mod_sslのインストール

ApacheにSSL機能を追加します。SSL機能の追加にはsslモジュール(mod_ssl)を使います。また、Linux上にSSLコマンドとしてopensslがインストールされていることが条件となります。

1. ApacheとSSLについて

1.1 apacheとは何か?

Apacheは、Unix標準のWebサーバーです。インターネットがUNIX主導で広がったこともあり、事実上の標準となっています。詳しくは、Apacheのホームページ(日本語)を参照してください。

1.2 SSLとは何か?

SSLとはSecure Socket Layerの略です。Web上の通信を暗号化するもので、クレジットカード情報を送るときなどを安全に送るために使用されます。
詳しくは、アスキーデジタル用語辞典のSSLのページなどを参照してください。

1.3 openssl

opensslはLinux上でSSL通信を実現するツールです。詳しくは、OpenSSL(日本語)ページで。
このページでは、opensslがすでに使えるものだとしています。VineLinuxではRPMパッケージでインストールされているはずです。

1.4 mod_sslとは

mod_sslはApacheでSSL通信を可能にするための拡張モジュールです。
ただし通常の拡張モジュールとは違い、Apacheにパッチをあてる必要があります。つまり、ソースから再度コンパイル、インストールする必要があるので注意が必要です。

2. Apache,mod_sslのインストール

2.1 ファイルの展開、パッチあて

Apacheはapache_1.3.27.tar.gz、mod_sslはmod_ssl-2.8.12-1.3.27.tar.gzを使います。
まずは、各アーカイブファイルを展開します。

  1. tar zxvf apache_1.3.27.tar.gz
  2. tar zxvf mod_ssl-2.8.12-1.3.27.tar.gz
  3. cd mod_ssl-2.8.12-1.3.27
  4. ./configure --with-apache=../apache_1.3.27

2.2 Apacheのコンパイル、インストール

パッチが当たったソースをコンパイルし、Apacheをインストールします。

  1. cd ../apache_1.3.27
  2. cf
    cf
    ./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
    	
  3. make
  4. make certificate
    <<
    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:
    <<
    	
  5. make install

2.3 起動スクリプトの追加

Linuxの慣習に従い、/etc/init.d,/etc/rc.d/rcX.d/下にスクリプトを作成します。
起動スクリプトとしては、/usr/local/apache/bin/apachectlがすでにあるので、これをリンクします。
次のようにして、スクリプトを設定します。

  1. cd /etc/rc.d/init.d
  2. ln -sf /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
  3. ln -sf httpd /etc/rc.d/rc3.d/S88httpd
  4. ln -sf httpd /etc/rc.d/rc5.d/S88httpd
後は、/etc/rc.d/init.d/httpd startsslとしてサーバーを起動します。

3. Apache、SSLの設定

3.1 Apacheの設定

Apacheを次のように設定します。

/usr/local/apache/conf/httpd.conf
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

3.2 SSLの設定

SSLを設定します。VertualHost機能を使い、httpd.confに設定します。

/usr/local/apache/conf/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>

3.3 Apacheの起動

/etc/rc.d/init.d/httpd startとしてApacheを起動します。
正常に起動すると、

Enter pass phrase:
とプロンプトが表示されるので、make certificateで入力したパスフレーズを入力します。
正常に起動されたら、https://agarthaにアクセスしてみます。 ホームページが表示されたら、インストールは成功です。
もどる