SVN服务器安装及配置说明Word下载.docx
《SVN服务器安装及配置说明Word下载.docx》由会员分享,可在线阅读,更多相关《SVN服务器安装及配置说明Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
![SVN服务器安装及配置说明Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/8/26864c04-87db-41de-bbe7-73d5300aeefd/26864c04-87db-41de-bbe7-73d5300aeefd1.gif)
我把Apache安装到了“E:
\usr\Apache2.2\”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。
选“OK”继续。
返回到图6的界面,点“Next”继续。
图7准备安装
确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。
点“Install”开始按前面设定的安装选项安装。
图8安装进度
出现安装进度,等待几分钟,然后出现下面的界面。
图9安装结束
如果你以前在自己的电脑上没有安装过Apache的任何版本,并且在图4中选择的第一个“forAllUsers,onPort80,asaService–Recommended”,那么这时候点“Finish”后,在右下角状态栏会出现一个带绿色标志的图标,见图10。
图10正常运行
如果你象我一样,在图4中选择的第二个“onlyfortheCurrentUser,on8080,whenstartedManually”,那么右下角状态栏出现的是个带停止标志的图标,见图11。
图11服务停止
这表明Apache服务是停止状态,我们需要手动启动Apache服务。
点“开始”-“所有程序”-“附件”-“命令提示符”,进入命令行状态。
切换到apache的bin目录,并且输入“httpd–kinstall”(如果是Apache2.2之前的版本,输入“apache-kinstall”)。
图12安装为服务
命令运行完后重新启动计算机。
重启后右下角的状态栏就会出现绿色标记的Apache图标,表明Apache服务运行正常。
在浏览器的地址栏输入http:
//127.0.0.1:
8080(如果用的80端口,输入http:
//127.0.0.1
)。
图13工作正常
如果出现图13所示的页面,表示Apache运行正常。
接下去就是配置Apache,让它更好的为我们服务,请看我的另一篇配置Apache的文章。
三、F.A.Q
1、安装过程中出现“(OS10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次”。
这是因为80端口被其它程序占用,让出80端口即可。
具体解决方法见:
《(OS10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次》
SVN服务器配置说明(Windows平台)
1、前言
花了72小时,终于把Subversion初步掌握了。
从一个连“什么是版本控制”都不知道的门外汉,到配置出精确至每目录访问的入门者,中间还卡了一天时间。
其中费了许多气力,摸索实验了多次,还差点放弃了,但是收获是巨大的。
现把我的配置和学习过程写下来,供大家参考,也让初学者少走弯路。
以下仅以Windows平台为例讲解,Unix/Linux平台请参考相关资料。
如其中有谬误的地方,包括错别字,请联系我修订。
2、基本概念
2.1、什么是版本控制
简单点来说,版本控制就是数据仓库,它可以记录你对文件的每次更改。
这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切。
2.2、什么是Subversion
Subversion是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。
一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。
从这个方面看,许多人把版本控制系统当作一种“时间机器”。
Subversion可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。
一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。
进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。
一些版本控制系统也是软件配置管理(SCM)系统,这种系统经过特定的精巧设计来管理源代码,有许多关于软件开发的特性—本身理解编程语言、或者提供构建程序的工具。
然而,Subversion不是这样一个系统,它是一个通用系统,可以管理任何类型的文件集,对你这可能是源代码,对别人,可能是一个货物报价单或者是书稿等。
2.3、版本库(repository)
Subversion的核心就是repository,中文翻译成“版本库”。
就是位于服务器端,统一管理和储存数据的地方。
3、安装配置
3.1安装独立服务器SVNServer
环境
OS:
WindowsXPSP2
Web:
Apache2.2.6
SVN:
svn-win32-1.4.6
一、准备工作
1、获取Subversion服务器程序
到官方网站(http:
//subversion.tigris.org/)下载最新的服务器安装程序。
目前最新的是1.4.6版本,具体下载地址在:
http:
//subversion.tigris.org/servlets/ProjectDocumentList?
folderID=8100&
expandFolder=8100&
folderID=91,注意找forapache2.2.x版本的。
2、获取TortoiseSVN客户端程序
从官方网站获取最新的TortoiseSVN。
TortoiseSVN是一个客户端程序,用来与subvers服务器端通讯。
Subversion自带一个客户端程序svn.exe,但TortoiseSVN更好操作,提高效率。
二、安装服务器端和客户端
首先安装Apache2.2.6,具体安装方法大家参考相关资料,或者参看我写的《Windows下安装Apache2.2.x》。
其次安装Subversion(以下简称SVN)的服务器端和客户端。
下载下来的服务器端是个zip压缩包,直接解压缩即可,比如我解压到E:
\subversion。
客户端安装文件是个exe可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。
三、建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository)。
版本库可以看作是服务器上集中存放和管理数据的地方。
开始建立版本库。
首先建立e:
\svn空文件夹作为所有版本库的根目录。
然后,进入命令行并切换到subversion的bin目录。
输入如下命令:
svnadmincreateE:
\svn\repos1
此命令在E:
\svn下建立一个版本库repos1。
repos1下面会自动生成一些文件夹和文件。
我们也可以使用TortoiseSVN图形化的完成这一步:
先建立空目录E:
\svn\repos1,注意一定是要空的。
然后在repos1文件夹上“右键->
TortoiseSVN->
CreateRepositoryhere...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。
四、运行独立服务器
此时subversion服务还没有开始,只是通过它的命令建立了版本库。
继续在刚才的命令窗口输入:
svnserve.exe--daemon
svnserve将会在端口3690等待请求,--daemon(两个短横线)选项告诉svnserve以守护进程方式运行,这样在手动终止之前不会退出。
注意不要关闭命令行窗口,关闭窗口会把svnserve停止。
为了验证svnserve正常工作,使用TortoiseSVN->
Repo-browser来查看版本库。
在弹出的URL对话框中输入:
svn:
//localhost/svn/repos1
点OK按钮后就可以看见repos1版本库的目录树结构了,只不过这时repos1是个空库。
你也可以使用--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserveURL的时间:
svnserve.exe--daemon--rootdrive:
\path\to\repository
以前面的测试作为例,svnserve将会运行为:
svnserve.exe--daemon--roote:
\svn
然后TortoiseSVN中的版本库浏览器URL缩减为:
//localhost/repos1
五、配置用户和权限
用文本编辑器打开E:
\svn\repos1\conf目录,修改svnserve.conf:
将:
#password-db=passwd
改为:
password-db=passwd
即去掉前面的#注释符,注意前面不能有空格。
然后修改同目录的passwd文件,增加一个帐号:
[users]
#harry=harryssecret
#sally=sallyssecret
增加帐号:
#harry=harryssecret
#sally=sallyssecret
test=test
六、初始化导入
下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。
我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。
比如,我在d:
\wwwroot下有个guestbook文件夹,里面存放的是我编写的留言簿程序。
在此文件夹上“右键->
TortoiseSVN->
Import...”,在弹出对话框的“URLofrepository”输入“svn:
//localhost/repos1/guestbook”。
在“Importmessage”输入“导入整个留言簿”作为注释。
点OK后要求输入帐号。
我们在用户名和密码处都输入test。
完成后guestbook中的内容全部导入到了svn:
//localhost/svn/repos1/guestbook。
我们看到在e:
\svn\repos1没有任何变化,连个guestbook文件夹都没有建立,唯一的变化就是e:
\svn\repos1容量变大了。
实际上我们源guestbook中的内容已经导入repos1版本库了,源guestbook文件夹可以删除了。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的客户机上进行。
例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn:
//133.96.121.22”。
七、基本操作流程
1、取出(checkout)
取出版本库到一个工作拷贝:
来到任意空目录下,比如在f分区建立一个空文件夹f:
\work。
“右键->
SVNCheckout”。
在“URLofrepository”中输入“svn:
//localhost/svn/repos1/guestbook”,这样我们就得到了一份guestbook中内容的工作拷贝。
2、存入(checkin)/提交(commit)
在工作拷贝中作出修改并提交:
在guestbook工作拷贝中随便打开一个文件,作出修改,然后“右键->
SVNCommit...”。
这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据。
在修改过的文件上“右键->
ShowLog”,可以看到对这个文件所有的提交。
在不同的revision条目上“右键->
Comparewithworkingcopy”,我们可以比较工作拷贝的文件和所选revision版本的区别。
RedhatLinuxAS4下SVN服务器安装配置教程
subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人。
svn服务器有2种运行方式:
独立服务器和借助apache。
2种方式各有利弊。
file:
///
直接版本库访问(本地磁盘)。
//
通过配置Subversion的Apache服务器的WebDAV协议。
https:
与http:
//相似,但是包括SSL加密。
通过svnserve服务自定义的协议。
svn+ssh:
与svn:
//相似,但通过SSH封装
svn存储版本数据也有2种方式:
BDB和FSFS。
因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
1.svn服务器安装
操作系统:
RedhatLinuxAS4
1)获取svn安装包
下载http:
//subversion.tigris.org/downloads/subversion-1.4.0.tar.gz和http:
//subversion.tigris.org/downloads/subversion-deps-1.4.0.tar.gz。
2)编译svn以root用户登录。
将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。
tar-xfvzsubversion-1.4.0.tar.gz
tar-xfvzsubversion-deps-1.4.0.tar.gz
cdsubversion-1.4.0
./configure--prefix=/opt/svn--without-berkeley-db--with-zlib
(注:
以svnserve方式运行,不加apache编译参数。
以fsfs格式存储版本库,不编译berkeley-db)
makeclean
make
makeinstall
vi/etc/profile,在/etc/profile最后加入:
PATH=$PATH:
/opt/svn/bin
exportPATH
3)svn测试svnserve--version
如果显示如下,svn安装成功:
svnserve,version1.4.0(r21228)
compiledOct122006,10:
18:
56Copyright(C)2000-2006CollabNet.
Subversionisopensourcesoftware,seehttp:
//subversion.tigris.org/
ThisproductincludessoftwaredevelopedbyCollabNet(http:
//www.Collab.Net/).
Thefollowingrepositoryback-end(FS)modulesareavailable:
*fs_fs:
Moduleforworkingwithaplainfile(FSFS)repository.
2.svn配置
1)建立svn版本库目录可建多个:
mkdir-p/opt/svndata/repos1
mkdir-p/opt/svndata/repos2
2)建立svn版本库
svnadmincreate/opt/svndata/repos1
svnadmincreate/opt/svndata/repos2
3)修改svn版本库配置文件版本库1:
vi/opt/svndata/repos1/conf/svnserve.conf
内容修改为:
[general]
anon-access=none
auth-access=write
password-db=/opt/svn/conf/pwd.conf
authz-db=/opt/svn/conf/authz.conf
realm=repos1
版本库2:
vi/opt/svndata/repos2/conf/svnserve.conf
realm=repos2
即除realm=repos2外,其他与版本库1配置文件完全相同。
如果有更多的版本库,依此类推。
4)配置允许访问的svn用户vi/opt/svn/conf/pwd.conf
为了简化配置,2个版本库共用1个用户配置文件。
如有必要,也可以分开。
对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
<
用户1>
=<
密码1>
用户2>
密码2>
其中,[users]是必须的。
下面列出要访问svn的用户,每个用户一行。
示例:
alan=password
king=hello
5)配置svn用户访问权限vi/opt/svn/conf/authz.conf
为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。
文件中定义用户组和版本库目录权限。
*权限配置文件中出现的用户名必须已在用户配置文件中定义。
*对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
用户组名>
<
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<
版本库>
:
/项目/目录]
@<
权限>
用户名>
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。
根目录是svnserve启动时指定的,我们指定为/opt/svndata。
这样,/就是表示对全部版本库设置权限。
repos1:
/,表示对版本库1设置权限
repos2:
/abc,,表示对版本库2中的abc项目设置权限
/abc/aaa,,表示对版本库2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
admin=alan
[/]
@admin=rw
[repos1:
/abc/aaa]
king=rw
[repos2:
/pass]
king=
6)svn配置完毕,删除无用文件rm/opt/svndata/repos1/conf/authz
rm/opt/svndata/repos1/conf/passwd
rm/opt/svndata/repos2/conf/authz
rm/opt/svndata/repos2/conf/passwd
3.启动svn建立启动svn的用户useraddsvn
passwdsvn
根据提示为用户svn设置密码
允许用户svn访问版本库chown-Rsvn:
svn/opt/svndata
chown-Rsvn:
svn/opt/data
启动svnsu-svn-c"
svnserve-d--listen-port9999-r/opt/svndata"
其中:
su-svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
–listen-port9999表示使用9999端口,可以换成你需要的端口。
但注意,使用1024以下的端口需要root权限