2006-10-08(Sun) [長年日記]
_ [Subversion] trac0.10, python2.4(mod_python 3.2.10), apache2.2 on Windowsも動いた(かも)動いてませんorz
いろいろな先達のページを参考に、上の組み合わせでやってみた。
(追記:下にあります。Apache2.0じゃないと駄目でした)
特に参考にした(というよりそのまんまな)のは http://d.hatena.ne.jp/re_guzy/20060914/p1 です。re_guzyさんありがとうございます。まあ動作事例は多いほうがいいよね、ということで(滝汗)
- WindowsXP sp2
- apache_2.2.3-win32-x86-no_ssl.msi
- svn-1.4.0-setup.exe
- python-2.4.3.msi
- pysqlite-2.3.2.win32-py2.4.exe
- clearsilver-0.9.14.win32-py2.4.exe
- svn-python-1.4.0-py2.4.exe
- docutils-0.4.tar.gz
- trac-0.10.win32.exe
- mod_python-3.2.10.win32-py2.4-apache2.2.exe
最近またインストーラのデフォルトに逆らって(笑)インストールディレクトリをいじっているのでついでに下に書く。
ディレクトリ
c:/opt /svn14 ... インストーラで c:\opt\svn14 /python24 ... インストーラで c:\opt\python24 /scripts trac ... ここに入るのね。 trac-admin /lib /site-packages .. こうなるのかー。 /svn .. これは展開して手動でコピー /libsvn .. これも。 /mod_python .. インストーラだけ。 /pysqlite2 .. インストー(ry /trac .. インス(ry /docutils .. 展開してから python setup.py install /apache22 ... インストーラで c:\opt\apache22 /conf httpd.conf ... 末尾に include c:/home/www/conf.d/*.conf を追加 /home /www /conf.d trac.conf /var .htpasswd /svn ...ここで svnadmin create test1 /test1 /trac /test1 ... python c:\opt\python24\scripts\trac-admin initenv c:\home\www\var\trac\test1
trac.conf:
LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule python_module modules/mod_python.so # LoadModule dav_svn_module "C:/opt/svn14/bin/mod_dav_svn.so" # LoadModule authz_svn_module "C:/opt/svn14/bin/mod_authz_svn.so" <VirtualHost *:80> <LocationMatch "/trac/[[:alnum:]]+"> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracUriRoot /trac PythonOption TracEnvParentDir c:/home/www/var/trac </LocationMatch> <LocationMatch "/trac/[[:alnum:]]+/login"> AuthType Basic AuthName "trac" AuthUserFile c:/home/www/var/trac/.htpasswd Require valid-user </LocationMatch> </VirtualHost>
一応、test1プロジェクトのtracが出るところまでは見た。trac自体はFreeBSDで使ってみたことはあるものの、portsなしで入れるpython自体は初めてだったりするので結構新鮮。特に外部ライブラリのインストーラがWindowsの「アプリケーションの追加と削除」に乗るのがへー、という感じ。たしかにとっつきはいいな。ちゃんと消せば消えるし。
dav_svn_moduleについては、組み込んでみたものの apache -t(apachectl configtestと同じ) でエラーになってしまったのでとりあえず殺してある。
サイトには2.0対応だよとあるんだけど、もしかしてドキュメントが古いだけだったらと思ったけど駄目だった模様。
最悪file:でもいいんだけど、Subclipseがデフォルトではfile:対応してないのか...うーん。ほかのサービスの手前いまさら2.0には戻せないのでsvnserveのサービス化の方向で考えるか。でもリリースノート読むと大丈夫か?という気もするんだけど。もうちょっと試してみよう。
_ [Subversion]この組み合わせのtracやっぱりだめか?
エラーになるなあ。
2006-10-08 22:54:34,046 Trac[main] WARNING: 500 Internal Error (Unsupported version control system "svn") 2006-10-08 22:54:42,358 Trac[main] WARNING: 500 Internal Error (Repository checkins event provider (<tt>ChangesetModule</tt>) failed:<br /><br />TracError: Unsupported version control system "svn"<p>You may want to see the other kind of events from the <a href="/trac/test1/timeline?milestone=on&ticket=on&wiki=on">Timeline</a></p>) 2006-10-08 22:54:45,671 Trac[main] WARNING: 500 Internal Error (Repository checkins event provider (<tt>ChangesetModule</tt>) failed:<br /><br />TracError: Unsupported version control system "svn"<p>You may want to see the other kind of events from the <a href="/trac/test1/timeline?milestone=on&ticket=on&wiki=on">Timeline</a></p>)
tracd だと問題なさげ。
再度READMEをチェックすると、svn-python-1.4.0-py2.4.exeのREADMEで、
Neon 0.26.1 Berkeley DB 4.4.20 OpenSSL 0.9.8b ZLib 1.2.3 Apache 2.0.58 <==== (!) Python 2.4 libintl 0.14.1 (patched)
もしかしてこれか!そりゃそーか、サイトには2.0対応だよとあるのはmod_davだけじゃないんだ...orz
_ [Subversion]悔しいのでApache2.0.59でやり直したら動いた。
とりあえず動くとこまではもって行きたい。せっかくエントリ書いたし。
- apache_2.0.59-win32-x86-no_ssl.msi
- mod_python-3.2.10.win32-py2.4-apache2.0.exe
を入れる。apacheは追加、mod_pythonは念のため前のをアンインストールし、2.0対応を入れる。
...かわらん。Apache2.0との組み合わせではないのか?Apache自体はstop&startしてるし...tracdは問題ないところをみると、mod_pythonのときにsvn-pythonライブラリが見えてないだけだと思うんだが...うーん。
ふと思いついて殺したモジュールを生かして再起動してみた。
LoadModule dav_svn_module "C:/opt/svn14/bin/mod_dav_svn.so" LoadModule authz_svn_module "C:/opt/svn14/bin/mod_authz_svn.so"
...見えたみたい!これってmod_pythonのときに依存してるのか...関係ないはずって思い込んでた。OTZ
てことはなにか、これじゃ単に動きましたってだけかよ。がっくし。
遅い突っ込みながら・・・<br>http://subversion.tigris.org/project_packages.html<br>に英語でちゃんと<br>> not work with Apache HTTP Server 2.2.<br>と黄色背景で警告されてますよ。2.0はOKで2.2はダメらしい。<br>僕もそれでApache2.2への移行を躊躇しました。
目では見てたはずなんですが、脳が認識しなかったようなんです>その一文。今Apache2.0と2.2両方使ってます(汗)