在CentOS中安装配置svn服务器环境
一、安装svn
# yum install httpd
# yum install httpd-devel
# yum install subversion
# yum install mod_dav_svn
# yum install mod_auth_mysql
验证是否安装成功,输入命令:
# svnserve –version
1 2 3 4 5 6 7 8 9 10 11 12 13 |
svnserve, version 1.6.11 (r934486) compiled Feb 10 2015, 22:08:22 Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). The following repository back-end (FS) modules are available: * fs_base : Module for working with a Berkeley DB repository. * fs_fs : Module for working with a plain file (FSFS) repository. Cyrus SASL authentication is available. |
输出上面的信息后证明安装成功
二、创建代码库
首先创建一个目录用于存放svn的各个项目
# mkdir /opt/svn
使用svnadmin创建一个代码库
# svnadmin create /opt/svn/repo1
这样第一个项目的代码库就创建完成了,进入到repo1目录中,可以看到conf, db,format,hooks, locks, README.txt等文件,说明代码库建立成功
三、配置代码库
进入到/opt/svn/repo1/conf目录中,可以看到三个文件authz, passwd, svnserve.conf,其中authz是用于配置用户组和用户的文件,passwd是用于设置用户名和密码的文件,svnserve.conf是用于配置服务器的文件
1. 配置passwd
输入下面命令编辑passwd文件
# vi /opt/svn/repo1/conf/passwd
在[users]节点下面以下面格式输入“用户名 = 密码”,如:bcoder = 123456
2. 配置authz
输入下面命令编辑authz文件
# vi /opt/svn/repo1/conf/authz
[groups]节点下面是用于配置用户组的,可在每行输入”组名 = 用户1,用户2,用户3……”,如:” grpdeveloper = dev1, dev2, dev3 ”
[代码库路径]用于配置用户或者组对该代码库的权限,可在每行输入“用户名=rw”,r是读权限,rw是读写权限。如果对用户组则需要在用户组名前面加上 “@”,如:“@grpdeveloper”
这里我们简单的设置如下:
1 2 |
[/] bcoder = rw |
3. 配置svnserve.conf
输入下面的命令编辑svnserve.conf
# vi /opt/svn/repo1/conf/svnserve.conf
1 2 3 4 5 6 |
[general] # anon-access = read # auth-access = write # password-db = passwd # authz-db = authz # realm = My First Repository |
anon-access用于设置匿名用户的权限,read为只读,write为读写,none为不能访问,通常设置为none
auth-access用于设置登录用户的权限,read为只读,write为读写,none为不能访问,通常设置为none
password-db用于指定存储用户名密码的文件,即/opt/svn/repo1/conf/中的passwd文件,默认password-db = passwd即可
authz-db用于指定用户权限的文件,即/opt/svn/repo1/conf/中的authz文件,默认authz-db=authz即可
四、启动svn服务器
输入下面的命令启动svn服务器
# svnserve -d -r -/opt/svn/repo1
五、使用客户端checkout代码库
在客户端使用下面地址checkout,svn://你的IP地址/
六、停止svn服务器
输入下面的命令停止svn服务器
# killall svnserve
七、启动多个代码库
假设我们在/opt/svn/下面建立了多个代码库,如
# svnadmin create /opt/svn/repo1
# svnadmin create /opt/svn/repo2
# svnadmin create /opt/svn/repo3
那么如果我们想使用多个代码库,在启动svn服务器的时候使用如下命令
# svnserve -d -r /opt/svn/
即使用多个代码库的上一级目录启动svn服务器,现在在客户端checkout的时候就要输入代码库的名字了,如:svn://你的IP地址/repo1