Setup Ubuntu Server


SVNサーバ

バージョン管理ソフトSubversionを導入する。

_ インストール

$ sudo apt-get install subversion

_ svn用のユーザsvnuserを作成

$ sudo adduser svnuser

_ レポジトリ作成

$ sudo su - svnuser
$ svnadmin create /home/svnuser/repos

_ svnアクセス用パスワード作成

(svnuserで)

$ vi /home/svnuser/repos/conf/passwd

[users]に以下を追加

svnuser = password

passwordはパスワードに変える。

_ chmod

$ chmod 400 /home/svnuser/repos/conf/passwd

_ 平文パスを許す

$ vi /home/svnuser/repos/conf/svnserve.conf

変更前

# auth-access = write
...
# password-db = passwd
...
# realm = My First Repository

変更後

auth-access = write
...
password-db = passwd
...
realm = My First Repository

_ svnuserでログインできなくする

(svnuserから出て)

$ sudo chsh svnuser
Changing the login shell for svnuser
Enter the new value, or press ENTER for the default
        Login Shell [/bin/bash]: /usr/sbin/nologin

_ xinetdの設定

cvsと同じくxinetdで管理する。

$ sudo vi /etc/xinetd.d/svn

以下を作成

service svn
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = svnuser
        server          = /usr/bin/svnserve
        server_args     = -i -r /home/svnuser/repos
        log_on_failure  += USERID
        only_from       = 192.168.0.0/24 127.0.0.1
}

_ ufwを使っている場合は3690を開く

$ sudo ufw allo 3690

_ xinetd再起動

$ sudo /etc/init.d/xinetd restart

_ WindowsのCygwinから実験

$ mkdir svntest
$ cd svntest/
$ cat > svntext.txt
sss
vvv
nnn[Ctrl+D]
$ svn import svn://192.168.0.100/svntest
$ cd
$ mkdir T
$ cd T
$ svn co svn://192.168.0.100/svntest
...
$ svn ci
 
Link: MenuBar(2470d)
Last-modified: 2009-01-23 (金) 13:49:57 (5570d)