CentOS下安装Subversion (SVN)

一、配置支持HTTPS访问的SVN

所需工具   Subversion

     Apache

     SSL 

1.安装Subversion和Apache的SVN模块插件

yum install subversion mod_dav_svn

2.安装Apache

yum install httpd httpd-devel

3.安装SSL和Apache的SSL模块插件

yum install openssl mod_ssl

4.创建test和test2两个资源库

svnadmin create /data/svn/test  #创建资源库test
svnadmin create /data/svn/test2  #创建资源库test2

5.配置apache的subversion.conf插件

vi /etc/httpd/conf.d/subversion.conf

##将下面的注释放开,并进行修改

  

直接拷贝下面配置文件

<Location /svn>  #对外访问的根路径,例如:http://ip/repos

 DAV svn
 SVNParentPath /data/svn  #SVNParentPath指向所有资源库的父级目录;SVNPath指向单个资源库

 # Limit write permission to list of valid users.
 <LimitExcept GET PROPFIND OPTIONS REPORT>
 #Require SSL connection for password protection.
 SSLRequireSSL

 AuthType Basic
 AuthName "Authorization Realm"
 AuthUserFile /data/svn/passwd  #用户账号文件
 Require valid-user
 </LimitExcept>
</Location>

------------------选下面这个------------------------------

<Location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /svn/testsvn/conf/aa
AuthzSVNAccessFile /svn/testsvn/conf/bb
Require valid-user
</Location>

更改资源库的权限

#按照subversion.conf的提示,还要对每个资源库还要进行以下操作

chown -R apache.apache test
chcon -R -t httpd_sys_content_t test

6.创建用户文件和资源权限文件

cd /data/svn
htpasswd -c passwd test  #-c 创建文件,创建用户test
htpasswd passwd test2  #创建test2用户

vi authz  #配置资源权限
[/]       #表示根目录 /data/svn
test=rw   #表示test用户具有读写权限

OK,此时就可以启动apache,测试一下了

7.配置密钥文件,设置https登录有效

----------------------------------------------------------

一些问题:

1.chcon: can't apply partial context to unlabeled file `locks'

类似以上问题,解决如下:

vi /etc/selinux/config

SELINUX=enforcing 将selinux级别设为启用,重启selinux或linux系统即可。

2.如果启动httpd出现Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using

解决如下:

vi /etc/httpd/conf/httpd.conf

将里面的#ServerName localhost:80注释去掉即可。

3.authz文件详解

------------简易安装---------------------------------------------

一、单独安装SVN

1.直接安装SVN,可使用TortorseSVN访问

yum -y install subversion

2.创建repo资源库

##在/data/svn目录下创建test库
svnadmin create /data/svn/test

3.配置访问账户和权限

vi test/conf/svnserve.conf

去掉注释#和空格
password-db = passwd
authz-db = authz
vi test/conf/passwd

##添加
test=123
vi test/conf/authz
#配置资源权限,/表示test资源库根目录,[/test]则表示该资源库中test目录,rw表示读写权限,test表示用户或组 [/] test=rw

4.启动SVN服务

svnserve -d -r /data/svn/test

5.使用客户端测试连接

svn://ip

OK,这样单独的svn就配置安装好了。

当然了,这里会有一个问题,如果我建立了多个repos库,怎么办呢?看下面

如果为了方便管理,多个项目使用不同的repos库,那么可以将他们放在同一目录下

svnadmin create /data/svn/test  #创建资源库test
svnadmin create /data/svn/test2  #创建资源库test2

svnserve -d -r /data/svn   #对外发布svn服务

这时就可以通过svn://ip/test  和svn://ip/test2 来访问不同的资源库了

--------------问题-------------------

1.show log显示 want to go offline?

找到相应的conf/svnserve.conf文件打开
找到anon-access = read,
改成anon-access = none
再看日志就可以了
原文地址:https://www.cnblogs.com/baby-bear/p/4008696.html