svn Server的安装部署基于linux 的ubuntu系统

来源:互联网 发布:java如何写接口 编辑:程序博客网 时间:2024/05/29 03:10

1.安装apache服务器用来开启浏览访问svn功能;

sudo apt-get install apache2

2.安装subversion 服务器

sudo apt-get install subversion              //此命令用来安装subversion服务器

sudo apt-get install libapache2-svn      //安装与之相应的apache-svn

3、 添加用户组并向其添加用户www-data和自己。

sudo addgroup subversion  //添加subversion组

sudo usermod -G subversion -a www-data  //www-data是其中一个用户

sudo usermod -G subversion -a ection   //ection 是svn的拥有者,最好使用系统用户名创建

执行后打开/etc/group(sudo vi /etc/group),应该可以看见以下内容

subversion:x:1001:www-data,ection


4、创建 SVN 仓库

许多位置都可以放置 Subversion 文件仓库,

其中两个最常用的是:/usr/local/svn 以及 /home/svn。

工作目录名:terminal

则全路径为:/usr/local/svn /terminal 或  /home/svn/terminal

sudo chown -R root:subversion terminal  //是root用户拥有subversion组;关于chown命令详细介绍

sudo chmod -R g+rws terminal //赋予组成员对所有新加入文件仓库的文件拥有相应的权限chmod详细
查看txn-current-lock文件的权限和用户以及组信息

创建svn仓库命令:

sudo svnadmin create /home/svn/terminal   //创建svn仓库

然后打开terminal后会发现多了以下文件或目录


通过命令访问库
sudo svn co file://localhost/home/svn/terminal  //第一种方法,知道主机名时用
sudo svn co file:///home/svn/terminal   //第二种方法,当不确定主机命时用,这用的是file:///,三个斜杠
系统提示:取出版本 0
己可以取出版本,说明SVN服务器己正常运行,下面试从webdav访问

启动结束svn服务的指令:

sudo svnserve -d -r /home/svn/terminal

sudo killall svnserve //停止所有svnserve


下面进行svn配置,svn的配置主要在conf目录下的

svnserve.conf文件,passwd文件,authz文件的配置,配置时行最前端不允许有空格

(1)svnserve.conf文件的配置:

原来配置:

[general]

# anon-access = read

# auth-access = write

# password-db=passwd

修改成以下配置,去掉前面的#号:

[general]

anon-access=none        //未验证用户无任何权限

auth-access=write      //已验证用户给予写权限

password-db=passwd    //密码数据存放到passwd文件中

解释:anon-access=none为未验证用户没有任何权限,如果这里不改,用户不用输入密码即可获得代码版本。

auth-access=write已验证用户给予写权限。

password-db=passwd将密码存到passwd文件中。

2)修改passwd文件

 

原来配置:    

[users]

#harry = harryssecret

#sally = sallyssecret

“=”号前面是用户名,后面是密码。按照这种格式建立自己的用户名和密码。

[users]

mirze = 123456

test1 = 123456

编辑/home/svnuser/etc/authz如下

[groups]

admin = mirze,test1
test = test2
[/]
@admin=rw
*=r
这里设置了三个用户mirze,test1,test2密码都是123456
其中mirze和test1属于admin组,有读和写的权限,test2属于test组只有读的权限
5.启动SVN服务

svnserve -d  --listen-post 3690 -r /home/svn/repos
描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库repos的根目录),这样客户端不用输入全路径,就可以访问版本库
如: svn://192.168.1.8/
这时SVN安装就完成了.
局域网访问方式:
例如:svn checkout svn://192.168.1.8/   /svn/terminal

6.如果要添加apache服务器实现代理则在第五步之前添加以下步骤;

1、 配置apache

修改/etc/apache2/mods-available/dav_svn.conf文件,让文件内容如下图所示:



2、 添加用户

sudo htpasswd -c /etc/apache2/dav_svn.passwd manager

sudo htpasswd /etc/apache2/dav_svn.passwd download

注意参数 –c 是第一次添加文件是才需要(生成/etc/subversion/passwd文件),命令执行后系统会提示输入两次密码

3、 设置SVN目录权限

sudo vi /etc/apache2/dav_svn.authz

内容如下:

 

download只读;manager读写

4、 重新起动 Apache 2 Web 服务器

sudo /etc/init.d/apache2 restart

5、 使用浏览器访问SVN,访问URLhttp://139.1.1.122/svn/terminal

6、 使用TortoiseSVN客户端测试用户的读写权限



0 0
原创粉丝点击