发布于 3年前

linux服务器搭建svn服务器步骤

之前工作中从事开发都是完成功能方面的事情,对于linux配置方面了解到的比较少,一般也都有运维人员来完成。今天有个机会,帮同事搭建svn版本控制器。一边网上查找资料一边配置,终于配置完成了。心里还有些小高兴,从此我对svn的权限、组之类的有个具象的概念,我要记录一下。

安装环境:centos6.+,安装模式yum

检查已安装版本

#检查是否安装了低版本的SVN

[root@localhost /]# rpm -qa subversion

#如果存储旧版本,卸载旧版本SVN

[root@localhost modules]# yum remove subversion

安装SVN

[root@localhost modules]# yum install subversion

验证安装

检验已经安装的SVN版本信息

[root@localhost modules]# svnserve --version

svnserve,版本 1.6.11 (r934486)

编译于 Jun 23 2012,00:44:03

版权所有 (C) 2000-2009 CollabNet。

Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。

此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

下列版本库后端(FS) 模块可用:

* fs_base : 模块只能操作BDB版本库。

* fs_fs : 模块与文本文件(FSFS)版本库一起工作。

Cyrus SASL 认证可用。

代码库创建

SVN软件安装完成后还需要建立SVN库

[root@localhost modules]# mkdir -p /opt/svn/repo

[root@localhost modules]# svnadmin create /opt/svn/repo

执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置

[root@localhost modules]# cd /opt/svn/repo/conf

用户密码passwd配置

[root@localhost password]# cd /opt/svn/repos/conf

[root@admin conf]# vim passwd

修改passwd为以下内容:

[users]

# harry = harryssecret

# sally = sallyssecret

hello=123

用户名=密码

这样我们就建立了hello用户,123密码

以上语句都必须顶格写,左侧不能留空格,否则会出错.

权限控制authz配置

[root@admin conf]# vi + authz

目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[groups]

php=yonghu,yonghu2,yonghu3 #创建用户分组,可对组远进行权限、访问目录设置

android=yonghu5,yonghu6

#设置[/]代表SVN目录下所有的资源

[/] 或者写成[repl:/]

hello = rw #意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。

#代表svn目录下的android文件夹

[/adnroid]

@android=rw #android组的用户拥有读写权限

以上语句都必须顶格写,左侧不能留空格,否则会出错.

服务svnserve.conf配置

[root@admin conf]# vim svnserve.conf

追加以下内容:

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access=none

#使授权用户有写权限

auth-access=write

#密码数据库的路径

password-db=passwd

#访问控制文件

authz-db=authz

#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm=/opt/svn/repositories

以上语句都必须顶格写,左侧不能留空格,否则会出错.

配置防火墙端口

[root@localhost conf]# vi /etc/sysconfig/iptables

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存后重启防火墙

[root@localhost conf]# service iptables restart

启动SVN

svnserve -d -r /opt/svn/repo

查看SVN进程

[root@localhost conf]# ps -ef|grep svn|grep -v grep

root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repo

检测SVN 端口

[root@localhost conf]# netstat -ln |grep 3690

tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

停止重启SVN

[root@localhost password]# killall svnserve //停止

[root@localhost password]# svnserve -d -r /opt/svn/repo // 启动

如果已经有svn在运行,可以换一个端口运行

svnserve -d -r /opt/svn/ --listen-port 3391

测试

SVN服务已经启动,使用客户端测试连接。

客户端连接地址:svn://192.168.15.231

用户名/密码: hello/123

测试创建文件夹等操作。

©2020 edoou.com   京ICP备16001874号-3