- 安装SVN
# yum -y install svn
- 创建文件夹
# mkdir -p /home/svn/project1
- 生成svn仓库
# svnadmin create /home/svn/project1
- 修改配置(/home/svn/project1/conf)
passwd [用户账号、密码文件]
[users] # harry = harryssecret # sally = sallyssecret # 下面这行是新加的 等号左边是用户名 右边是密码 # 记住 用户名一定要顶着边写切勿有空格 username = passwd
authz [权限文件]
[groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # 此处增加 [/] # harry = rw # 此处增加 username = rw # &joe = r # * = # 此处增加 *=r
svnserve.conf
# 下面这些变量都是注释的请自行打开注释 # 强烈提示 每行的开始请不要有空格,请不要有空格,请不要有空格 # anon-access 没有账号是否可读此处最好改为none anon-access = read # auth-access 有账号是否可写 auth-access = write # 账号数据文件名 password-db = passwd # 权限数据文件名 authz-db = authz # 认证命名空间 realm = /home/svn/project
- 启动svn服务
// 这句中的 --listen-port 设定svn服务的端口
// 默认端口为 3690 ,这个端口我已经再用了所以
// 我新起了一个端口
# svnserve -d -r /home/svn/project/ --listen-port=3691
- 查询服务器的进程以及端口
// 查询服务的进程号 返回 下边即是成功
# ps aux | grep svn
# root 55176 0.0 0.1 197136 1024 ? Ss 17:39 0:00 svnserve -d -r /home/svn/project/ --listen-port=3691
// 查询svn服务器开启的端口
# netstat -ntlp | grep svn
# tcp 0 0 0.0.0.0:3691 0.0.0.0:* LISTEN 55176/svnserve
- 开启该svn进程的防火墙(我这里只适用于7.+的centos系统)
// --permanent 永久生效(包括重启)
# firewall-cmd --zone=public --add-port=3691/tcp --permanent
success
// 重载
# firewall-cmd --reload
success
// 查询当前端口是否打开成功
# firewall-cmd --zone= public --query-port=3691/tcp
yes
// 删除当前的端口
# firewall-cmd --zone= public --remove-port=3691/tcp --permanent
- 本地测试是否连接成功
# svn co svn://你的ip或者配置的域名:3691 --username=username --password=passwd
Checked out revision 0.
一些经历的坑
svn: E200002: xxxxxx/svnserve.conf:19: Option expected
- 在修改配置的时候请检查每行的开头是否有空格
svn: E000061: Can't connect to host 'xxxxxxxxx': Connection refused
- 请注意是否给svn的端口打开防火墙