ubuntu下实用svnserve配置svn服务器
July/31st 2010

1.安装subversion

    sudo apt-get install subversion

2.建立一个文件夹作为版本库的根目录 

    mkdir /var/svnroot/

    这个目录本身不是版本库,只是拿来装版本库的目录

3.进入这个目录,创建版本库

    cd /var/svnroot/

    svnadmin create project1

    以后如果有多个项目,可以继续在/var/svnroot/下面create新的版本库

4.配置project1

    cd /var/svnroot/project1/conf/

    ls

    将会看到以下文件 authz passwd svnserve.conf

    首先编辑 svnserve.conf

    vim svnserve.conf

    其中  anon-access 表示 匿名用户的权限 auth-access 表示经过认证的用户的权限。去掉前面的#注释,顶格写。一般说来像这样就可以了:

anon-access = none

auth-access = write

    然后看到下面有 password-db 这个配置项。 这个是配置使用的密码文件。 为了以后多个版本库同时运行,建议改这个文件到 /var/svnroot/下面。比如:

/var/svnroot/passwd

    同理,authz-db这个也是,像这样:/var/svnroot/authz

    然后有个东西叫做realm,这个貌似是连接svn服务器的时候的提示句子。。不过设置成project的名字肯定没错。比如 project1

    其他的不管。保存退出。 

5.移动authz和passwd到 /var/svnroot/下面。

    刚刚说了,这个是为了以后多个版本库同时运行作准备,以便多个版本库用同一个密码配置文件。否则每个版本库都要单独配置用户和权限就麻烦了。

6.编辑 /var/svnroot/passwd

    这个简单,像这样就可以了:

[users]

username=password

7.编辑 /var/svnroot/authz

    [groups]下面的信息是定义用户组,方便对一个组的用户配置权限。 比如 group1=username1,username2。不过如果一个用户的话,配置成你的名字也无妨,例如:longbill=longbill

    再往下面就是配置各个版本库的权限了。

    [project1:/] #这句表示project1这个版本库的权限。如果配置所有版本库的权限就写 [/]

    除此之外,还可以写[/project1]也表示project1这个版本库。

    这句下面配置我们刚刚设置的用户组的权限。前面要加@符号。 例如: @longbill=rw

8.启动svnserve

    sudo svnserve -d -r /var/svnroot/

    -r 后面的参数是svnroot位置,而不是某个版本库的位置

    要关闭svnserve可以直接用 kill 结束掉那个进程

9.测试。

    在本地 svn co svn://yourhost.com/project1 --username longbill --password xxxxxx

    如果看到 Checked out revision 0.  那么表示成功拉~~~

10.增加版本库

    如果来了一个新的项目。可以在 /var/svnroot/下面 用 svnadmin create project2 来创建一个新的版本库。然后参考步骤4配置project2的svnserve.conf。 然后按照自己的需要配置 /var/svnroot/authz 。 重启svnserve进程就可以了。

11.添加自动启动svnserve脚本。   研究中....



8416 read 1 comment(s)
#1
trylife   2010年07月31号 12:59       回复
沙发从来不放过的~
添加新的评论
称呼:*
邮件:*
网站:
内容:

Copyright © Longbill 2008-2024 , Designed by EndTo , Powered by EndCMS