在工作中或者在项目刚启动时,难免会碰到先需要在本地搭建SVN服务器,现将我参考网上资料搭建SVN服务器的过程整理如下。
一. 下载SVN服务器安装包
1. 获取Subversion服务器程序
官网http://subversion.tigris.org/下载最新的服务器安装程序。
2. 获取Subversion客户端程序
官网http://tortoisesvn.net/downloads.html获取最新的TortoiseSVN。TortoiseSVN是一个客户端程序,用来与subvers服务端通讯。Subversion自带一个客户端程序svn.exe,但TortoiseSVN更好操作,提高效率。
二. 安装服务器端和客户端
安装Subversion(SVN)的服务器端和客户端。下载下来的服务器是一个zip压缩包,直接解压缩即可,比如我解压到D:\SoftWare\SVN。客户端安装文件是个exe可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。
三. 建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。
首先建立D:\SoftWare\SVN\SVNService空文件夹作为所有版本库的根目录。然后,进入命令并切换到subversion的bin目录,输入如下命令。
Svnadmin create D:\SoftWare\SVN\SVNService
此命令在D:\SoftWare\SVN下建立一个版本库SVNService。SVNService下面会自动生成一些文件夹和文件。
我们也可以使用TortoiseSVN图形化完成这一步:先建立空目录:D:\SoftWare\SVN\SVNService,注意一定要是空的,不然会提示不是空的。然后在SVNService文件夹上“右键->TortoiseSVN->Create Repository here”,就创建了一系列文件夹和文件,同命令行建立的一样。
四. 运行独立服务器
继续在刚才的命令窗口输入:
svnserve.exe –daemon
svnserve将会在端口3690等待请求,--daemon(两个短横线)选项告诉svnserver以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把svnserve停止。
为了验证svnserve正常工作,使用TortoiseSVN->Repo-browser来查看版本库。在弹出对话框中输入:svn://localhost/SoftWare/SVN/SVNService,点OK按钮后就可以看见SVNService版本库的目录权结构了,只不过这时SVNService是个空库。
也可以使用—root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间:
svnserve.exe –-daemon –-root drive:\path\to\repository
以前面的测试为例,svnserve将会运行为:
svnserve.exe –-daemon –-root D:\SoftWare\SVN
然后TortoiseSVN中的版本库浏览URL缩减为:svn://localhost/SVNService
五. 配置用户和权限
用文本编辑器打开D:\SoftWare\SVN\iCore\conf目录,修改svnserve.conf。将#password-db = passwd改为password-db = passwd,即去掉前面的#注释符,注意前面不能有空格。
然后修改同目录的passwd文件,增加一个账号,将
[users] # harry = harryssecret # sally = sallyssecret
增加账号:
[users] # harry = harryssecret # sally = sallyssecret BIJIAN=123
六. 初始化导入
下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都被版本库记录下来,甚至我们自已丢失、改错数据时版本库也能帮我们找回数据。
比如,我在d:\share下有个customer文件夹,里面存放的是我的工程代码。在此文件夹上“右键->TortoiseSVN->Import…”,在弹出对话框的“URL of repository”输入“svn://localhost/SoftWare/SVN/SVNService/customer”。在“Import message”中输入注释信息,点OK后输入账号。我们在用户名和密码处都输入test。完成后customer中的内容全部导入到了svn://localhost/SoftWare/SVN/SVNService/customer。
我们看到在D:\SoftWare\SVN\SVNService没有任何变化,连customer文件夹都没有建立,唯一的变化就是D:\SoftWare\SVN\SVNService容量变大了。实际上我们源customer中的内容已经导入SVNService版本库了,源customer文件夹可以删除了。
七.创建bat文件运行SVN服务
为方便运行,可在桌面建立SVN Service.bat文件,内容如下:
SETLOCAL call D:\SoftWare\SVN\Subversion\bin\svnserve.exe --daemon --root D:\SoftWare\SVN ENDLOCAL
这样就可以双击桌面上的SVN Service.bat文件启动SVN服务(虽然会报错,但也能正常启动),如下所示:
PS:
1.如果想搭建ApacheSVN或进一步了解SVN服务搭建,可以下载附件SVN服务器配置说明.png或TortoiseSVN.pdf查看;
2.附《svn-server.rar》、《SVN服务器配置说明.png》、《TortoiseSVN.pdf》