一、subversion的安装
(1)下载subversion、subversion-deps。http://subversion.apache.org/download/
(2)安装后可查看,/usr/local/subversion/bin/svnserve --version
(3)创建文件夹目录:mkdir /usr/local/svndata/repos;
(4)创建svn版本库:svnadmin create /usr/local/svndata/repos;执行后,该文件夹已不是普通的文件夹,会在其中创建相关文件,如图:
(5)修改配置文件:vi conf/svnserve.conf ;去掉注释,保留如下参数:
anon-access = read;非授权用户的权限
auth-access = write;授权用户的权限
password-db = passwd;明文密码的路径
authz-db = authz;访问控制文件(用户、用户组、用户组的权限)
realm = /opt/svndata/game # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
(6)配置用户:vi conf/passwd
(7)配置权限:vi conf/authz
[groups]
harry_and_sally = eg366
[repos:/] #此处设置需要注意,parent的层级关系
@harry_and_sally = rw
(8)启动服务:svnserve -d -r /usr/local/svndata --listen-port=82
--listen-port:指定服务端口号;
(9)启动后可通过浏览器访问:svn://xxx.xxx.xxx.xxx:82/repos;(通过svn服务端启动的,走的是svn协议。如果前端装了apache才可以走http协议。apache的安装见后)
如果安装了TortoiseSVN client,浏览器会弹出打开该工具的提示。
二、前端安装apache
网上一般的教程的安装流程顺序,apr、apr-util、apache、subversion。
(1)由于当前系统中已经安装了apache、且“一”步骤中也已安装了subversion。步骤应该不同,现认为应该在apache中安装apr和apr-util模块。但查看现系统中apache的conf/httpd.conf文件,已经有了如下配置:
不确定是否是已经安装完成了apr和apr-util模块。【待以后研究学习】后边继续按照网上的一般流程进行。
在apache配置文件中增加如下配置(当前apache配置的是81端口)。
/svn:配置完成后访问路径:http://ip:81/svn/repos
SVNParentPath:svn版本库路径
AuthUserFile:登陆密码验证文件(通过http://访问,是由apache来验证的;通过svn://是由subversion中的conf/passwd来验证的)
AuthzSVNAccessFile:限定各个用户或组在版本库中目录的访问权限(类似subversion中conf/authz文件设置用户组的权限)
Require valid-user:限定用户只有输入正确的用户名及密码后才能访问这个路径
(2)上图中"/usr/local/apache/conf/svnpwd/passwd"文件,是通过apache的“/usr/local/apache/bin/htpasswd”创建的:
htpasswd -mc passwd <username> #回车后会提示输入两次密码
(3)配置完成后,重启apache服务,即可通过http://ip:81/svn/repos/进行访问了