読者です 読者をやめる 読者になる 読者になる

TracLightningでXAMPPのApacheを使う

etc

今日TracLightningを入れてある環境にXAMPPとTestLinkを入れたのでメモ。

TracLightningにもXAMPPにもApacheが付いていて、共存させる手もあるけど、意味無いよなー、と思って、XAMPPのApacheを残してTracをXAMPP側のApacheで動かすことに。
以下TLはTracLightningのこと。


まず、TL側のサービスを切っておく*1
で、XAMPPをなにもかもデフォルトでインストールして*2、XAMPP側の設定ファイル、モジュール等とTL側の設定ファイル、モジュール等を統合する。


統合指針としては、「どちらかが使ってるモジュールはやばそうなコメントが付いてない限りそのまま残す」という単純なもの。あ、SSLは使わない前提なんで、使いたい人はなんか追加作業が必要かも。


TL側のApache関連のファイルは全て

  • \apache22

の下にあるみたい。
XAMPP側は、

に分かれている模様。
まずは、TLのhtdocsを、全部XAMPP側にコピーしてしまう。
XAMPP側のindex.htmlは「It works!」だけなんで、TL側ので上書きしてしまう。画像ファイルはどうでもいい。


次に、apache22\conf(TL側)とapache\conf(XAMPP側)の統合だけど、結構色々と違う。でも、今回はSSLは無視なので、SSLっぽいファイルも無視。
よって統合の必要があるのは、extra以下のファイルと、httpd.confのみ・・・なんだけど、面倒なんでextra以下のファイルはXAMPPのものを使うことに。問題が起きてから対処すればいいや、ってことで。


で、一番大きいのがhttpd.confの統合。方法としては、同じようなところを抜き出して、sort and uniqで統合してしまうというかなり適当な方法。この部分の統合作業はサクラエディタ前提で。


まずは、XAMPP側のhttpd.confとTL側のhttpd.conf、作業用のウィンドウの3つを開く。サクラエディタの「設定→タブバーを表示」にしておくと便利。


最初に、XAMPP側とTL側両方のhttpd.confからLoadModuleやら#LoadModuleやらから始まる数十行をコピーして、作業用のウィンドウへコピーする*3
で、Ctrl + Rで置換ダイアログを開いて、正規表現にチェック、置換前「#(.+)\r\n」、置換後「\1#\r\n」として、「全て置換」を実行。
次に、Ctrl + Aで全選択して、Alt + Aで昇順にソート、更にそのままAlt + Mでuniqを実行。
ここまでで、全く同じ行はマージされたんだけど、同じモジュールだけど片方だけコメントアウトされてたやつは残るんで、目で確認しつつコメントアウトされてるほうを削除していく*4。ちょっと進むと、「# don't load because of mod_authoindex_color.so」というコメントがあると思うが、これはこのコメントに従って、その上の行*5を削除する。
全部終わったら、Ctrl + Rで置換ダイアログを開き、置換前「(.+)#$」置換後「#\1」で「全て置換」、結果をXAMPP側のLoadModule群に上書きする。


次に、TL側の300行目付近にcgi-binに関する設定があるので、「C:\TracLight/python/share/trac/cgi-bin」の方だけコピーして、XAMPP側の330行目付近の「C:/xampp/cgi-bin」の下にコピーする。


次に、TL側の最後らへんにある、### Add for SVN and Trac以下全部をXAMPP側の最後に追加して、相対パス指定になっている「../subversion/bin/libdb44.dll」と「../python/python25.dll」を絶対パス指定にする*6


で、どちらもapacheインストールディレクトリに戻って、TL側のmodulesを全部コピーしてXAMPP側に貼り付ける。
このとき、上書き確認がでるから、Shiftを押しながら「いいえ」を選ぶ。


これでXAMPPコントロールからApacheの「サービス」にチェックを入れ、「開始」を押すと、なんかすぐに落ちる。
で、イベントログを見てみると、

Syntax error on line 13 of C:/xampp/apache/conf/extra/httpd-userdir.conf

とあるので、httpd-userid.confを開いてCtrl + A、BS、Ctrl + Sを実行*7
気を取り直してもう一回「開始」を押すと、しばらくして緑色の背景に起動という字が現れる*8


試しに、http://localhost/trac にアクセスすると・・・プロジェクト一覧が表示された!
では、http://localhost/ はというと・・・http://localhost/xampp/splash.phpが表示された!


上手く行ってるみたいですね。

*1:多分TracLightningってサービス名

*2:http://www.apachefriends.org/jp/xampp-windows.htmlのXAMPP Windows版1.6.6aのインストーラ版を使用

*3:最後に改行を入れること

*4:このとき、末尾の#を目印にするといい

*5:LoadModule ... mod_authoindex.so

*6:どちらもデフォルト構成ではC:\TracLight直下とか、そんな感じのところにある

*7:だってユーザディレクトリなんて使わないし

*8:さっきも一瞬現れたけど、すぐ消えた