Apache + mod_sslでhttps環境を構築

自宅で使う分にはSSLで環境を作る必要はないかもしれないですが、仕事上というか 興味というかでセキュアな環境を作ってみたいと思います。

ApacheでSSLを使うにはいくつかの方法があるようです。 Apacheにパッチとして提供されているApache-SSLを使用するか、 モジュールとして提供されているmod_sslを使用します 今回は、mod_sslを使用したいと思います。

mod_sslもApache-SSLもOpenSSL又はSSLeayを必要とするようです。 SSLeayを使用した例では、インストール段階で失敗するとの情報が多く見られたので 今回は、OpenSSLを使用します。

OpenSSL, Apache, mod_ssl

インストール

まず、OpenSSLがないと始まらないので

#apt-get install openssl

OpenSSLをインストールします。(aptを使ったのは面倒だったからです。) #/usr/local/srcへmod_sslとapacheのソースをダウンロードします。 次にApache,mod_sslの展開をしコンパイルします。

# tar -zxvf apache_X.X.X.tar.gz
# tar -zxvf mod_ssl-X.X.X-X.X.X.tar.gz
# cd mod_ssl-X.X.X-X.X.X

configureでコンパイルの設定をするとき、Apacheの展開されたディレクトリと OpenSSLのインストールディレクトリを指示するとあったので、OpenSSLの インストール先を探しconfigureに追加します。

# ./configure --with-apache=../apache_1.3.33 --with-ssl=/usr/bin
--enable-rule=SHARED_CORE --with-layout=Apache --enable-module=so 
--enable-module=status --enable-module=info --enable-module=rewrite 
--enable-module=usertrack

mod_sslの方は問題ないようですが、Apacheの方でエラーが表示されています。 sslのパスに問題があるようです。ライブラリのパスかと推測してパスを変更してみますが 同じようにエラーが表示されます。何かが足りないようです。(今後の課題ですね。) しかたがないので、OpenSSLを削除しソースからインストールします。

# apt-get remove openssl
# wget ftp://ftp.openssl.org/source/openssl-X.X.X.tar.gz
# tar -zxvf openssl--X.X.X.tar.gz
# cd openssl--X.X.X
# ./config
# make
# make test
# make install

OpenSSLのインストールが終了します。/usr/local/sslにインストールされるので --with-sslの部分を--with-ssl=/usr/local/sslに変更してconfigureを実行します。

Now proceed with the following commands:
$ cd ../apache_1.3.33
$ make
$ make certificate
$ make install

今度は成功したようです。

# cd ../apache_X.X.X
# make
# make install

You now have successfully・・・と表示されインストールが終了します。