SVN服务器部署

这里主要说明构建http://IP地址/repository所在目录/子目录  格式的多版本管理库。

本地使用(个人)格式:file:///磁盘驱动器|/repository所在目录/子目录  见:TortoiseSVN 构建本地多版本管理库

window平台

环境准备

安装apache httpd

下载地址:http://httpd.apache.org/;当前版本2.4;安装成功后,在浏览器中输入:http://localhost

如果正确安装了apache服务,则会看到It works! 如图:

SVN服务器部署_第1张图片

如果没有成功,可能是服务端口被占用了。我们打开安装目录下的配置文件:C:\Program Files\Apache SoftwareFoundation\Apache2.2\conf\httpd.conf 

找到: Listen 80 修改端口号

安装Apache Subversion

下载地址:http://subversion.apache.org/packages.html,当前版本1.8.4

安装TortoiseSVN

TortoiseSVN,下载地址:http://tortoisesvn.net/downloads.html,当前版本为:1.8.3

软件配置

添加加载模块

如果在加载模块(Apache2.2\modules)里没有mod_dav_svn.so和mod_authz_svn.so和libdb44.dll,则从subversion的安装目录subversion/bin里考到Apache2.2\modules:

  mod_dav_svn.so

  mod_authz_svn.so

libdb44.dll

然后我们再打开C:\Program Files\Apache SoftwareFoundation\Apache2.2\conf\httpd.conf文件. 

找到

#LoadModuledav_module modules/mod_dav.so

#LoadModuledav_fs_module modules/mod_dav_fs.so

去掉前面的注释符号# 

然后再下面添加

LoadModuledav_svn_module modules/mod_dav_svn.so

LoadModuleauthz_svn_module modules/mod_authz_svn.so

注意不要随意改变顺序。可能出现其它错误。

修改配置文件

模块的加载设置完成,下面我们要设置SVN的版本库目录,以使我们的apache能知道访问不同的URL的时候,它去哪里寻找这个URL所对应的SVN目录.

httpd.conf文件中,增加如下内容:

<Location /svn/myproject>
   DAV svn
   SVNPath D:/svnroot/myproject

   AuthzSVNAccessFile  D:/svnroot/myproject/conf/access.auth
   Satisfy Any 
   Require valid-user

   AuthType Basic	
   AuthName "welcome"
   AuthUserFile  D:/svnroot/myproject/conf/users.auth
   Require valid-user
</Location>

上面使用了users.auth ,和access.auth 两个文件,我们后面创建 .

创建版本库

建立统一路径

创建新文件夹作为统一svn版本库存放的路径(比如新建一个名叫svnroot的文件夹)

创建版本库

在svnroot文件夹下新建文件夹myproject,然后创建版本库。

d:\创建svnroot文件夹,然后通过svnsvnadmin命令创建数据仓库 

 (注意:D:\svnroot\myproject这个路径是区分大小写的) 

svnadmin createD:\svnroot\myproject 

安装subversion时已经在右键添加快捷菜单,所以可以用右键菜单直接创建数据仓库:下图为在myproject目录上的右键操作。
SVN服务器部署_第2张图片

命令行模式下如图:


创建成功后,我们看到myproject文件夹里面多了些文件,如下:

SVN服务器部署_第3张图片

点击进入conf文件夹,用记事本(或者其他文本编辑软件)打开文件svnserve.conf,找到如下行 #password-db = passwd,把它前面的#去掉,表示myproject是需要密码验证的,再打开conf文件夹下面的passwd文件,用文本编辑器打开,在[users]下面加上我们需要的用户名和密码,比如:

[users]
admin = admin
tom = 123456

这样我们就启用了两个用户,一个叫admin,密码是admin,一个叫tom,密码是123456.

然后保存passwd文件。我们再建一个文件,叫access.auth,这个文件是设置访问权限的,里面的内容如下:

[myproject:/]
Admin = rw
[myproject:/module1]
Tom = rw
Admin = rw

rw表示可读可写,这表示,myproject下面的所有子目录admin都是具有读写权限的,但是tom只有权限读写次项目下面的module1目录,这个各自的访问权限就分的更细致了。

命令行模式下,到apache安装目录下的bin目录下,操作如下:
SVN服务器部署_第4张图片

为admin用户设置好了密码,创建第一个用户时创建文件,添加第二个用户则不用创建,具体命令行参数有细微区别,注意-cb参数

SVN服务器部署_第5张图片

c命令表示新建文件

创建好后,把bin目录下的user.auth文件粘贴到我们的工程conf目录下,即:d:\\svnroot\myproject\conf目录下。

重新启动apache服务,通过http://localhost:80/svn/myproject/(如果端口为80,没有修改过,则可以直接访问为:http://localhost/svn/myproject)

如果成功会看到如下结果:

SVN服务器部署_第6张图片

则表示配置成功。从列出的版本库可以看出,当前版本为0(Revision 0)

版本库创建成功了,我们就可以开始我们的工作了。

从版本库中检出到本地(Check Out)

在D盘新建一个名叫workspace的文件夹,作为我们的工作目录,进入workspace,右键菜单,如图,选择SVN Checkout. ..

SVN服务器部署_第7张图片

在弹出的对话框中输入我们版本库的路径,如图:

SVN服务器部署_第8张图片

点击OK,会弹出用户验证框,输入用户名和密码就可以了。

这样我们就可以再workspace目录里面添加我们的文件了。这里我们随意放入些文件:

SVN服务器部署_第9张图片

其中.svn文件为本地svn记录的一些信息,在上一步我们checkout生成。

提交修改的文件

在workspace文件夹内,或者workspace文件夹上右键弹出菜单中选择svn commit菜单,提交我们的修改。如图:
SVN服务器部署_第10张图片

在弹出的对话框中添加这个版本的信息,如下图:

SVN服务器部署_第11张图片

点击OK后即确认提交,此时我们在IE浏览器中就可以查看到刚才提交的版本信息了,如下图:

SVN服务器部署_第12张图片

外部访问版本库

    我们使用svn基本上是团队开发,所以在实际中,我们不是使用http://localhost这样来访问版本库,而是使用IP地址,这里只需吧localhost修改成我们版本库的实际IP地址就OK.比如:

htpp:// 222.211.107.171/svn/myproject;这样其他机子在访问时,就可以从这个地址中检出版本库资源了。当然你得赋予他们的权限。


你可能感兴趣的:(SVN,版本库管理)