Jay's Room

思ったこと、感じたこと、未来の自分に伝えたいことを記していきたい

apache 2.2.2 インストール

apache 2.2系がリリースされて、そろそろ入れてもいいかなと思い、
2.0.58からアップグレードすることにした。

現在の最新バージョン2.2.2のソースをダウンロード
http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.2.tar.gz

解凍後以下のオプションでconfigure

$ ./configure --enable-dav --enable-headers --enable-so --enable-ssl --enable-auth-digest --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache

そうするとエラーメッセージでconfigureが完了できない。

configure: error: APR version 1.2.0 or later is required

APRってなんだろう?

知らなかったのだが、調べてみるとすぐに見つかった。
Apache Portable Runtime

http://apr.apache.org/

とりあえずインストールしてみる。
ソースをダウンロード
http://ftp.kddilabs.jp/infosystems/apache/apr/apr-1.2.7.tar.gz
解凍後、

$ ./buildconf
$ ./configure
$ make
$ make test
# make install

ライブラリが追加されたので、/etc/ld.so.conf に以下の行を追加。

/usr/local/apr/lib

追加後 ldconfig を実行

再度ソースを解凍したディレクトリに戻ってconfigure
今度はこんなエラーが

configure: error: APR-util version 1.2.0 or later is required

apr-util 1.2.7 をインストールする。
ここからソースをダウンロード
http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-1.2.7.tar.gz

$ ./buildconf --with-apr=../apr-1.2.7(aprのソースディレクトリ)
$ ./configure --with-apr=/usr/local/apr/(aprのインストールディレクトリ)
$ make
$ make test
# make install

httpdのソースディレクトリに戻って再度configure
今度は問題なく通った。

$ make
# make install

インストール完了後
/etc/init.d/httpd start
で起動しようとすると、こんなエラーメッセージが。

The startssl option is no longer supported.
Please edit httpd.conf to include the SSL configuration settings
and then use apachectl start.

/etc/init.d/httpdを編集して、startsslをstartに変更

改めて起動
/etc/init.d/httpd start
またエラーメッセージ

module' in file /usr/local/apache2/modules/mod_encoding.so is garbled - perhaps this is not an Apache module DSO?

mod_encodingを再コンパイルしないといけないようだ。
2.0系に対応しているものだとそのままではコンパイルエラーになってしまうので、
こちらにあるパッチを適用してコンパイル。

--- mod_encoding.c.2 Sat Dec 24 12:32:09 2005
+++ mod_encoding.c Sat Dec 24 12:34:24 2005
@@ -75,8 +75,8 @@
#include %3chttp_protocol.h%3e
#include %3chttp_request.h%3e
/* #include %3cap_compat.h%3e */
-
-#include %3ciconv_hook/iconv.h%3e
+#include %3cregex.h%3e
+#include %3ciconv.h%3e

/**
* Core part of the module.

phpも再コンパイルしないといけなかったので、
コンパイルしてインストールした。

これで無事起動が出来るようになった。

apache2.2の新機能の一つである、ドキュメントキャッシュ機能の設定をする。
@IT : Apache 2.2でWebサイトをパフォーマンスアップ!(2/3)
ここを参考にhttpd.confを編集


#ディスクキャッシュを用いる場合

CacheRoot /usr/local/apache2/cache #キャッシュデータの保管先
CacheEnable disk / #キャッシュ対象URL
CacheDirLevels 5 #キャッシュデータを保管するディレクトリ階層の深さ
CacheDirLength 3 #キャッシュデータを保管するディレクトリ名の文字数

#メモリキャッシュを用いる場合

CacheEnable mem / #キャッシュ対象URL
MCacheSize 4096 #キャッシュメモリの最大値(bytes)
MCacheMaxObjectCount 100 #キャッシュに保管するドキュメントの最大数
MCacheMinObjectSize 1 #キャッシュに保管するドキュメントの最小サイズ(bytes)
MCacheMaxObjectSize 2048 #キャッシュに保管するドキュメント1つ当たりの最大値(bytes)

実際にはサイトでキャッシュさせたいディレクトリに設定したのだが、
これでキャッシュ機能も使えるようになった。
効果のほどはよく分からないけど…

思ったよりも手こずってしまい、3時間ぐらいかかってしまった。

Posted by Jay at 2006年05月14日 11:21 | コメント (0) | トラックバック (0) | このエントリーを含むはてなブックマーク | Clip!!
このカテゴリの最新エントリー
07/03/06 - Clam AV 0.90 リリース
07/01/30 - FastCGIインストール
06/11/01 - 451 qq temporary problem (#4.3.0)
06/10/25 - Clam Antivirus 0.90RC1 インストール
06/10/17 - AirProxy

この記事に対するコメント

この記事に対するコメントはまだありません。


コメントを投稿する




保存しますか?



この記事のトラックバックURL


この記事に対するトラックバック

この記事に対するトラックバックはまだありません。



Made with dreamweaverMade with fireworksPowered by Movable Type 3.34Powered by Wandering Windbeta_tester.gif
Copyright : [Articles] (C) Jay's Room All Rights Reserved.
[Comments/Trackbacks] ... Authors of those have rights.