OpenBSD 3.9にApacheをインストールする

OpenBSD 3.9にローカルテスト用にApacheをインストールするメモ。
バージョンは、1.3系、2.0系、2.2系をインストールし、Listenするポートを別々になるように設定して、複数のバージョンを同時に起動出来るようにする。


下記URLはApache + PHPに依存する「iconv」、「GNU make」、「expat」、「GNU m4」、「bison」を入れるメモ。
http://d.hatena.ne.jp/SPR/20070106


以下作業手順

インストール

下記の通りにコマンドを入れる。
バージョンが新しくなったら、インストール先を変えずに古いバージョンに上書きする。
古いバージョンに上書きしても、設定ファイルhttpd.confは上書きされない仕様になってる。

Apache 1.3
$ ftp ftp://ftp.riken.go.jp/net/apache/httpd/apache_1.3.37.tar.gz
$ tar xzvf apache_1.3.37.tar.gz
$ cd apache_1.3.37
$ ./configure \
--prefix=/usr/local/apache \
--enable-module=most \
--enable-shared=max
$ make
$ su
# make install
Apache 2.0
$ ftp ftp://ftp.riken.go.jp/net/apache/httpd/httpd-2.0.59.tar.gz
$ tar xzvf httpd-2.0.59.tar.gz
$ cd httpd-2.0.59
$ ./configure \
--prefix=/usr/local/apache2 \
--enable-so
$ make
$ su
# make install
Apache 2.2
$ ftp ftp://ftp.riken.go.jp/net/apache/httpd/httpd-2.2.3.tar.gz
$ tar xzvf httpd-2.2.3.tar.gz
$ cd httpd-2.2.3
$ ./configure \
--prefix=/usr/local/apache22 \
--enable-so
$ make
$ su
# make install

設定

ローカルテスト用として動かすのに最低限の設定例。
httpd.confの内容。

★ホスト名

URLのホスト名をIPアドレスで直接指定するなら何でも良い。

ServerName www.example.com
★ポート

複数バージョンを同時に起動出来るように、バージョン毎に分ける。

# 1.3系
Port 8013
# 2.0系
Listen 0.0.0.0:8020
Listen [::]:8020
# 2.2系
Listen 8022
★ユーザ、グループ

デフォルトではバージョン毎に違う設定になってるのでnobodyに統一する。

User nobody
Group nobody
★ドキュメントルート

3バージョン共に同じにする。
/usr/local/wwwディレクトリを作り、そこをドキュメントルートにする。
httpd.confに「/Apacheのインストール先/htdocs」となってる所が2箇所あるので、「/usr/local/www」に置き換える。

DocumentRoot "/usr/local/www"
#
# This should be changed to whatever you set DocumentRoot to.
#

★ログ

/var/log/apacheディレクトリを作り、各バージョンのログを1箇所に集めるようにする。

# 1.3系
ErrorLog /var/log/apache/error_log-13

CustomLog /var/log/apache/access_log-13 combined
# 2.0系
ErrorLog /var/log/apache/error_log-20

CustomLog /var/log/apache/access_log-20 combined
# 2.2系
ErrorLog /var/log/apache/error_log-22

CustomLog /var/log/apache/access_log-22 combined
★マニュアル

2.2系ではデフォルトでhttp://適当/manual/を読まないので、読みたければ、下記の箇所を探してコメントアウトする。

Include conf/extra/httpd-manual.conf
CGI

CGIを使うなら、適当な箇所に「Options ExecCGI」を追加して、こちらも下記の箇所を探してコメントアウトする。

AddHandler cgi-script .cgi

起動

起動する前に設定が正しいかテストする。

$ /Apacheのインストール先/bin/apachectl configtest


起動するには「start」、停止するには「stop」、再起動するには「restart」を引数にする。

$ /Apacheのインストール先/bin/apachectl start