linux搭建svn服务器:
安装svn软件包:
yum install subversion mysql-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced
安装完成后svn服务器安装成功了。
接下来配置svn库:
1.新建一个目录用于存储SVN所有文件
# mkdir /home/svn
2.新建一个版本仓库
# svnadmin create /home/svn/project
3.配置用户信息
/home/svn/project/conf/下的 passwd(存放用户名和密码),authz(用户的访问策略), svnserve.conf(策略配置升效)实例:
# vim /home/svn/project/conf/passwd/passwad
[users]
pm = pm_pw # 左边是用户名,右边是密码
server_group = server_pw
client_group = client_pw
test_group = test_pw
# vim /home/svn/project/conf/passwd/authz
[groups]
project_p = pm # passwd 中创建的 pm 账号在 这个文件中用 project_p 引用,
project_s = server1,server2,server3 # 同上
project_c = client1,client2,client3 # 同上
project_t = test1,test1,test1 # 同上
[project:/]
@project_p = rw # @ project_p 为 groups 中定义的 project_p 属性 rw 为读写
* =
[project:/server]
@project_p = rw #同上
@project_s = rw #同上
* =
[project:/client]
@project_p = rw #同上
@project_c = rw #同上
* =
[project:/doc]
@project_p = rw #同上
@project_s = r #同上,r 读,w 写
@project_c = r #同上
@project_t = r #同上
* =
# vim /home/svn/project/conf/passwd/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = /home/svn/project/conf/passwd #指向 passwd 这个存放用户名的文件
authz-db = /home/svn/project/conf/authz #指向 authz 这个访问策略文件
# ps:在配置文件时注意左边不能有空格,* = 不能写 * = r ,否则不能生效
4.启动服务器
# svnserve -d -r /home/svn
5.查看状态
# ps -aux|grep svnserve
6.测试服务器
# svn co svn://192.168.109.128/project
Authentication realm: <svn://192.168.109.128:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
Password for 'root':
出现这个就ok了,如果客户端访问失败那就是linux防火墙问题,关闭linux防火墙,然后重试。