svn是比较常用的版本控制工具,这两天正好配置了一次,就把过程记录下来,希望对读者有所帮助。
安装svn服务器需要4步:
1)使用yum 安装SVN包
2)创建SVN 版本库
3)对文件进行配置
4)启动并使用
以下是以centos7.0为例,具体步骤如下:
一、使用yum 安装SVN包
命令:
[root@localhost var]# yum install -y subversion
1) 如果机器上没有安装过svn会提示:
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package subversion.i3860:1.4.2-4.el5_3.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Installing:
subversion i386 1.4.2-4.el5_3.1 rhel-base 2.3M
Transaction Summary
====================================================================================================
Install 1Package(s)
Update 0Package(s)
Remove 0Package(s)
Total download size: 2.3 M
Downloading Packages:
subversion-1.4.2-4.el5_3.1.i386.rpm |2.3 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing :subversion 1/1
Installed:
subversion.i3860:1.4.2-4.el5_3.1
Complete!
2)如果机器上已经安装svn会提示:
已加载插件:fastestmirror, langpacks
base |3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 121 kB 00:00:02
(2/4): base/7/x86_64/group_gz | 155 kB 00:00:03
(3/4): updates/7/x86_64/primary_db | 2.2 MB 00:00:11
(4/4): base/7/x86_64/primary_db | 5.6 MB 00:00:17
Determining fastest mirrors
*base: mirrors.neusoft.edu.cn
*extras: mirrors.neusoft.edu.cn
*updates: mirror.oasis.onnetcorp.com
软件包 subversion-1.7.14-10.el7.x86_64 已安装并且是最新版本
无须任何处理
二、查看是否安装成功
命令:
[root@localhost var]# svnserve --version
【注意】:
1) version前边是两个“-”,不是一个。
2) “-”和version之间没有空格。
有如下提示说明安装成功。
三、创建SVN 版本库。安装完svn软件后需要创建svn版本库
命令:
[root@localhost /]# mkdir /var/svn
[root@localhost var]# svnadmin create/var/svn/svnrepos
执行完后,会在svnrepos下建立多个文件:conf, db,format,hooks, locks, README.txt,说明创建成功。
四、对文件进行配置
创建完版本库后,需要对conf文件夹下的authz、 passwd、 svnserve.conf三个文件进行配置。
svnserve.conf:svn服务配置文件。
passwd:设置用户名和密码的文件。
authz: 权限控制文件。1) svnserve.conf 文件配置:
anon-access = none # 使非授权用户无法访问auth-access = write # 使授权用户有写权限
password-db = password #指定用户名密码的配置文件的名称。
authz-db = authz # 指定权限配置文件名
realm = /var/svn/svnrepos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错
2)authz的配置
如图:
3)passwd的配置
如图:
五、启动svn服务
1)查看svn的进程 ps aux|grep svnserve
说明svn没有启动。
2)启动svn服务
3)结束进程的命令 kill -9 进程码
六、连接使用svn
1)安装TortoiseSVN 客户端
2)点击桌面,右击,选择TortoiseSVN->Repo-browser,出现下图,说明连接成功。
七、出现的问题及解决
问题1:
svn: Unable to connect to a repository at URL 'svn://192.168.2.163/var/svn/svnrepos'
svn: Can't connect to host '192.168.2.163': 由于连接方在一段时间后没有正确答复或连接
解决:
关闭服务器的防火墙。步骤:
1)查看防火墙状态(centOS7的命令)
[root@localhost~]# firewall-cmd --state
running
说明防火墙开启
2)对防火墙进行关闭
[root@localhost~]# systemctl stop firewalld.service
[root@localhost~]# firewall-cmd --state
not running
问题2:
提示:认证失败
解决:
svnserve.conf 配置文件里 reaml =/var/svn/svnrepos等号和路径直接应该加空格,
改为 reaml = /var/svn/svnrepos。
问题解决。
八、svn设置开机启动
在/etc/rc.d/rc.local文件中加入启动命令。
/usr/bin/svnserve -d -r /var/svn/svnrepos
svnserve安装路径可以通过whereis 命令查找
至此完结。此外,在配置服务器过程中最好配个过滤器,要求不写注释不能提交,养成开发好习惯。