Google

2010年8月3日火曜日

xamppでSubversion

普段、バージョン管理システムのお世話になりっぱなしという、IT屋の宿命を背負う俺。
そんな宿命を覆すべく、、、、というか覆さなくて全然イイんだけど、共用のサーバじゃなくて自分専用のリポジトリが欲しくなるときも。

ってな事で、ThinkPad x200で愛用のxamppSubversionを入れてみることにしましたよ。


xmappは有名なLAMP環境一式パッケージで、インスコも簡単。
自前テスト環境構築のためには、もはや欠かせない存在になってます。
オプションでTomcatまであったり、USBで運べるLite版もあったりといたれりつくせりでお勧め。
xamppはインストーラがあるので手順は割愛。
ここではデフォルトインストール先のc:\xamppを基準にして説明をします。


xamppはWin用を使うってことでSubversionもWin用です。
実は以前のxamppには最初からSubversionがあったのですが、執筆時点の最新ver 1.7.3では無くなってるようで。
最近のSubversion公式はファイル置き場がややこしいので、直リンを貼ります。
ここに行きましょう。↓

Subversion ファイル置き場

ツリーのReleasesを開くと、Windows Binariesの項目があります。


ここから各バージョンが選択可能です。
xamppApacheは2.2系ですが、該当する最新の1.6.xだとバージョンの依存のせいで動作しません。
そこで、今回は1.4.xからsvn-win32-1.4.6.zipを落とします。
インストーラのmsi版はApache自動認識機能とかあるんですけど、余計な設定をするのでzip版で行います。



ステップ1:解凍

最初に、落としたzipのSubversionを解凍してパスを通します。
xamppはデフォルトインストールでc:\xamppに入るので、一緒に使うということで、SubVersionを中に入れちゃいましょう。
ディレクトリを↓ここに移動して下さい。

インストール先:c:\xampp\svn\

このsvnディレクトリの下にbinとかiconvとかのディレクトリがある状態ならおkです。
ま、この入れ先は好みなので自由で構いませんが。
c:\xampp\svn\bin\にはパスを通す必要があるので、ここでやっておきましょう。
ちなみにパスを追加書換しても、Windowsの再起動は必要ありません。

ステップ2:必要なDLLとSOのコピー

次にxampp上のApacheが使うDLLSubversionの解凍済ディレクトリからコピーします。
今コピーしたSubversionのbinディレクトリにある全てのDLLファイルを、以下にコピーしてください。

コピー先:c:\xampp\apache\bin\

xamppの入れ先が違う場合は、うまく読み替えてください。
注意点は、xampの方のバージョンが新しい場合は、xampp側を優先することでしょうか。
xamppを古いものからバージョンアップとかしている場合、同じファイルがすでに入っているケースがあり、その際はxamppのものを優先するが無難です。

続いて、Apacheの拡張モジュールをコピーします。
同様に、Subversionのbinディレクトリにある2つの.soファイルを、以下にコピーしてください。

コピー先:c:\xampp\apache\modules\

こちらはコピーだけでなく、設定の書き換えも必要なのですがそれは次で。
さっきと同様にxampp側が新しければそれを優先が無難です。


ステップ3:conf編集

続いて設定ファイルであるhttpd.confを編集します。
c:\xampp\apache\conf\httpd.confを開きましょう。
LoadModuleとかが並んでいる最後の部分(140行近辺)に以下を追加して下さい。


# Subversion 1.4.6
LoadModule dav_svn_module modules/mod_dav_svn.so


さっきコピーしたsoファイルです。
順番があるのでLoadModuleが並んでいる最後の方ってのがポイントです。

もし同じ内容の行が既に存在している場合はエラーになるのでご注意下さい。

続いて、リポジトリの設定を書き込んでおきます。
httpd.confの末尾に以下を記入して下さい。









今回はサンプルとして、以下の構成にしてみました。

リポジトリの物理場所:C:\xampp\svn\repos
URLでみれる場所:http://localhost/repos

今すぐは自分自身のPCでしか使わないので、まずは認証無しです。
認証だとmod_authz_svn.soが担当ですが、割愛。

ステップ4:リポジトリの作成

Apacheの設定ファイルを変更してもそのまんまでは動いてくれません。
コマンドプロンプトで以下を実行します。

C:\>cd c:\xampp\svn
C:\xampp\svn>svnadmin create repos


打ってもなんにも反応はありませんが、終わるとc:\xampp\svn\reposが出来てます。
reposの中には設定ファイルが多々出来てます。
svnadminが無いって言われたらパスの通し忘れです。

ステップ5:Apacheの起動

無事にxamppApacheが起動できれば成功です。
お疲れ様でした。

失敗した方はもう一度見直しましょう。

ちゃんと使うには、confの設定とsvnadminの設定が一致しなければ駄目です。




記事がえらく長かったので、Subversionをクライアントから使う話はまた今度。

4 件のコメント:

  1. バージョン違いではまってました orz
    Thanksです。

    返信削除
  2. お役に立てれたのでしたらなによりです。
    私も1.5や1.6ではまったクチだったもので。

    返信削除
  3. 本当にありがとうございます。
    半日もさまよってました。
    私もバージョンではまったくちです

    返信削除
  4. お役に立てて幸いです。
    そろそろ本家にこの説明文が欲しいところですね。

    返信削除