分享

centos7搭建svn服务器并支持http方式访问

 三十的狼 2023-01-16 发布于北京

因为公司其他人员需要,需要在服务器上搭建svn服务,途中遇到不少问题,做下记录

第一步,安装svn

默认centos7是已经安装了svn即subversion

检查是否安装

rpm -qa subversion

没有安装的可以通过

yum install subversion

第二步,创建svn版本库

mkdir /home/svn

svnadmin create /home/svn/test

此处库名为test可以根据需要替换

第三步,配置代码库

3.1用户密码配置

vim /home/svn/test/conf/passwd

[users]
# harry = harryssecret
# sally = sallyssecret
用户名=密码
admin=test

3.2权限控制配置

vim /home/svn/test/conf/authz

最后一行插入
[/]
admin=rw
[groups]
project_p = admin

可以根据需要配置其他的组

3.3服务配置

vim /home/svn/test/conf/svnserve.conf

在[general]下插入

#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限 
auth-access=write
#密码数据库的路径 
password-db=passwd
#访问控制文件 
authz-db=authz

第四步,编辑svnserver配置文件

vim /etc/sysconfig/svnserve

OPTIONS="-r /home/svn"

默认实在/var/svn的位置

第五步,启动svn

systemctl start svnserve

netstat -tulnp

查看3690端口是否开放

ps aux|grep svn

查看服务是否开启

测试

svn://ip

输入用户名密码

有可能会遇到selinux阻挡了文件访问

setenforce 0

看下是否成功连接

如果是,就是selinux搞的鬼

cat /var/log/message

查看里面selinux中提供的帮助,照着其中做即可

最后setenforce 1恢复selinux

配置apache支持http方式访问

第一步,先安装apache以及apache对svn的支持

yum install httpd

yum install mod_dav_svn

第二步,修改配置文件

vim /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/test>
    DAV svn
    SVNListParentPath on
    SVNPath /home/svn/test
    AuthType Basic
    Satisfy Any
    AuthName "Subversion repos"
    AuthUserFile /home/svn/test/conf/accesspwd
    AuthzSVNAccessFile /home/svn/test/conf/authz
    Require valid-user
</Location>

第三步,创建accesspwd文件

htpasswd -c -m /home/svn/test/conf/accesspwd admin

接着输入密码

第四步,修改库的拥有者为apache

chown -R apache /home/svn/

第五步,开启httpd服务

systemctl start httpd

到这里连接可以成功,但是上传有可能失败,可能是selinux的问题,也是

cat /var/log/message根据建议修改即可

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多