CentOS搭建SVN服务器

冷暖自知 提交于 2019-12-23 17:30:59

一、环境

    系统:CentOS 7.0

    SVN:官网最新版(地址:https://tortoisesvn.net/downloads.html

二、为方便测试,关闭防火墙和selinux

    

setenforce 0
systemctl stop firewalld

三、开始安装

# 1、查看本机是否安装过SVN
rpm -qa subversion
#如果有,则卸载
yum remove subversion

# 2、安装SVN和其他服务
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
#也可以只安装SVN服务
yum install subversion -y

#3、确认安装成功
cd /etc/httpd/modules
ls | grep svn
#结果是两个so文件,mod_authz_svn.so 和 mod_dav_svn.so

#4、验证版本
svnserve --version

四、创建代码库

#创建文件夹目录用于存放
mkdir -p /opt/svn/repositories
#创建一个新的SVN仓库,仓库路径为上面的那个目录
svnadmin create /opt/svn/repositories

五、修改配置文件

cd /opt/svn/repositories/conf

#authz:负责账号权限的管理,控制账号是否读写权限
#passwd:负责账号和密码的用户名单管理
#svnserve.conf:svn服务器配置文件

#修改密码配置文件
vi passwd
#################### 文件内容 ###########
[users]

# harry = harryssecret

# sally = sallyssecret
#格式:用户名=用户密码
test=123456

#修改权限文件
vi authz
################## 文件内容 ###############
[groups]
#SVN目录权限[/]代表根目录
[/]
test=rw

#修改配置文件
vi svnserve.conf
################## 文件内容 ###############
[general]
#匿名用户没有任何权限
anon-access = none
#认证用户具有写权限
auth-access = write
#用户的密码文件
password-db = /opt/svn/repositories/conf/passwd
#用户的信息文件
authz-db = /opt/svn/repositories/conf/authz

#启动SVN
svnserve -d -r /opt/svn/repositories
#查看进程
ps -ef|grep svn|grep -v grep
#查看端口,可以通过:yum install net-tools 安装netstat命令
netstat -ln |grep 3690
#停止服务,可以通过:yum install psmisc 安装killall命令
killall svnserve
#启动服务
svnserve -d -r /opt/svn/repositories

六、客户端连接

#1、从上面的连接下载安装客户端
#2、输入地址查看
svn://ip地址:3690/xxxx

七、扩展

1、小乌龟官网打开后可以下载中文语言包,在页面下方

 

客户端安装完毕后,直接安装这个语言包,安装完之后右键设置

2、svnserve.conf 文件,部分说明

anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read

auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write

authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 缺省值:authz

3、目录权限控制文件:/opt/svn/repositories/conf/authz

[/]
   admin=r    #admin用户有根目录权限
   thinker=r
   [/webphp]
    admin=r
    thinker=rw    #thinker用户对/opt/svn/repo/webphp目录具有读写权限

4、查看svn安装目录

rpm -ql subversion

5、/opt/svn/repositories/conf/svnserve.conf 文件中的  realm  属性

网上查找资料说这个属性是:指定版本库的认证域,即在登录时提示的认证域名称。

有说吧 #realm = My First Repository 的注释去掉即可

也有说 realm = 192.168.4.74 要写自己服务器IP的

我这里没写IP也没取消注释,访问暂时正常,没遇到什么问题

6、windows搭建SVN服务器,参考以下连接

https://blog.csdn.net/weixin_37657720/article/details/79501507

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!