|
[2010/10/19] Apache2.0.64がリリースされました。セキュリティFIX&バグFIX版です。詳細は、更新ログ(Changes with Apache 2.0.64)を参照してください。
httpdサーバとして世界的に最も使用されているApacheの2.0系のインストール手順です。Apache1.3との違いについては、Apache2.0ドキュメントのApache 2.0 の新機能の概要を参照してください。今回はDSOをサポートするようにしています。
1.Apacheのソースを入手・展開
Apache Projectのダウンロードページ(http://httpd.apache.org/dist/)からソースを取得し、tarで展開しておきます。最新版(2004/07/14現在)は、Apache2.0.xです。展開後、作成されたディレクトリに移動します。GNU tarの場合、以下のコマンドです。
$ tar zxf httpd_2.0.x.tar.gz
$ cd apache_2.0.x/
2.Apacheのconfigure
続いて、Apacheのconfigureスクリプトを実行します。
$ ./configure --enable-mods-shared=most
ここでは、ほとんどのモジュールをshared objectとしてbuildするためのオプションを付けています。1.3系とオプションが異なり、「--enable-[モジュール名]」でモジュールを組み込むことができます。また、shared objectとしてbuildする場合は、「--enable-[モジュール名]=shared」あるいは「--enable-mods-shared="[モジュール名1 モジュール名2]..."」とします。例えば、Apache2から同梱されるようになったmod_sslの場合、「--enable-ssl」「--enable-ssl=shared」といった感じになります。その他のオプションはお好みにより付けて下さい。
3.コンパイルとインストール
configureが無事終了したら、makeを実行しコンパイルを行います。コンパイルが終了したらrootユーザーとなり、インストールを実行します。
$ make
$ su
# make install
デフォルトのインストール先は、/usr/local/apache2となります。インストール先は、configure時の「--prefix」オプションで変更できます。
4.httpd.confの設定
続いて、動作確認の前にApacheの設定ファイルを編集しておきます。対象は、[インストール先ディレクトリ]/conf/httpd.confです。ここでは、とりあえずServerNameの設定のみを行います。320行目あたりにあると思います。1.3系と異なり、ポート番号が必要です。
319 #
320 ServerName [ホスト名]:[ポート番号](アンコメントし、ホスト名とポート番号を記述)
httpd.confの文法チェックを行う場合は、apachectlの引数として「configtest」を付けます
5.Apacheの起動
以下のコマンドでApacheを起動します。。。が、1.3系のように「httpd started」とは表示されません。
$ su -
# [インストール先ディレクトリ]/bin/apachectl start
#
必ず、[インストール先ディレクトリ]/logs/error.logにエラーメッセージが出力されていないかどうか、あるいは、ps、netstatなどのコマンドで起動していることを確認する必要があります。
# tail [インストール先ディレクトリ]/logs/error.log
:
[Thu Jul 15 00:35:27 2004] [notice] Apache/2.0.x (Unix) mod_ssl/2.0.x
OpenSSL/0.9.7d configured -- resuming normal operations
#
# ps axww | grep httpd
19773 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
19774 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
19775 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
19776 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
19777 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
19778 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
19788 pts/1 S 0:00 grep httpd
#
# netstat -tl | grep http
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:https *:* LISTEN
#
最後にWebブラウザからアクセスして、以下のように表示されればOKです。
|