Apache2からmod_sslが標準で使えるようになった。ここではmod_sslを有効にしたインストールを紹介する。
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つが同居してしまうのが非常に気に入らない。後日調査ということで・・・
/usr/local/srcなどにApache2のソース・ファイルをコピーし、次のように展開する。
$ cd /usr/local/src
$ tar zxvf httpd-2.0.48.tar.gz
展開してできたソース・ディレクトリに移動し、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
configureが無事終了したら、コンパイル、インストールを行う。
$ make
$ make install
インストールが終わったら、環境設定を行う。ソースからインストールした場合、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 jaen da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw
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
Apacheを起動する。
$ /etc/rc.d/init.d/httpd startApacheを停止する。
$ /etc/rc.d/init.d/httpd stopApacheの状態を確認する。
$ /etc/rc.d/init.d/httpd status
Linuxサーバを再起動し、クライアントからブラウザで
http://LinuxサーバのIPアドレス/を入力し、Apacheの画面が出るかどうか確かめよう。
SSLが使えるようにはなったが、SSL関係の設定を一切行っていないため、今の状態では使えない。SSLを使うための設定は別ページで解説する。
ブラウザから
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/*