如何在windows上安装部署设置SVN服务器
工具/原料
操作系统:Windows2003,32位
SVN Server版本:svn-win32-1616
SVN Client版本:TortoiseSVN-161621511
方法/步骤
一、准备工作
1、SVN服务器:解压缩包,可以从官方网站下载最新版本。
2、SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯。
二、安装服务器和客户端程序
1、SVN服务器:直接解压缩到某个文件夹下即可。示例路径:c:\svn\
备注:如果下载的是msi程序,直接运行按提示安装即可。
2、SVN客户端:直接运行按提示安装即可。示例路径:C:\Program Files\Subversion
三、建立版本库(Repository):示例路径:e:\svnroot。建立版本库有两种方法:
方法一,建立空目录e:\svnroot\repos1,进入repos1文件夹,在空白处点击右键,选择“TortoiseSVN->Create Repositoryhere”,
方法二,建立空目录e:\svnroot\repos2,进入DOS命令行,输入如下命令:
svnadmincreate e:\svnroot\repos2
四、运行SVN服务器,启动服务。启动服务有两种方法:
方法一,临时启动服务,在DOS下输入如下命令:
svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=端口号
说明:“listen-host”和“listen-port”可选。默认端口是3690,如果端口已经被占用,可以通过选项listen-port指定端口号。
注意:请不要关闭命令行窗口,关闭窗口会把 svn服务就停止了。
方法二,启动SVN服务为后台运行程序:
sc create svnserve binPath= "c:\svn\bin\svnserveexe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto
说明一:
(1)sc是windows自带的服务配置程序。svnserve是服务的名称,可根据需求取名。
(2)参数binPath表示svnserve可执行文件的安装路径。
(3)--service表示以windows服务的形式运行,--r指明svnrepository的位置,service参数与r参数都作为binPath的一部分,因此与svnserveexe的路径一起被包含在一对双引号当中。
(4)displayname表示在windows服务列表中显示的名字,depend=Tcpip表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。
说明二:
(1)binPath的等号前面无空格,等号后面有空格。displayname、depend、start也一样,service前面是--,不是- ,而r前面是-。
(2)若要卸载svn服务,则执行 sc delete svnserve 即可。
(3)从“sc”到“auto”是在同一个命令sc,必须写在同一行。
(4)启动服务命令:netstart svnserve,停止服务命令:net start svnserve,也可以进入Windows提供的界面操作SVNService服务了,即控制面板—>服务。
(5)如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserveexe在“c:\programfiles\svn\”中,则命令应该写为“binpath="\"c:\programfiles\svn\bin\svnserveexe\"
五、配置用户和权限
(1)修改svnserveconf,在e:\svn\repos1\conf目录下,用文本编辑器打开svnserveconf:
将:
# anon-access = read
# auth-access = write
# password-db = passwd
改为
anon-access = read
auth-access = write
password-db = passwd
注意说明:
anon-access等列前面是没有空格的。
anon-access = read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问
auth-access = write表示通过用户名密码登录的有写的权限(当然读的权限也就有了)
password-db = passwd表示可以通过 用户名 = 密码 的方式在passwd文件中添加用户
(2)修改同目录的passwd文件,增加用户帐号:
将:
[users]
# harry = harryssecret
# sally = sallyssecret
添加帐号:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin
添加一个admin账户,密码是admin。
六、初始化SVN,导入数据
选中要上传SVN的文件夹,“右键 ->TortoiseSVN -> Import” ,在弹出对话框的“URL of repository”输入“svn://localhost/project1/”。在“Importmessage”输入注释,点击OK,要求输入帐号,输入账户admin和密码admin。
七,测试SVN
本地测试:新建一空文件夹test1,单击右键,选择“SVN Checkout”,在“URL of repository”中输入“svn://localhost/project1”。
其他机器测试:如果运行svnserve的主机IP地址是1234,则URL输入的内容就是“svn://1234/project1”。
Linux SVN 服务器配置以及客户端使用
2010-09-23 11:32:07
标签:Linux 服务器 SVN 休闲 客户端
SVN简介
SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。
SVN中的一些概念 :
a repository(源代码库)
源代码统一存放的地方
b Checkout (提取)
当你手上没有源代码的时候,你需要从repository checkout一份
c Commit (提交)
当你已经修改了代码,你就需要Commit到repository
d Update (更新)
当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更
日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了)
如果两个程序员同时修改了同一个文件呢?SVN可以Merge这两个程序员的改动,对,合并,实际上SVN管理源代码是 以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行呢,SVN会提示文件Confict, 冲突,需要手动确认。
TortoiseSVN简介
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件 服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
SVN的配置
1,配置好yum,检查subversion安装包
[root@svn ~]# yum list |grep subversion
subversioni386 142-4el5_31 base
subversion-develi386 142-4el5_31 base
subversion-javahli386 142-4el5_31 base
subversion-perli386 142-4el5_31 base
subversion-rubyi386 142-4el5_31 base
[root@svn ~]# yum -y install subversion
测试安装是否成功:
#svnserve --version 回车显示版本说明安装成功
[root@svn ~]# netstat –nat 查看默认TCP 3690端口是否监听
2,创建svn版本库
[root@svn /]# mkdir -p /data/svndata
[root@svn /]# svnadmin create /data/svndata/winne winne为版本库名称
3,svnserve配置文件概述
svnserveconf -- svn服务配置文件,该文件版本库目录的conf目录下。
passwd -- 用户名口令文件,该文件名在文件svnserveconf中指定,缺省为同目录下的。
authz -- 权限配置文件,该文件名也在文件svnserveconf中指定,缺省为同目录下的。
conf/svnserveconf 文件
配置项分为以下5项:
anon-access 控制非鉴权用户访问版本库的权限。
auth-access 控制鉴权用户访问版本库的权限。
password-db 指定用户名口令文件名。
authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
认证域相同,建议使用相同的用户名口令数据文件
注:14版本anon-access = read 参数的bug
anon-access = read时
客户端Checkout(提取)的时候会有Not authorized to open root of edit operation"错误,改为none参数正常,
conf /Passwd 文件
user1 = user1
user2 = user2
conf /authz 文件
[groups] 设置组
admin = user1
[/] 根目录权限设置(就是“svndata”这个文件夹)
user1 = rw 用户1权限是:可读写
user2 = r 用户2权限是:可读,不可写
@admin = rw 设置组权限
[svndata:/winne] 设置根目录下“winne”文件夹的权限
user1 = rw
user2 = r
…以此类推
4,启动和停止SVN服务
启动SVN服务:
[root@svn ~]# svnserve -d -r /data/svndata/
-d表示后台运行
-r 指定根目录是 /data/svndata/
停止SVN服务:
ps -aux |grep svn
kill -9 进程杀掉
客户端使用
Windows客户端TortoiseSVN的使用
1, TortoiseSVN 客户端的安装
测试选择的是TortoiseSVN 165客户端 付中文汉化包
2,客户端的文件更新至服务器(user1操作)
新建一个空目录,右键Checkout (提取)
svn://19216810326/winne
输入passwd文件中的授权用户帐号就可以了
在目录中加入一些文件测试 然后在空白地方右键点TortoiseSVN-> ADD 添加列表到服务器端此时并没有真正拷贝到服务器上,需再在Commit(提交)操作才会拷贝
在版本库浏览器中就可以看到刚才提交的文件了,此时提交的版本为1
3,客户端在服务器上拉读取数据(user2操作)
User2 在机器上新建一个空目录user2 , 右键Checkout (提取)
填入地址: svn://19216810326/winne 输出至G:\user2 确定
增加一个newtxt的文件,然后Commit (提交)之后提示权限出错,user2没有写的权限,换成user1 的身份才可以提交成功
Linux客户端的使用
客户端操作流程一般是:
用户A: checkout (提取) -> add (添加新文件) -> commit (提交)
用户B: SVN log(查看更新) -> update(更新版本)
1,SVN的安装
yun –y install subversion
2,Linux svn的常用命令
()内为命令简写
checkout (co) 提取
commit (ci) 提交
update (up) 更新
list (ls) 列表
3, checkout (co) 提取 svn服务器上的文件
(user1)操作流程
[root@TEST ~]# svn co svn://19216810326/winne
Authentication realm: <svn://19216810326:3690> My First Repository
Password for 'root':
Authentication realm: <svn://19216810326:3690> My First Repository
Username: user1 /输入用户名
Password for 'user1': /输入密码
A winne/Cosmic Ride - BeFourlrc
A winne/20070716171657126pdf
A winne/svnbookpdf
revision 1 / checkout (co) 提取成功,看到Checked out版本为1
注:可以使用带用户名和密码的访问:
svn co --username user1 --password user1 svn://19216810326/winne
[root@TEST ~]# ll
drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目录是SVN自动生成的
drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks
[root@TEST ~]# cd winne
[root@TEST winne]# ll
total 2868
-rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126pdf
-rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFourlrc
-rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbookpdf
4,user1修改文件并提交
[root@TEST winne]# vi testsvntxt
[root@TEST winne]# svn add testsvntxt /将testsvntxt添加到库中
A testsvntxt
[root@TEST winne]# svn commit -m "test" testsvntxt /注释为test
Adding testsvntxt
Transmitting file data
Committed revision 2 /版本更新为2了
5,user2回window客户端更新版本
回到Windows的客户端看日志, 版本已经更新为2了,注释test,客户端update就可以更新到新的版本了
6, Windows客户端的版本回滚
选中菜单中的update to verisiom ,选择版本1即可
7,Linux版本回滚操作:
[root@TEST winne]# svn up -r 1
初步接触服务器,水平有限,不当的地方望指正。
服务器的形式有很多种,比如File Server,Database Server,Mail Server,Web Server,FTP Server,DNS Server,AP Server,Proxy Server,SVN Server。
这次说的是SVN上建立分支的方法。
按照如下步骤可以在SVN上创建branch。
1:首先,将需要创建分支的file/folder下载下来。
春风沐浴的回答是一个办法,就是把整个库上传到网上免费的SVN空间服务上
如果要自己架设服务器的话,我自己架设过,具体思路是将SVN服务器先架设在局域网上,然后通过路由器的映射将其端口开放给互联网访问。为了解决ADSL线路每次重新连接时随机分配IP地址的问题,我们还需要申请一个免费域名。
下面是我的架设方法,首先你需要具备这些条件:
1、路由器1台,应有端口映射(转发规则-虚拟服务器)功能,最好有内置的花生壳动态DNS功能(否则就需要另外安装花生壳软件)。
2、SVN服务器一台
3、ADSL或其他通往互联网的网络线路
然后需要做以下事情:
1、架设好SVN服务器,保证内网访问畅通。
2、申请免费域名
登录花生壳网站(wwworaynet),免费注册用户,可得到一个免费域名,如“abcdegicpnet”此域名可长期使用;
3、登录路由器管理页面
通常是访问地址http://19216811,用户名和密码根据设定输入,各型号路由器的访问方式可能略有不同,可参考说明书进行操作。
4、设置动态域名
如果路由器内置了花生壳动态DNS功能,则可通过路由器直接设置。以TL-WR340G 54M型号的无线路由器为例,在“动态DNS”页面,选择服务提供者为花生壳,输入在花生壳注册的用户名和密码,然后点击登录。
如果路由器没有内置的花生壳动态DNS功能,则需要在花生壳网站下载花生壳客户端软件,安装(可不必安装附带的“向日葵”组件)后使用前面申请的花生壳帐户名和密码进行登录,登录后即可使用免费域名。
5、设置端口映射
仍以TL-WR340G 54M型号的无线路由器为例,在“转发规则-虚拟服务器”页面点击“添加新条目”,在新条目的页面中,设置端口号为项目组SVN服务器的访问端口号,设置IP地址为该路由器分配给项目组SVN服务器的内网IP地址,状态为“生效”,然后保存。
然后你就可以在互联网上通过你申请的免费域名(如“abcdegicpnet”)代替IP地址来访问SVN服务器了。
百万级访问量网站的技术准备工作
当今从纯网站技术上来说,因为开源模式的发展,现在建一个小网站已经很简单也很便宜,所以很多人都把创业方向定位在互联网应用。这些人里大多数不是很懂技术,或者不是那么精通,而网站开发维护方面的知识又很分散,学习成本太高,所以这篇文章将这些知识点结合起来,系统的来说,一个从日几千访问的小小网站,到日访问一两百万的小网站,中间可能会产生什么问题,以及怎么才能在一开始做足工作尽量避免这些问题。
你的网站因为努力经营,访问量逐渐升高,在升高的过程中,问题也可能开始显现了。因为带宽的增加、硬件的扩展、人员的扩张所带来的成本提高是显而易见的,而还有相当大的一部分成本是因为代码重构、架构重构,甚至底层开发语言更换引起的,最坏的情况就是数据丢失,所有努力付之一炬。这类成本支出大多数在一开始就可以避免,先打好基础,往后可以省很多精力,少操很多心。
对于不同的初期投资成本,技术路线的选择是不同的。这里假设网站刚刚只是一个构想,计划第一年服务器硬件带宽投入5万左右。对于这个资金额度,有很多种方案可选择,例如租用虚拟主机、租用单独服务器,或者流行的私有云,或者托管服务器。前两种选择,网站发展到一定规模时需迁移,那时再重做规划显然影响更大。服务器托管因为配置自主、能完全掌握控制权,所以有一定规模的网站基本都是这种模式。采用自己托管服务器的网站,一开始要注意以下几点——
一、开发语言
一般来说,技术人员(程序员)都是根据自己技术背景选择自己最熟悉的语言,不过不可能永远是一个人写程序,所以在语言的选择上还要是要费些心思。首先明确一点,无论用什么语言,最终代码质量是看管理,因此我们从前期开发成本分析。现在国内流行的适用于网站的语言,大概有java、php、net、 python、ruby这五大阵营。python和ruby因为在国内流行的比较晚,现在人员还是相对难招一些。net平台的人相对多,但是到后期需要解决性能问题时,对人员技能的要求比较高。剩余的java、php用人可以说是最多的。java和php无法从语言层面做比较,但对于初期,应用几乎都是靠前端支撑的网站来说,php入门简单、编写快速,优势相对大一点。至于后端例如行为分析、银行接口、异步消息处理等,等真正需要时,就要根据不同业务需求来选择不同语言了。
二、代码版本管理
稍微有点规模的网站就需要使用代码版本管理了。代码版本管理两点最大的好处,一是方便协同工作,二是有历史记录可查询比较。代码版本管理软件有很多,vss/cvs/svn/hg等,目前国内都比较流行,其中svn的普及度还是很高的。
假设选了svn,那么有几点考虑。一是采用什么树结构。初期可能只有一条主干,往后就需要建立分支,例如一条开发分支,一条上线分支,再往后,可能要每个小组一个分支。建议一开始人少时选择两条分支,开发和线上,每个功能本地测试无误后提交到开发分支,最后统一测试,可以上线时合并到上线分支。如果每人都建自己的分支,合并时会浪费很大精力,对于几乎每天都要修改几次的WEB应用来说,所费时间太多。
向服务器部署代码,可以手工部署也可以自动部署。手工部署相对简单,一般可直接在服务器上svn update,或者找个新目录svn checkout,再把web root给ln -s过去。应用越复杂,部署越复杂,没有什么统一标准,只是别再用ftp上传那种形式,一是上传时文件引用不一致错误率增加,二是很容易出现开发人员的版本跟线上版本不一致,导致本来想改个错字结果变成回滚。如果有多台服务器还是建议自动部署,更换代码的机器从当前服务池中临时撤出,更新完毕后再重新加入。
三、服务器硬件
在各个机房里,靠一台服务器孤独支撑的网站数不清,但如果资金稍微充足,建议至少三台的标准配置,分别用作web处理、数据库、备份。web服务器至少要8G内存,双sata raid1,如果经济稍微宽松,或静态文件或多,则15k sas raid10。数据库至少16G内存,15k sas raid 10。备份服务器最好跟数据库服务器同等配置。硬件可以上整套品牌,也可以兼容机,也可以半品牌半组装,取决于经济能力。当然,这是典型的搭配,有些类型应用的性能瓶颈首先出现在web上,那种情况就要单独分析了。
web服务器可以既跑程序又当内存缓存,数据库服务器则只跑主数据库(假如是MySQL的话),备份服务器所承担就相对多一些,web配置、缓存配置、数据库配置都要跟前两台一致,这样WEB和数据库任意一台出问题,很容易就可以将备份服务器切换过去临时顶替,直到解决完问题。要注意,硬件是随时可能坏掉的,特别是硬盘,所以宁可WEB服务器跟数据库服务器放在一起,也一定不能省掉备份,备份一定要异机,并且有异步,电力故障、误操作都可能导致一台机器上的所有数据丢失。很多的开源备份方案可选择,最简单的就是rsync,写crontab里,定时同步。备份和切换,建议多做测试,选最安全最适合业务的,并且尽可能异地备份。
四、机房
三种机房尽量不要选:联通访问特别慢的电信机房、电信访问特别慢的联通机房、电信联通访问特别慢的移动或铁通机房。机房要尽可能多的实地参观,多测试,找个网络质量好,管理严格的机房。机房可以说是非常重要,直接关系到网站访问速度,网站访问速度直接关系到用户体验,访问速度很慢的网站,很难获得用户青睐。
五、架构
在大方向上,被熟知的架构是web负载均衡+数据库主从+缓存+分布式存储+队列。在一开始,按照可扩展的原则设计和编程就可以。只是要多考虑缓存失效时的雪崩效应、主从同步的数据一致性和时间差、队列的稳定性和失败后的重试策略、文件存储的效率和备份方式等等意外情况。缓存失效、数据库复制中断、队列写入错误、电源损坏,在实际运维中经常发生,如果不注意这些,出现问题时恢复期可能会超出预期很长时间。
六、服务器软件
操作系统Linux很流行。在没有专业运维人员的情况下,应倾向于择使用的人多、社区活跃、配置方便、升级方便的发行版,例如RH系列、 debian、ubuntu server等,硬件和操作系统要一起选择,看是否有适合的驱动,如果确定用某种商业软件或解决方案,也要提前知晓其对哪种操作系统支持最佳。web服务器方面,apache、nginx、lighttpd三大系列中,apache占有量还是最大,但是想把性能调教好还是需要很专业的,nginx和 lighttpd在不需要太多调整的情况下可以达到一个比较不错的性能。无论选择什么软件,除非改过这些软件或你的程序真的不兼容新版本,否则尽量版本越新越好,版本新,意味着新特性增多、BUG减少、性能增加。一个典型的php网站,基本上大多数人都没改过任何服务器软件源代码,绝大多数情况是能平稳的升级到新版本的。类似于jdk5到 jdk6,python2到python3这类变动比较大的升级还是比较少见的。看看ChangeLog,看看升级说明,结合自己情况评估测试一下,越早升级越好,升级的越晚,所花费的成本越高。对于软件包,尽量使用发行版内置的包管理工具,没有特殊要求时不建议自己编译,那样对将来运维不利。
七、数据库
几乎所有操作最后都要落到数据库身上,它又最难扩展(存储也挺难)。数据库常见的扩展方法有复制、分片,设计时要考虑到每种应用的数据如何复制、分片,当然这种考虑一般会推迟到技术设计时期。在初期进行数据库结构设计时,要根据不同的业务类型和增长量预期来考虑是否要分库、分区,并且尽量不要使用联合查询、不使用自增ID以方便分片。复制延时问题、主从数据库数据一致性问题,可以自己写或者用已有的运维工具进行检测。
用存储过程是比较难扩展的,这种情形多发生于传统C/S,特别是OA系统转换过来的开发人员。低成本网站不是一两台小型机跑一个数据库处理所有业务的模式,是机海作战。方便水平扩展比那点预分析时间和网络传输流量要重要的多的多。
另外,现在流行一种概念叫NoSQL,可以理解为非传统关系型数据库。实际应用中,网站有着越来越多的密集写操作、上亿的简单关系数据读取、热备等,这都不是传统关系数据库所擅长的,于是就产生了很多非关系型数据库,比如Redis/TC&TT/MongoDB/Memcachedb等,在测试中,这些几乎都达到了每秒至少一万次的写操作,内存型的甚至5万以上。在设计时,可根据业务特点和性能要求来选择是否使用这类数据库。例如 MongoDB,几句配置就可以组建一个复制+自动分片+failover的环境,文档化的存储也简化了传统设计库结构再开发的模式。但是当你决定采用一项技术时,一定要真正了解其优劣,例如可能你所选择的技术并不能支持你所需要的事务和数据一致性要求。
八、文件存储
存储的分布几乎跟数据库扩展一样困难,不过只有百万的PV的情况下,磁盘IO方面一般不会成大问题,一两台采用SATA做条带RAID的机器可以应付,反而是自己做异步备份比较复杂,因为小文件多。如果只有一台机器做存储,可以做简单的优化,例如放最小缩略图的分区和放中等缩略图的分区,根据平均大小调整一下块大小。存储要规划好目录结构,否则文件增多后维护起来复杂,也不利于扩展。同时还要考虑将来扩容,例如采用LVM,或者把文件根据不同规则散列到不同机器。磁盘IO繁重的情况下更容易出现故障,所以要做好备份,若发现有盘坏掉,要马上行动更换,很多人的硬盘都是坏了一块之后,接二连三的坏下去。
为了将来走cdn做准备,一开始最好就将的域名分开,且不用主域名。因为很多网站都将cookie设置到了domainltd,如果也在这个域名下,很可能因为cookie而造成缓存失效,并且占多余流量,还可能因为浏览器并发线程限制造成访问缓慢。
九、程序
一定硬件条件下,应用能承载多少访问量,很大一部分也取决于程序如何写。程序写的不好,可能一万的访问都承载不了,写的好,可能一两台机器就能承担几百万PV。越是复杂、数据实时性要求越高的应用,优化起来越难,但对普通网站有一个统一的思路,就是尽量向前端优化、减少数据库操作、减少磁盘IO。向前端优化指的是,在不影响功能和体验的情况下,能在浏览器执行的不要在服务端执行,能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join查询),减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等。程序优化永远要优化慢的部分,换语法是无法“优化”的。
然而编程时不应该把重点放在优化上,应该关注扩展性。当今的WEB应用,需求变化非常之快,适应多种需求的架构是不存在的,我们的扩展性就要把要点放在跟底层交互的架构上,例如持久化数据的存取规则、缓存的存取规则等,还有一些共用服务,例如用户信息等。先把不变的部分做完善,剩下的部分就很容易将精力放在业务逻辑上面了。
看我的百度文库,里面有篇SVN服务器搭建指南,很详细
那篇指南用的Collabnet老版本的SVN服务器安装包,现在Collabnet有了新的安装包,Collabnet Subversion Edge版,这个版本内置了Apache、ViewVC,一个安装包装完基本就能用了,省去了很多复杂的配置过程,而且带了一个控制台,非常方便,还是免费的,建议你去Collabnet官网下载这个版本的安装包。
SVN软件本身是开源免费的,但有些公司集成了一些方便管理控制用的功能进去,这些公司制作的安装包有的就是收费的了
一般来说,我推荐使用collabnet公司的svn服务器安装包,目前最新的是Collabnet Subversion Edge 211版,内部集成了Aapche、ViewVC,还带了一个控制台,可以通过网页形式增加版本库、添加用户、配置权限、备份管理,一个安装包装完就能用,安装配置过程几乎傻瓜化了,非常省心,而且也是免费的,可以到他们官网下载。
0条评论