CentOS7下安装SVN服务

1. 安装

centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装

yum install subversion

测试安装是否成功:

svnserve --version

2. 建立版本库

创建svn数据目录(根据自己情况选择保存目录):

mkdir -p /data/svn/

创建版本库(以lancent为例):

svnadmin create /data/svn/lancent/

如果删除版本库:

rm -rf /data/svn/lancent

3. 配置svn配置文件

每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:

vi /data/svn/lancent/conf/svnserve.conf

编辑示例:

[general]
anon-access = none                #控制非鉴权用户访问版本库的权限
auth-access = write                 #控制鉴权用户访问版本库的权限
password-db = passwd           #指定用户名口令文件名
authz-db = authz                     #指定权限配置文件名
realm = lancent                    #指定版本库的认证域,即在登录时提示的认证域名称

4. 编辑svn用户配置文件

vi /data/svn/lancent/conf/passwd

编辑示例:

[users]
admin = admin              #用户,密码
fuhd = fuhd                #用户,密码
test = test                #用户,密码

5. 编辑svn权限控制配置文件

vi /data/svn/lancent/conf/authz

编辑示例:

[groups]
admin = admin1,admin2        #admin为用户组,等号之后的admin为用户
test = test1,test2
 
[lancent:/]            #表示根目录(/var/svn/lancent),lancent: 对应前面配置的realm = lancent
@admin = rw            #表示admin组对根目录有读写权限,r为读,w为写
 
[lancent:/test]         #表示test目录(/var/svn/lancent/test)
@test = rw                #表示test组对test目录有读写权限

6. 启动,查看和停止SVN服务

启动SVN服务:

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

svnserve -d -r /data/svn          #用root权限启动

查看SVN服务:

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

停止SNV服务:

killall svnserve

或者查到服务的进程号:

ps -A | grep svn
kill 4094

7. 配置防火墙端口

首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:

firewall-cmd --permanent -add-port=3690/tcp
firewall-cmd --reload

如果依旧是使用 iptables 管理防火墙,则修改:

vi /etc/sysconfig/iptables

然后重启 iptables 服务:

systemctl restart iptables.service

看3690端口是否正常开放

netstat -ntlp

8.设置开机自启动

  安装好的svn服务端,默认是不会开机自启动的,每次开机自己启动会很麻烦,我们可以把它设成开机启动。

编辑rc.local文件

vi /etc/rc.d/rc.local

在文件末尾加入以下命令:

/usr/bin/svnserve -d -r /data/svn

  我们在用终端操作的时候,可以直接使用以下命令启动SVN:

svnserve -d -r /data/svn

  但是在 /etc/rc.d/rc.local 文件中,svnserve 路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。

  不知道svnserve安装到哪里了? 可以使用 whereis 命令查找一下:

whereis svnserve

然后为 rc.local 文件添加执行权限

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

  保存退出,重启并从客户端进行测试。如果报这样的错:svn: E204900: Can’t open file ‘/var/svn/lancent/format’: Permission denied的错误。那就是与SELinux有关系,目前我还不太会用SELinux,那就先把SELinux关闭吧,后面学会了,回过头来再改这一段!!!!:

临时关闭:

setenforce 0

永久关闭:

vi /etc/sysconfig/selinux

修改:

SELINUX = disable               #值修改为disable.

客户端:

svn://IP地址/lancent

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注