第一步: 安装SVN服务端

yum install -y subversion

查看版本:

svnserve --version

第二步: 创建SVN版本库

创建svn数据目录(默认数据根目录是/var/svn,开机启动默认也是从这里,我考虑自己电脑分区的容量修改为home目录):

mkdir -p /home/svn/project

创建版本库:

svnadmin create /home/svn/project/repository

如果删除版本库:

rm -rf /home/svn/project/repository

第三步: 配置SVN信息

1、配置 svn服务配置文件svnserve.conf

vim /home/svn/project/repository/conf/svnserve.conf

(通过windows远程用notepad++编辑方便些)

[general]
#匿名访问的权限,可以是read,write,none,默认为read。显示show log
anon-access=none
#使授权用户有写权限
auth-access=write
#使用哪个文件作为账号文件
password-db=passwd
#使用哪个文件作为权限文件
authz-db=authz
#指定版本库命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/home/svn/project/repository

 

2、配置用户口令文件passwd

vim /home/svn/project/repository/conf/passwd
[users]

#用户  = 密码

admin = Admin1234
root = root1234
userlzz = lzz1234

usertest = test123456

 

3、配置权限配置文件authz

vim /home/svn/project/repository/conf/authz
[groups]            
#admin为用户组,等号之后的admin为用户
admin = admin,root
user = userlzz

test = usertest

#用户组所对应的用户
[/]                 
#表示admin组对根目录有读写权限,r为读,w为写
@admin = rw
@user = rw
#其它用户组权限
*=r  
             
#表示testproject目录(/home/svn/project/repository/testproject)
[/testproject]
#表示test组对testproject目录有读写权限
@test = rw

第四步: 启用SVN,配置开机自启

方法一(推荐):

1、查看 systemd 里 svn 的配置文件

vi /lib/systemd/system/svnserve.service

第13行修改为:

[Unit]

Description=Subversion protocol daemon

After=syslog.target network.target

[Service]

Type=forking

EnvironmentFile=/etc/sysconfig/svnserve

ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -d -r /home/svn/project/repository

#上面这里一定要写绝对路径

[Install]

WantedBy=multi-user.target

 

2、将 OPTIONS="-r /var/svn" 改为 svn 版本库存放的目录

vi /etc/sysconfig/svnserve
# OPTIONS is used to pass command-line arguments to svnserve.

#

# Specify the repository location in -r parameter:

OPTIONS="-r /home/svn/project/repository"

3、启动服务:

systemctl start svnserve

4、配置开机自启:

systemctl enable svnserve.service

5、查看服务状态:

systemctl list-units --type=service | grep svn

6、查看服务详细状态:

systemctl status svnserve

方法二:

1、启动SVN服务:

说明:-d : 守护进程  -r : svn数据根目录

#用root权限启动

# svnserve -d -r /home/svn/project/repository

查看SVN服务:

# ps aux|grep svn                #默认端口为:3690

如成功启动,则会有以下类似信息

root      4089  0.0  0.0 197712  1036 ?        Ss   14:30   0:00 svnserve -dr /home/svn/project/

root      4531  0.0  0.0 112716   964 pts/0    S+   14:36   0:00 grep --color=auto svn

2、配置开机启动SVN:

# vim /etc/rc.d/rc.local

添加内容

# svnserve -d -r /home/svn/project/repository

注意:升级CentOS7后,需要给/etc/rc.d/rc.local赋予可执行权限

# chmod +x /etc/rc.d/rc.local

第五步: 配置防火墙开放3690端口

firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --zone=public --add-port=3690/udp --permanent
firewall-cmd --reload

命令含义:

--zone #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

进入版本库目录:

cd /home/svn/project/repository

赋予权限:

chmod -R 777 format

永久闭:

vim /etc/sysconfig/selinux

值修改为disable.

SELINUX = disable

 永久关闭SELINUX后即可解决svn自启后访问权限不足的问题

保存退出  ,然后重启服务器,在客户端 SVN Checkout 测试通过。

centos7 安装ssserver centos7安装svn服务器_版本库