玄箱にSubversionをインストール November 28, 2006
ふと「いまどきdiff -cNrでもないか」と思い立ったので玄箱にSubversionをインストールして、ソース管理を近代化することにした。
バイナリ自体はapt-get install subversionで入る。あとはサーバーとして運用するための設定が必要。 Subversionをリモートからアクセスする方法はいくつかあるが、今回はxinet.d経由の設定にした。 手順自体はIntroduction to Subversionが完璧と思えたので参考にした。 他のサイトの情報ではxined.conf(/etc/xinetd.d/svnserveとか)の設定でuserのアクセス権限をrootとしているものが多いなか、ユーザーsvnを作成している点がよりセキュアな気がした。 この場合、リポジトリ自体のファイルパーミッションも全てユーザーsvnがアクセスできる必要がある点に注意。
忘れそうなのでメモっておくと、関係する設定ファイルは以下のとおり。
- /etc/services: port 3690にsvnサービスを登録
- /etc/xinetd.d/svn: 上記の呼出しをうけてsvnserveを起動するための設定
- /PATH/TO/REPOS/conf/svnserve.conf: 認証設定。passwdファイルを指定している行を有効化、など
- /PATH/TO/REPOS/conf/passwd: ユーザーIDとパスワードを定義
このうち認証設定のファイルは、svn createコマンドによってリポジトリ内に生成されるので、非常に意表をつかれる。おそらくリポジトリごとにアクセス範囲を切り分けるための仕組み。
今回のようなxinetd経由以外にApache経由やSSH経由などの設定も可能なので、いずれやってみようと思う。