ubuntu安装与搭建svn
来源:互联网 发布:javascript模拟器 编辑:程序博客网 时间:2024/05/29 07:49
前言:安装svn前要保证vim好使:
sudo apt-get install build-essential
sudo apt-get install vim
sudo vim xorg.conf
如果vim无法安装,请参考:http://blog.csdn.net/lu1024188315/article/details/62422902
1. 安装SVN
代码如下:
sudo apt-get install subversion
2. 建立svn仓库
1). 建立svn目录:sudo mkdir /home/.svn(使用隐藏目录)
2). cd /home/.svn
3). mkdir astar
4). 创建仓库astar:sudo svnadmin create /home/.svn/astar,执行完毕后astar目录有svnadmin创建的目录和文件
5). mkdir test
6). 创建仓库test:sudo svnadmin create /home/.svn/test,执行完毕后test目录有svnadmin创建的目录和文件
3. 配置和管理svn
1). 每个仓库的配置文件在$repos/conf/(例如:/home/.svn/test/conf/)下,sudo vi svnserve.conf,配置项在[general]下:
anon-access:匿名用户的权限,可以为read,write和none,默认值read。不允许匿名用户访问:anon-access = none
auth-access:认证用户的权限,可以为read,write和none,默认值write。
password-db:密码数据库的路径,去掉前边的#
authz-db:认证规则库的路径,去掉前边的#。
注意:这些配置项的行都要顶格,否则会报错。修改配置后需要重启svn才能生效。
代码:
#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
#认证规则库的路径
authz-db = authz
退出按Esc 输入:wq!
2). 配置passwd文件(在/home/.svn/test/conf/下)
这是每个用户的密码文件,比较简单,就是“用户名=密码”,采用的是明码。如allen=111111,访问:sudo vi passwd
3). 配置authz文件
1. [groups] section:为了便于管理,可以将一些用户放到一个组里边,比如:owner=allen,ellen
2. groups下边的sections表示对一个目录的认证规则,比如对根目录的认证规则的section为[/]。设置单用户的认证规则时一个用户一行,如:
[/]
allen=rw #allen对根目录的权限为rw
ellen=r #ellen对根目录的权限为r
如果使用group,需要在group名字前加@,如
@owner=rw #group owner中的用户均为rw,等价于上边的两句话
启动时如果从/home/.svn/astar启动,/就是astar目录,用如上方式以astar目录为根设置权限。
如果从/home/.svn/启动,每个仓库根还是自己的起始目录。可以采用如上方式设置astar的权限,也可以采用如下方式:
[astar:/]
@owner=rw
设置test的权限如下:
[test:/]
@harry_and_sally = rw
简言之,每个仓库的根目录(/)就是自己的起始目录;[repos:/]这种方式只适用于多仓库的情况;[/]适合于单仓库和单仓库的方式。
3. 不能跨越仓库设置权限。
示例:
[groups]
owner = lubangbang,liting
[/]
lubangbang = rw
liting = r
4. 启动和停止svn
1). 启动:
1. 从astar目录启动,svnserve -d -r /home/.svn/astar,根目录(/)是astar,authz中规则的配置使用section[/]。访问方式为:
svn://192.168.0.87/
2. 从.svn目录启动,svnserve -d -r /home/.svn,根目录(/)是.svn,authz中对astar的配置使用section[astar:/] ,对test的配置使用section[test:/]。访问方式为:
svn://192.18.0.87/astar
svn://192.18.0.87/test
如果需要svn自启动,把命令加入/etc/rc.local中。
注意:其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话—listen-host来指定监听的ip地址,我们可以在svn客户端中通过svn://192.168.1.16来访问svn服务器;对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.比如,我们有两个代码仓库/home/repo1和/home/repo2,我们用svnserve -d -r /home --listen-host 192.168.1.16来启动,那么在客户端访问时可以用svn://192.168.1.16/repo1和svn: //192.168.1.16/repo2来分别访问两个项目.
2).检查svn服务器是否已经启动(svn默认使用3690端口):netstat -an | grep 3690
3).停止:killall svnserve
5. svn client
推荐使用TortoiseSVN, http://tortoisesvn.tigris.org/
Eclipse插件,http://subclipse.tigris.org/
6.Subversion添加用户
(1) Subversion添加第一个用户,要加参数-c。以后不用加。//这里特别注意是添加第一个用户,如果该配置中已有用户千万不要-c不然会把存在的用户全部清空的。如果有用户直接追加不需要-c
htpasswd -c /home/svn/passwd.conf user1。
(2)Subversion追加用户:htpasswd /home/svn/passwd.conf user2 ,passwd.conf文件的生成内容是用户名加上密码的 MD5密文。
注意:如何提示“htpasswd”未安装或者不存时,先进行下面安装:
sudo apt-get install apache2-utils
sudo apt-get install libapache2-svn
示例:
[groups]
vip = wang
admin = wangqixuan, yang
develop-manager = zhong
business-manager = shi
developer = ma, hu, zhou, cen, huang
[repos:/]
@admin = rw
* = r
[repos:/develop/01-Windows项目组/01-ARM架构]
@vip =rw
@admin = rw
@develop-manager = rw
* =
[repos:/develop/01-Windows项目组/02-X86架构]
@vip =rw
@admin = rw
@develop-manager = rw
zhou = rw
hu =rw
ma = r
* =
[repos:/develop/02-Linux项目组/01-ARM架构]
@vip =rw
@admin = rw
@develop-manager = rw
cen = r
huang = r
* =
[repos:/develop/02-Linux项目组/02-X86架构]
@vip =rw
@admin = rw
@develop-manager = rw
cen = r
huang = r
* =
[repos:/develop/个人目录]
@vip =rw
@admin = rw
@develop-manager = rw
@developer = rw
* =
其中* = 表示其它所有用户都没有任何权限。@表示用户组,*表示所有用户,[/]表示全部目录。注意顶格写。UTF-8格式才能配置SVN权限,Linux下默认是UTF-8,Windows下有转换工具,比如Eclipse->Edit->最后一项。一般针对最末梢文件设置权限。
特别注意:权限分配时,不能写成cen, huang =r,这样提交时会出现错误:svn Commit failed checkout of 403 forbidden。应该写成cen = r和huang = r。
- ubuntu安装与搭建svn
- svn安装与搭建
- ubuntu svn 安装与配置
- Ubuntu下SVN服务器搭建与常用命令
- SVN服务端与客户端安装搭建
- 【Svn】ubuntu 安装svn
- ubuntu下svn安装与配置(链接)
- ubuntu下SVN的安装与配置
- svn server (ubuntu) 安装与迁移
- Ubuntu下,SVN服务器安装与配置
- ubuntu下SVN安装与使用
- ubuntu下svn的安装与使用
- Ubuntu 搭建 svn服务器
- SVN Ubuntu搭建
- Ubuntu搭建SVN服务器
- ubuntu 搭建svn服务器
- Ubuntu搭建svn服务器
- ubuntu 搭建SVN服务
- Mybatis查询实例,sql中的in在Mybatis中怎么写--以list为查询条件
- 查看 MacBook 苹果笔记本的软件安装目录
- 如何反射出对象的所有属性?
- Cogs 452. Nim游戏!(博弈)
- Servlet中的过滤器Filter详解
- ubuntu安装与搭建svn
- java枚举类型enum值与整数的转换
- Android数据库SQLCipher加密解密
- MyEclipse2014通过数据库表反向生成映射文件
- 【Bzoj4196】软件包管理器
- Joomla!中的controller
- 合成视频遇见的坑
- 弱密码的危害及账号密码配置要求
- 《ACM程序设计》书中题目--problem b