Linux上搭建SVN服务

我自己尝试了一下在Linux上搭建SVN服务,包括安装svn软件、创建资源库、配置用户名和密码、启动svn服务等,比较顺利。

如果本文中的命令运行不成功,请在命令前面加“sudo ”后再试试。。。。。。

1. 安装subversion软件

apt-get install subversion    或者  yum install subversion

安装后使用svn命令验证:

如果出现:Type ‘svn help’ for usage.  就表明安装成功

2. 创建资源库

首先我cd到目录/data/svn_repository下(这个目录不是固定的,你可以用你自己创建的一个目录),这个目录用来作为资源库的根目录。

创建一个test_java的资源库

svnadmin create /data/svn_repository/test_java

此时cd到test_java下,发现有如下的文件:

drwxr-xr-x 2 root root 4096 2012-05-05 01:50 conf/

drwxr-sr-x 6 root root 4096 2012-05-05 01:50 db/

-r–r–r– 1 root root    2 2012-05-05 01:50 format

drwxr-xr-x 2 root root 4096 2012-05-05 01:50 hooks/

drwxr-xr-x 2 root root 4096 2012-05-05 01:50 locks/

-rw-r–r– 1 root root  229 2012-05-05 01:50 README.txt

我们只需要关注conf目录,里面有三个文件:authz  passwd  svnserve.conf

authz:用于设置用户组、用户和用户组的权限

passwd:给用户设置密码

svnserve.conf:这个资源库的启动svn服务的设置,详见:http://hi.baidu.com/dreamsun2008/blog/item/e00ef2fb46c5d6d8b48f31d0.html

3. 在本地提交文件到资源库

我有一个文件/data/tmp/test.txt文件,现在我要把这个文件夹tmp添加到资源库test_java中:

svn import /data/tmp file:///data/svn_repository/test_java/ -m “This is a test”

(注意import不能对单个文件使用,只能对文件夹使用,-m “This is a test”是注解)

4. 在本地查看资源库

既然提交了,那如何查看资源库的文件呢:

svn list file:///data/svn_repository/test_java/

5. 在本地签出资源库

svn co file:///data/svn_repository/test_java test

签出资源库test_java并取名为test

6. 启动资源库svn服务

svnserve -d -r /data/svn_repository/test_java/ –listen-port 8888

把资源库test_java的svn服务启动,并把服务的端口号设置为8888

(注意:listen-port前面有两个横杠)

svnserve的更多参数请用命令:

svnserve –help

7. 在windows上查看或者签出资源库

方式一:先安装svn客户端,然后使用svn命令:

查看资源库 svn list svn://ip地址:8888/

签出资源库 svn co svn://ip地址:8888/

方式二:使用TortoiseSVN客户端查看

查看资源库:在任意文件夹的空白处右键–>TortoiseSVN–>Repo-browser,然后在地址栏输入:

用tortoisesvn查看资源库

用tortoisesvn查看资源库

svn://ip地址:8888/

签出资源库: 在任意文件夹的空白处右键–>SVN Checkout,然后如下填写:

TortoiseSVN签出资源库

TortoiseSVN签出资源库

(注意:地址中没有资源库的名字test_java是因为之前启动资源库的时候,是直接对资源库启动的,一个资源库对应一个端口号,所以在windows上访问的时候就不需要带上资源库的名字了。)

8. 给资源库添加用户和密码

每个资源库都有用户验证的配置,在/data/svn_repository/test_java/conf下的三个文件:authz、passwd、svnserve.conf

修改group,并添加用户名:

vi authz

编辑如下的地方:

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

develop = harry,sally

(注意:develop为group的名字,可以随便取。等号后面的是新增加的用户名)

添加用户名的密码:

vi passwd

编辑如下的地方:

[users]

harry = harryssecret

sally = sallyssecret

设置test_java资源库的访问需要验证用户名密码

vi svnserve.conf

编辑如下的地方:

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authzanon-access = none
auth-access = write

杀掉之前启动的svn仓库进程:

ps -ef | grep svnserve

kill -9 对应的进程号pid

再启动test_java的svn服务:

svnserve -d -r /data/svn_repository/test_java/ –listen-port 8888

此时再使用“7.在windows上查看资源库”中的方式二来查看资源库就会弹出对话框,要你输入用户名和密码

Reference

http://www.subversion.org.cn/svnbook/1.4/index.html

http://linux.chinaitlab.com/set/882200.html

http://www.indiangnu.org/tag/webdav/

 

 

原创文章:Linux上搭建SVN服务,转载请注明:转载自戎码一生

Post Footer automatically generated by wp-posturl plugin for wordpress.