Linux svn server部署

注意:此文章主要复制过来,所以注意命令之间的一些空格
http://wenku.baidu.com/view/f2a697b765ce0508763213da.html


二、svn服务器配置


1.建立svn版本库目录
mkdir -p /opt/svndata/repos1


2.建立svn版本库
svnadmin create /opt/svndata/repos1


3.修改svn版本库配置文件
vi /opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]


anon-access=none
auth-access=write


password-db=/opt/svn/conf/pwd.conf
authz-db=/opt/svn/conf/authz.conf
realm=repos1
(注意:把文件中上面各项前面的#号去掉,然后去掉他前面的空格。保存)


这里的各配置项意思是:


anon-access指匿名访问的权限,可以是read,write,none,默认为read,这个建议配为none


auth-access指认证用户的权限,可以是read,write,none,默认为write




password-db指密码数据库的路径,去掉前面的,存的是认证用户的用户名和密码,


username=passwd




authz-db实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限


4.配置允许访问的svn用户
vi /opt/svn/conf/pwd.conf
文件格式如下:
[users]


<用户1>=<密码1>
<用户2>=<密码2>


其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]


alan=password
king=hello


注意:对用户配置文件的修改立即生效,不必重启svn。


5.配置svn用户访问权限
vi /opt/svn/conf/authz.conf
户组格式:
[groups]


<用户组名>=<用户1>,<用户2>


其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。


版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>


其中,方框号内部分可以有多种写法:
/表示根目录及以下。根目录是svnserve启动时指定的,


我们指定为/opt/svndata。
这样,/就是表示对全部版本库设置权限。


repos1:/表示对版本库1设置权限
repos2:/abc表示对版本库2中的abc项目设置权限
repos2:/abc/aaa表示对版本库2中的abc项目的aaa目录设置权限




权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和


空,空表示没有任何权限。


示例:
[groups]
admin=alan
[/]




@admin=rw
[repos1:/abc/aaa]
king=rw


[repos2:/pass]
king=


注意:


*权限配置文件中出现的用户名必须已在用户配置文件中定义。
*对权限配置文件的修改立即生效,不必重启svn


6.svn配置完毕,删除无用文件
,同时也是为了保密,当然可以留在重复使用
rm /opt/svndata/repos1/conf/authz
rm /opt/svndata/repos1/conf/passwd




三、启动svn
1.建立启动svn的用户


useradd svn
passwd
 svn


根据提示为用户svn设置密码
允许用户svn访问版本库
chown -R svn:svn/opt/svndata


2.启动svn
(1)用设定帐户启动
su - svn -c "svnserve -d 
--listen-port 9999
 -r 
/opt/svndata"


其中:
su - svn表示以用户svn的身份启动svn 
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端


口需要root权限


-r /opt/svndata指定根目录是/opt/svndata






 








(2)对于单个代码仓库:
启动命令:svnserve -d -r 文件夹路径 --listen-host 192.168.100.131


其中-d表示在后台运行,-r指定服务器的根目录,
这样访问服务器时就可以直接用
svn://服务器ip来访问了。


如果服务器有多ip的话--listen-host来指定监听的ip地址.
我们可以在svn客户端中通过


svn://192.168.100.131来访问svn服务器


(3)对于多个代码仓库:
我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写


上每个仓库相对于svn根目录的相对路径.
比如,我们有两个代码仓库/opt/svndata/repos1


和/opt/svndata/repos2,
我们用:svnserve -d -r /opt/svndata --listen-host 192.168.100.131来启动,那么在客户端


访问时可以用svn://192.168.100.131/repos1和svn://192.168.1.131/repos2来分别访问两个
项目启动完成以后
我启动的方法:
[root@austitfabian]#
svnserve -d
 -r /opt/svndata --listen-host
 192.168.100.131


注意:
svn默认端口是3690,你需要在防火墙上开放这个端口。也可以通过svnserve的--


listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如


svn://192.168.100.200:9999/.......


3.检查是否启动成功:(查看是否存在svnserve进程)
ps -ef | grep svnserve 
如果显示如下,即为启动成功:
svn 6941 1 015:07? 00:00:00 svnserve -d –listen-port 9999 -r /opt/svndata


四、导入项目
[root@austitObject]#ls
 
41 c41cManagesq  wapstat
[root@austitObject]#svn import 41cManage 


file:///opt/svndata/41cManage -m "initial
import"


五、客户端checkout,commit,update
输入url:svn://192.168.100.131/repos1





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值