TracLightningでXAMPPのApacheを使う
今日TracLightningを入れてある環境にXAMPPとTestLinkを入れたのでメモ。
TracLightningにもXAMPPにもApacheが付いていて、共存させる手もあるけど、意味無いよなー、と思って、XAMPPのApacheを残してTracをXAMPP側のApacheで動かすことに。
以下TLはTracLightningのこと。
まず、TL側のサービスを切っておく*1。
で、XAMPPをなにもかもデフォルトでインストールして*2、XAMPP側の設定ファイル、モジュール等とTL側の設定ファイル、モジュール等を統合する。
統合指針としては、「どちらかが使ってるモジュールはやばそうなコメントが付いてない限りそのまま残す」という単純なもの。あ、SSLは使わない前提なんで、使いたい人はなんか追加作業が必要かも。
TL側のApache関連のファイルは全て
\apache22
の下にあるみたい。
XAMPP側は、
\apache \htdocs
に分かれている模様。
まずは、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が表示された!
上手く行ってるみたいですね。