CentOS搭建SVN服务器,支持svn和Apache HTTP方式访问
-
检查是否安装了低版本的SVN
rpm -qa subversion##
-
卸载旧版本SVN
yum remove subversion
-
安装SVN
yum -y install subversion##
-
建立svn版本库
mkdir -p /home/svn
svnadmin create /home/svn
此处版本库名为svn,也可以是其它 -
配置代码库
cd /home/svn/conf
5.1、用户密码配置
vi passwd
#harry = harryssecret
#sally = sallyssecret
root=1234565.2、编辑控制权限authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容,包括一个组project_p,组下有一个用户root。使root用户对svn上所有项目拥有读写权限:
vi authz
[gruops]
project_p = root
[/]
root=rw若只希望某个用户对 某个项目有读、写、读写权限,可如下设置:
[/Project]
root=r对root用户对project只有读的操作
5.3、服务svnserve.conf配置
在[genera]下追加如下内容vi server.con
匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
使授权用户有写权限
auth-access=write
密码数据库的路径
password-db=passwd
访问控制文件
authz-db=authz
认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/home/svn
6.启动SVN
svnserve -d -r /home/svn
-d表示守护进程, -r 表示在后台执行
7. 检测SVN端口
netstat -ln | grep 3690
8.检出svn到指定目录
svn checkout svn://IP/Project
配置Apache支持HTTP方式访问
1、如果没有安装apache服务,那么安装apache服务及对svn的支持
rpm -qa httpd
apache服务器,让我们的svn 服务器支持http协议访问,而不仅是svn://协议
yum install httpd
apache操作svn模块
yum install mod_dav_sv
2、 修改配置文件/etc/httpd/conf.d/subversion.conf(没有则新建),內容为:
vi /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
Satisfy Any
AuthName “Subversion repos”
AuthUserFile /home/svn/accesspwd
AuthzSVNAccessFile /home/svn/authz
Require valid-user
</Location [^2]>
3、 创建accesspwd 文件并且添加用户
touch /home/svn/accesspwd
htpasswd /home/svn/passwd root
提示输入两次密码
4、创建authz文件负责apache权限控制
touch /home/svn/authz
vi /home/svn/authz
[/]
root= rw
*=
5、启动httpd服务
service httpd restart