Ubuntu 14.04 下创建 svn repository

折腾了好几天,总算成功在自己的电脑上创建了一个svn服务器。过程参考了很多网络教程, 主要有:

在linux服务器上装svn版本管理,自动部署代码到项目: http://www.cnblogs.com/mitang/p/4309762.html

http://www.zerophp.cn/archives/110/

 

过程:

 

1. 确认svn服务端

这个因为Ubuntu14..04 已经默认安装了,所以可以不用管。

 

2. 创建新的repository

其实就是新建一个目录啦~注意在不同的位置可能需要不同的权限。

su
cd /
mkdir svn
cd svn/
svnadmin create svn_personal/

这样一个新的名叫:svn_personal 的 repository 就创建好了。

 

3. 修改配置文件

配置文件主要在svn_personal里的conf/文件夹里。此过程大体跟参考文章一致,除了小细节。

(1) 修改 svnserve.conf

anon-access = read       //默认是只读read
auth-access = write      //认证后有写入权限
password-db = passwd     //帐号密码配置文件
authz-db = authz         //权限配置文件
realm = svn_personal           //改成自己的版本库 生效范围

(这里如果不懂各项参数的话最好还是不要自己改动。曾经把groups选项修改了一下,结果后来怎么也连接不上服务器)

(2) 修改 authz

[group]  
manager = zjyx
devteam = z8j
 
[/]                   //制定根目录下的权限 
@manager = rw
@devteam = rw
* = r

 

(3) 修改 passwd

[users] 
 
zjyx = ***    //用户名 = 密码  
z8j = *** 

 

4. 启动svnserve

启动之前注意退出root,否则可能会发生:svn: E000013: Commit failed (details follow):cannot open “/data/svn/xxxx/db/txn-current-lock”: permission denied 错误。

运行以下命令即可:

svnserve -d -r /svn/svn_personal/

 

5. 修改读写权限

我们还需要修改/svn/svn_personal/文件夹下的/db/文件夹权限,否则也会发生permission denied错误。

sudo chmod -R 777 db/

 

6. ssh访问

现在我们就可以从外部访问这个repository啦~ssh命令行如下;

svn co svn+ssh://username@hostname/svn/svn_personal/ .

此处username为authz里的用户名。repository应该用full path。我看有些教程写的只是relative path,但是在我的电脑上 relative path不能正常工作,总是显示 repository not found on URL: *** 之类的报错信息。

posted @ 2016-08-12 23:38  zjyx  阅读(199)  评论(0编辑  收藏  举报