April 09, 2008apache2 + mod_perl2 + mod_ruby + mod_ssl + mod_dav最近もっぱらサーバの移行作業を行っています。というのも、今年で6年目になる現役サーバ(PowerMac G3 350MHz + MacOSX 10.2.8)のHDDがいつお亡くなりになるかわからず、はらはらドキドキの毎日が続いているからです。バックアップはこまめに取っているのでデータ消失の心配はひとまずないのですが、サーバが一時的にでも落ちるとこのサイトの休止をはじめとして、複数の拠点のデータ共有ができなかったり、と大損失になります。ということで最近は時間を見繕って、新サーバ用に購入したMac Mini(MacOSX 10.5.2 + Intel Core2 Duo 1.83GHz)への移行作業をできるかぎり早く進めています。 新サーバとなるMac Miniでは、メモリの増強(1G -> 2G)とHDDの換装(24時間稼働を想定したサーバ用HDDへ変更)を、過去記事で紹介した分解ヘラを利用して完了してあります。またソフトについても これまで旧サーバではapache1.3+mod_perl+mod_ruby+mod_ssl+mod_dav(dav以外の拡張モジュールはビルトイン、davはDSO)という構成をとっていましたが、新サーバでもできるだけ同じ構成でいこうと思います。パッケージを導入すれば簡単だと思いますが、ここでは向学のために野良ビルドをしました。以下、ひたすらコマンドが並びます。 続きをどうぞ。 1.Apacheのダウンロード $ cd /usr/local/src/apache
$ wget http://www.meisei-u.ac.jp/mirror/apache/dist/httpd/httpd-2.2.8.tar.bz2 $ tar jvxf httpd-2.2.8.tar.bz2 2.Apache Portable Runtime(APR)のダウンロードとインストール(mod_perl2をビルトインモジュールとしてインストールする際に文句をいわれたので、先に手を打っておきます) $ cd /usr/local/src/apache
$ wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-1.2.12.tar.bz2 $ wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-1.2.12.tar.bz2 $ wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-iconv-1.2.1.tar.bz2 $ tar jvxf apr-1.2.12.tar.bz2 $ tar jvxf apr-util-1.2.12.tar.bz2 $ tar jvxf apr-iconv-1.2.1.tar.bz2 $ cd apr-1.2.12; ./configure; make; sudo make install; cd .. $ cd apr-util-1.2.12; ./configure --with-apr=/usr/local/apr; make; sudo make install; cd .. $ cd apr-iconv-1.2.12; ./configure --with-apr=/usr/local/apr --with-prefix=/usr/local/apache; make; sudo make install 3.mod_perl2のダウンロード $ cd /usr/local/src/apache
$ wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz $ tar zvxf mod_perl-2.0-current.tar.gz 4.apache+mod_ssl+mod_dav+mod_perl2のインストール。mod_perlから全てのインストールが行われます。mod_dav、mod_sslはapacheと同梱になりました。また、mod_rubyをapache2に組み込む際はDSOのみのサポートとなったため、mod_rubyはここの項目では含まれていません。 $ cd /usr/local/src/apache/mod_perl-2.0.3
$ perl Makefile.PL MP_USE_STATIC=1 MP_CCOPTS=-I/usr/local/apr/include/apr-1/ MP_AP_PREFIX=../httpd-2.2.8 MP_AP_CONFIGURE="--with-mpm=prefork --enable-ssl --enale-dav" $ mv ../httpd-2.2.8/build/config_vars.mk ../httpd-2.2.8/build/config_vars.mk.orig $ sed -e 's/-arch ppc//' ../httpd-2.2.8/build/config_vars.mk.orig > ../httpd-2.2.8/build/config_vars.mk $ make $ make test $ sudo make install makeの前に行っているテキスト処理は、リンカldが出すユニバーサルバイナリ関連のエラーを抑制するためのものです。 5.mod_rubyのダウンロード、インストール $ cd /usr/local/src/apache
$ wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz $ tar zvxf mod_ruby-1.2.6.tar.gz $ cd mod_ruby-1.2.6 $ ./configure.rb --with-apxs=/usr/local/apache2.2.8/bin/apxs --with-apr-includes=/usr/local/apr/include/apr-1/ $ make $ sudo make install 6.mod_encodingのインストール。mod_encodingはmod_davのファイル名を多言語対応させるために必要なモジュールです。 $ cd /usr/local/src/apache
$ wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz $ tar zvxf mod_encoding-20021209.tar.gz $ cd mod_encoding-20021209 $ cd lib; ./configure; make; sudo make install; cd .. $ mv mod_encoding.c mod_encoding.c.orig $ sed -e 's/regex_t/ap_regex_t/g' -e 's/REG_/AP_REG_/g' mod_encoding.c.orig > mod_encoding.c $ make $ gcc -pipe -bundle -undefined suppress -flat_namespace -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -liconv_hook -liconv -framework CoreServices $ sudo cp mod_encoding.so /usr/local/apache/modules 同梱のiconv_hookを先にインストールしたあと、mod_encoding本体をインストールしています。またなぜかmakeでmod_encoding.soを作ってくれないので、最後のほうで別箇作成しています。 8. httpd.confに設定を書き込む LoadModule ruby_module modules/mod_ruby.so
LoadModule encoding_module modules/mod_encoding.so またmod_encodingについてはextra/httpd-dav.confの中で以下の設定を書き込んでおくと良いようです。 <IfModule mod_encoding.c>
EncodingEngine on NormalizeUsername on DefaultClientEncoding JA-AUTO # Windows XP? 以上で、目標としたことが完了しました。参考としたサイトをあげておきます、ありがとうございました。 コメント
Fenrirさんはじめましてtoshiyanと申します。 >toshiyanさん コメントする
|
スポンサード リンク
|