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
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
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,访问URL:http://139.1.1.122/svn/terminal
6、 使用TortoiseSVN客户端测试用户的读写权限