Linux下建立svn工程


1   连接方式说明

svn提供的访问方式有:

file:///本地路径/to/svnrepo/            //访问本地磁盘

http://host/to/svnrepo/                   //通过配置subversion的apache服务器的webDAV协议

https://host/to/svnrepo/                //与http相似,但是包括ssl加密

svn://host/to/svnrepo/                  //通过subversion自定义的协议

svn+ssh://host/to/svnrepo/        //与svn相似,但通过SSH封装

2    认证方式说明

svnserve可以使用两种认证方式,一种是自身内置的认证,通过passwd文件配置授权的用户名和密码,配置较为简单,参考2.4.2节。另外一种是SSH认证,通过svn+ssh方式连接,配置较为复杂。

2.1   内置方式的配置

(1)修改/svn_project/hpss_monitor /conf/svnserve.conf文件,在general中加入以下几行:

anon-access = none // 未认证的用户没有任何访问权限  

auth-access = write // 认证的用户有写权限  

password-db = passwd // 认证文件为conf目录下的passwd 文件  

(2)修改conf目录下的passwd 文件 :

在[users]节下添加用户名和密码,例如,用户名为a,密码为123,格式如下:

  [users]

  a = 123

2.2   ssh方式认证的配置

假设已经创建了工程/svn_project/hpss_monitor

注意:工程目录最好不要放在root目录下,例如/root/svn_project/hpss_monitor,因为通过ssh方式认证的一般用户没有root权限,无法访问root下的文件夹,除非主动降低root目录的访问级别。

1)        创建系统账户

useradd fify ; 添加fify用户  

groupadd svn ; 添加svn用户组  

usermod -a -G svn fify ; 将fify用户添加到svn用户组  

2)        为用户组赋予权限

chown -R root:svn /svn_project/test 

chmod -R g+rws /svn_project/test      /*给svn组赋予读写权限,可以根据需要更改相应权限*/  

chmod -R o-rwx /svn_project/test     /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/  

3)        在工程中配置权限

修改/svn_project/test /conf/svnserve.conf文件,在general中加入以下几行:

anon-access = none // 未认证的用户没有任何访问权限  

auth-access = write // 认证的用户有写权限  

authz-db = authz // 认证文件为conf目录下的authz文件  

修改/svn_project/test /conf/authz文件(如果没有则创建),在其中加入:

 [/]       // 访问权限为本资源的根目录(以及以下目录)  

fify = rw // fify用户的访问权限为“读+写”  

3    创建工程步骤说明

3.1   创建工程

执行命令:

#svnadmincreate /svn_project/test 

其中,/svn_project/test 是单个工程目录,/svn_project是自定义的svn工程的根目录。其中根目录需系统中存在,工程目录test 由svnadmin创建。

命令完成之后,test 目录里会有多个文件夹和文件。

3.2   修改配置文件

根据认证方式作相应的配置,参考第2节。

3.3   开启服务

启动svn服务:

#svnserve-d -r /svn_project

其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用“svn://服务器ip/工程项目名”来访问了。我所遇到的情况是访问路径必须写全路径,比如在此为“svn://服务器ip/svn_project/test ”

相关内容