2006年5月24日水曜日

やっとSubversionの設定が終わった

自宅サーバを立てて、最もよく利用しているのが大学と家とのファイルのやりとり。主に研究用のプログラムをやりとりをしていたわけですが、どうせならバージョン管理システムを導入してやれってことで思い立って昨日からSubversionの設定に四苦八苦してました。
もう既にWebDAVは導入済みだったので簡単だろうと踏んでいたのですが(SybversionはWebDAVの機能を利用している)、これがまた思いの外アクシデントに遭遇しまくりまして^^; 結局二日ほど費やしてしまいました。
まずサーバに使っているDebianにBerkeleyDBをインストールしていなかったこと。まぁそれくらいはインストールしたら済むことなんですが、これ以外にどんなパッケージが不足しているか分からなかったのでSubversionのソースコードをconfigureしてみたところ、ただconfigureするだけで10分ほど掛かりましたOrz さすが玄箱。コンパイル作業を始めても居ないのにこの遅さ。で、とりあえず足りていないのはDBだけと言うことが分かったのでDBを追加。ただ、このとき間違ったパッケージをインストールしてしまいまして、configureが1回無駄に(やっぱり10分ほど無駄に)。で、最初何が間違っているのか気付きませんでしたので調べるのに30分ほど費やしてしまいましたOrz で、めんどくさくなったので(ぁ aptでsubversionをインストールし、必要なパッケージは拾ってきてその後subversionをソースから入れ直す手法をとることにしました。
なんでそんな面倒なことをするかと申しますと、実はApache2はソースからインストールしてるんですよね。その為aptのパッケージ管理に絡んでいません。だのでSubversionもソースからインストールしていたというわけです。aptがないことにほんと不便さを感じましたよOrz
そんなこんなでaptにて無事subversionと関連パッケージをインストール。そしてsubversionのソースをコンパイル。DBも入りましたので今回は無事コンパイルできました。とはいえかなーり時間掛かりましたがOrz(1時間ちょっと掛かったのかな?)。で、インストールしようとしてびっくり。
「空き容量が足りません」
ハァ?んなわけねーだろと思って"df -h"にて空き容量を調べてみると・・・
マウントポイント デバイス      確保容量 空き容量  使用率  空き使用率
/           /dev/hda1 2.0G   0     100% 0%
うげ。そーいやルートシステムには2GBしか切ってなかったっけOrz 機能拡張はあまりしないつもりでパーティション構成考えてたからなぁ・・・。とはいえX関連が入っていないとはいえ無謀すぎたかとか考えつつ無駄なパッケージがないか調べてみることに(ただし、ファイルサーバとしても利用しているためローカルからのみアクセスできる共有パーティションは40GBHDDの残りを占めている)。
結果、"元々必要最低限のパッケージしか入れていなかったため削除対象のパッケージなんてほとんどない!!!"ってことが分かりましたOrz 必死に無駄なファイルなどを削除して空き容量を確保したところなんとか120MB程度空けることが出来ました。
しかし、どこでそんなに喰ってるんだろうと思って調べてみると・・・、ありました。200MBほど喰っている箇所が。実は大学でのファイルのやりとりに利用しているのは私だけではなく友人も利用してたんですよね。で、その友人の研究用データが200MBほど喰ってました(笑) とりあえず今日削除要請だしときました。
まぁ120MB程度空きがあれば問題なかろうと思ってインストール。無事インストールは出来たのですが、このとき既に夜中の3時。眠かったんですね、はい。aptで入れたsubversionの方は削除すべきだったのに削除し忘れてたんですよね。おかげでApache2に組み込まれたSubversionのモジュールが呼び出すバイナリが一致せず、apacheがエラー吐いてました。とりあえず眠かったのでその日は就寝。そして今日subversionをaptで削除したら無事apacheは起動しました。
が、Subversionそのものはうまく動作せず。ここでも多くのトラブルに遭遇しちゃいました。WebDAVのおまけ程度にしか考えていなかったのでこんなに苦労するとは思いませんでしたね・・・Orz
トラブルの主な原因はSSL通信とアクセス権限でした。WebDAVはSSL通信にてやりとりをするように設定していたのですが、Subversionの設定方法を調べたサイトではSSL通信については言及してなかったんですよね。その為Apache2の設定ファイルへの記述が不足しておりリポジトリにアクセスできなかった模様。それについてはしばらく悪戦苦闘して解決したのですが、Subversionサーバは見えてもコミットなどができない! これについてはApache2へのアクセス権限の記述不足が原因でした・・・。というか既に設定済みだったWebDAVの設定をほぼまるまるコピーすることで動作したのですがOrz 最初からそうしておけばよかったよ・・・Orz
まぁおかげでLAN内では動作確認が取れました。明日大学からエクスポートできるかを確認ですね。それさえ無事出来たらバージョン管理システムの完成です。
今は主にWindowsでプログラミングを行っていて、IDEにはVC++2005Expressを使っているのですが、どうもSubversionを組み込むのはできなさそう。ってなわけでGUIのSubversionツールをインストールしてみました。まだバージョン管理システムというモノをしっかりと理解できていないのが悲しいところですが、追々使っていくうちに覚えていこうかと。便利そうだし。
しかし、こういったシステムは去年のうちに構築しておくんだったなぁ・・・。だいぶファイルのやりとりが楽になりそうだぞ、これ^^

0 件のコメント:

コメントを投稿