Apache2 2.0.48 + mod_ssl インストール

 Apache2からmod_sslが標準で使えるようになった。ここではmod_sslを有効にしたインストールを紹介する。

1.前準備

 Apache2から標準で使えるようになったmod_sslは、OpenSSLがインストールされていなければ使えない。RedHatLinuxは8からRPM形式でインストールされているが、バージョンによってはApache2インストール時にmakeでエラーメッセージ出る場合がある。よって、最新のOpenSSLをインストールしておく。
 RPM形式の最新版をインストールすれば良いと思うのだが、依存性がどーのこーのと面倒だったのでソースからインストールすることにした。

$ tar zxvf openssl-0.9.7c.tar.gz
$ cd openssl-0.9.7c
$ ./config ・・・ ./configureではないことに注意!!
$ make
$ make install

 これにより、/usr/local/sslにOpenSSLがインストールされる・・・が、OpenSSLがRPM版とソースからインストールしたものの2つが同居してしまうのが非常に気に入らない。後日調査ということで・・・

2.インストール

2-1ソースファイルの展開

/usr/local/srcなどにApache2のソース・ファイルをコピーし、次のように展開する。

$ cd /usr/local/src
$ tar zxvf httpd-2.0.48.tar.gz

2-2 configureスクリプトの実行

展開してできたソース・ディレクトリに移動し、DSOモジュールとSSLを有効にするオプションをつけてconfigureスクリプトを実行。OpenSSLをソースからインストールしている場合は、--with-ssl=/usr/local/sslオプションをつけるが、RPMで入っていれば--enable-sslのみでよい。

$ cd /usr/local/src/httpd-2.0.48
$ ./configure --enable-so --enable-ssl --with-ssl=/usr/local/ssl

2-3 コンパイル、インストール

configureが無事終了したら、コンパイル、インストールを行う。

$ make
$ make install

3.Apache2環境設定

 インストールが終わったら、環境設定を行う。ソースからインストールした場合、Apacheの環境設定ファイルhttpd.conf/usr/local/apache2/confの中にある。
 ServerAdmin、ServerNameなどを設定しておく。

 また、Apache2から、HTMLに文字コードの指定がない場合にどの文字コードを使うかというオプションが追加された。しかし、Apacheは英語版なので、そのままでは強制的に英語の文字コードが使われ、日本語を使ったページはすべて文字化けしてしまう。
 日本語はEUCとSJISの2種類があり、場合によって使い分けるため、文字コードを勝手に決められては困る。その場合、httpd.confのAddDefaultCharsetをoffにすればよい。

AddDefaultCharset off ←デフォルトではiso-8859-1になっている

 ついでに、言語の検索順(?)も変えておこう。

LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw

4.自動起動の設定

 Apache2の起動スクリプトを/etc/rc.d/init.d/にコピーする。

$ cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd

 RedHat系の場合、このままでは利用できないので、/etc/rc.d/init.d/httpdをviで開き、#!/bin/shの下あたりに次の行を追加。

#
# chkconfig: 345 85 15
# description: httpd Server
# processname: httpd
# pidfile: /usr/local/apache2/logs/httpd.pid
# config: /usr/local/apache2/conf/httpd.conf
#

 ランレベルごとのシンボリック・リンクを作成する。

$ chkconfig --add httpd

5.Apacheの起動・停止

 Apacheを起動する。

$ /etc/rc.d/init.d/httpd start

 Apacheを停止する。

$ /etc/rc.d/init.d/httpd stop

 Apacheの状態を確認する。

$ /etc/rc.d/init.d/httpd status

6.起動後の確認

 Linuxサーバを再起動し、クライアントからブラウザでhttp://LinuxサーバのIPアドレス/を入力し、Apacheの画面が出るかどうか確かめよう。

7.SSLについて

 SSLが使えるようにはなったが、SSL関係の設定を一切行っていないため、今の状態では使えない。SSLを使うための設定は別ページで解説する。

8.その他

 ブラウザからhttp://LinuxサーバのIPアドレス/manual/を開くと、Apache2のマニュアルが日本語で表示される。ここにはさまざまな説明、設定方法が載っているため、ここを読んで勉強しよう。

 また、インストール時にコピーされるドキュメントやCGIファイルなど、必要なければ削除しよう。

$ rm -f /usr/local/apache2/cgi-bin/*
$ rm -rf /usr/local/apache2/htdocs/manual
$ rm -f /usr/local/apache2/htdocs/*

[ BACK ]