Mac OS X ServerでのSubversionのセットアップ

Mac OS X Serverをホストとして、svnserveを使ってSubversionのサーバをセットアップする方法について簡単に説明します。
Subversionはソースコードやドキュメントなどのファイル/ディレクトリのバージョン管理ツールです。ローカルでの利用の他、サーバをセットアップすればネットワーク経由で複数のクライアント間でのデータを同期することが出来、非常に便利です。
このドキュメントは、Mac OS X Serverをホストとして、svnserveを使ってSubversionのサーバをセットアップする方法について簡単に説明します。セキュリティ対策やsshを組み合わせる方法、Subversionそのものの使用方法については書いておりませんが、筆者が参考にした書籍をこのページの後半に記載しました。
なお、Mac OS X Serverは10.4.xを対象としています。それ以外のバージョンでは状況が異なる可能性があります。 (筆者の動作確認環境は10.4.9です)
クライアントソフトについては次のドキュメントをご覧ください。
ファイル、フォルダのバージョン管理を効率的に、Subversionクライアントソフト(マニュアル進行中)

インストール


Mac OS X Serverには標準ではsubversionはインストールされていませんので、別途インストールを行う必要があります。ソースをダウンロードしてきてビルドするなども出来ますが、Finkを利用すると簡単です。
Finkについては、下記のURLを参照してください。

http://finkproject.org/index.php?phpLang=ja

Finkのインストールが終わったら、ターミナルからaptを利用してsubversionをインストールします。

> sudo apt-get update
> suto apt-get install svn

デーモンの設定

マシン起動時にsvnserveが起動されるように設定ファイルを作成します。設定ファイルはProperty List形式のXMLで記述します。/Library/LaunchDaemonsに、subversion.plistという名前のファイルを作成し、以下の内容を入力します。

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>Subversion</string>
<key>Program</key>
<string>/sw/bin/svnserve</string>
<key>ProgramArguments</key>
<array>
<string>svnserve</string>
<string>--daemon</string>
<string>--root</string>
<string>/svn_repos</string>
</array>
<key>OnDemand</key>
<false/>
</dict>
</plist>

リポジトリの設定

上記の設定ファイルでは、/svn_reposにリポジトリがあるという設定になっていますので、/svn_reposにリポジトリを作成します。

> mkdir /svn_repos
> svnadmin create /svn_repos

以上で、作業終了です。後はシステムを再起動すると次のURLでリポジトリにアクセスすることが出来ます。

svn://<ホスト名>/svn_repos

クライアント側について

Mac OS Xでは、Developer Tools (Xcode)をインストールするとcvsは一緒にインストールされますがSubversionはインストールされません。こちらもaptでインストールします。

> sudo apt-get install svn-client

著書紹介

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次