
Subversionによるバージョン管理
− Apache 2.0でWebDAV(後編) −
DeltaVと呼ばれていたバージョニング拡張がRFCとしてリリースされたことにより、WebDAVのバージョン管理機能もようやく足元か固まった。以前紹介したSubversionをApache 2.0+WebDAV環境に導入してみよう。
宮本 久仁男<miyamotokn@nttdata.co.jp>
NTTデータ システム開発事業本部
基盤システム事業部 第一ソリューション技術担当
2002/7/13
WebDAVのバージョニング拡張
日本語ファイル名の利用とバージョン管理ではドラフトレベルだったWebDAVのバージョニング拡張(DeltaVと呼ばれていた)ですが、2002年3月にRFC 3253としてリリースされました(注)。
| 注:余談ですが、RFC 3251とRFC 3252が2002年4月1日のJoke RFCに割り当てられた番号です。 ・RFC 3251:ftp://ftp.nic.ad.jp/rfc/rfc3251.txt ・RFC 3252:ftp://ftp.nic.ad.jp/rfc/rfc3252.txt |
ざっと読んだ限り、最終ドラフトから大幅に変わった部分はありません。ただし、追加されたメソッドの数が多かったり既存メソッドの大幅な拡張を伴うということもあり、WebDAVの基本規約であるRFC 2518よりもボリュームが増しています。
今回紹介するのは、RFC 3253の基であるDeltaVの実装の1つ、「Subversion」です。
■Subversion
DeltaVがRFC 3253としてリリースされ、Apache 2.0が正式リリースされた前後にSubversionの方にも変化がありました。「Version 1.0」という文字列がProject homeページ(http://subversion.tigris.org/)に見えるようになり、スナップショットのtarボールも「pre-alpha」という別名が付いています。
Subversion 1.0では、
- CVSが持つ機能の実現
- ディレクトリ、リネーム、ファイルのメタデータなどのバージョン管理
- バイナリの効率的な取り扱い
をはじめとする多くの機能が実現されるとのことですが、現在はpre-alphaなので今後の動向に注目したいところです。
以前、日本語ファイル名の利用とバージョン管理で紹介したSubversionは、マイルストーン3、リリース番号88という非常に初期のものでした。原稿執筆時点では、Subversionのリリース番号は2000を超えています。
これから、pre-alphaと名の付いたSubversion(バージョン0.13.1、リリース2291)を使用するための手順と、クライアントの利用方法を紹介します。
■Subversionの実体
Subversionは、mod_dav_fsと同じ部分に位置するバックエンドモジュール(mod_dav_svn)です(編注)。もう少し専門的ないい方をするのであれば、バージョニング機能を提供するものという意味で「バージョニングプロバイダ」と呼ばれます。mod_dav_fsとの関係を図1に示します。
![]() |
| 図1 WebDAVとSubversion(mod_dav_svn)の関係 |
mod_davで受け付けた各種リクエストを、バージョニングプロバイダに受け渡ししてるわけです。
| 編注:mod_dav_fsや「バックエンドモジュール」などについては、Apache 2.0でWebDAVを参照。 |
Subversionコンパイル前の準備
Subversionは、リポジトリの格納に「Berkeley DB 4.0」を使用します。従って、Berkeley DB 4.0をインストールしておく必要があります。実は、ApacheもBerkeley DB 4.0を使うようにしておく必要があります。これについては、詳しい手順とその理由を後述します。
■Berkeley DBの入手とインストール
Sleepycat Software(http://www.sleepycat.com/)のWebページのダウンロードメニューからdb-4.0.14.tar.gzというアーカイブをダウンロードします。後述しますが、SubversionではDBライブラリのバージョンをチェックします。古いバージョンのDBライブラリでは動作しない点に注意してください。
configure && make && make installを実施しますが、これらの作業はすべてdistというサブディレクトリの下で行います。従って、アーカイブ展開後に作成されるディレクトリのさらに下のdistディレクトリに移動して作業する必要があります。
$ gzip -dc | tar xvf db-4.0.14.tar.gz |
ここまでの作業で、/usr/local/BerkeleyDB.4.0というディレクトリ下にコマンド/ヘッダ/ライブラリのたぐいがインストールされます。ライブラリとヘッダがインストールされた様子を以下に示します。
$ ls -l /usr/local/BerkeleyDB.4.0/ |
■ダイナミックリンカの検索パス追加
ここまででインストールしたライブラリは、通常は標準でld.soが検索するライブラリパスには入っていません。従って、
- /etc/ld.so.confなどを編集し、/usr/local/BerkeleyDB.4.0/libを追加する
- /sbin/ldconfigを実行する
などとして、新規インストールしたライブラリ群をダイナミックリンカに見つけてもらうようにする必要があります。
■Berkeley DBをリンクしたApache 2.0のインストール
Apache 2.0でWebDAVの記事中で、Apache 2.0のconfigure && makeについて解説しました。ただし、Subversionを使うにはApache 2.0が使用するBerkeley DBライブラリを新しいものにする必要があります。すなわち、インストールしたDBライブラリのツリーをconfigureのDB指定に追加して、Apache 2.0をインストールし直すのです。configureのコマンドラインは、
$ ./configure --enable-so=yes \ |
という感じになります。もちろん、
$ ./configure --enable-module=most \ |
としてモジュールを最大限にインストールするような形でも構いません。結果として、Apache 2.0の実行ファイルが新しいDBライブラリを参照してくれるようになっていれば問題ありません。筆者の環境では、
$ ldd /usr/local/apache2/bin/httpd |
というような形で、lddの実行結果中に現れるDBライブラリがlibdb-4.0.soとなっています。
| 前編へ |
1/3
|
|
||||||
|
||||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム WebDAV関連記事 |
| 特集:次世代プロトコルWebDAVの可能性[前編] 技術仕様徹底解説 将来、SambaやCVSを不要にする可能性を秘めた「WebDAV」。このプロトコルの仕様から実用化までを徹底解説。今回は、技術仕様を明らかにする |
|
| 特集:次世代プロトコルWebDAVの可能性[中編] WebDAVクライアント/サーバ環境の構築 WebDAVの実装はすでに存在する。LinuxによるWebDAVサーバの構築とクライアントの整備を行い、実際に使ってみよう |
|
| 特集:次世代プロトコルWebDAVの可能性[後編] 日本語ファイル名の利用とバージョン管理 日本語ファイル名を扱えるようにするほか、WebDAVの「V」を司るバージョン管理機能を実現。WebDAV解説完結編! |
|
| 特集:WebDAV時代のセキュリティ対策[前編] WebDAVのメソッドは便利な反面、セキュリティホールとなり得る。しかし、適切な対策を講じることでメソッドの危険性は取り除くことができる |
|
| 特集:WebDAV時代のセキュリティ対策[後編] WebDAVの使用に際し、包括的な対策を行っておくのも重要である。何をどのように設定すればよいのかをここで明らかにする |
|
| 特集:Apache
2.0でWebDAV Apache 2.0の正式リリースでWebDAVも新たな段階に入った。一方で、1.3時代のmod_encodingがうまく機能しないという問題も浮上した |
|
| 特集:Subversionによるバージョン管理 DeltaVがRFCとしてリリースされ、WebDAVのバージョン管理機能も足元か固まった。DeltaVの実装である「Subversion」を導入しよう |
|
| Linux Squareフォーラム全記事インデックス |
|
ホワイトペーパー(TechTargetジャパン)
- natテーブルを利用したLinuxルータの作成 (2010/2/9)
natテーブルを用い、市販のブロードバンドルータと同等かそれ以上の機能を備える「Linuxルータ」を作成してみましょう - Web監視機能を賢く利用する (2010/2/2)
プロセスの稼働確認だけでは、サービスが正常に提供できているか分からないことも。そこで使いたいのがWeb監視です - ものいわぬOpenLDAPサーバのログ管理 (2010/1/20)
不満をいわないコンピュータが相手だからこそ、常にログが確認できる状態を整備することが重要になります - ネットワークアクセス権も放棄せよ (2010/1/12)
新しいセキュリティ機構「disablenetwork」を提案する1通のメールから始まった議論が、LSMも巻き込む話へと拡大しました
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |







