一、基本安装配置
1 Web务器的选择
Subversion 建立在一个可移殖的 layer, 称为 APR (Apache Portable Runtime 链接库) 上。 这表示 Subversion 应该可以在任何可以执行 Apache 的 httpd 服务器的操作系统上: Windows, Linux, 所有的 BSD 分支, Mac OS X, Netware, 等,目前使用最为广泛的Web服务器是Apache 和IIS,两者都可以工作在Windows Server 2003下。其中Apache 和Subversion的配置最为简单、安全、高效。所以本文选择使用Apache 服务器的2.0 版本,作为Web服务器。
2 本文使用软件版本
以下是本文件使用的作业环境与软件版本:
* Windows 2003 Server R2
* Apache HTTP Server v2.0.55
* Subversion v1.2.3
3 安装配置Apache服务器
在到 http://httpd.apache.org/ 下载 Apache HTTP Server 2.0 版 for Windows 的版本,笔者使用的版本是 apache_2.0.50-win32-x86-no_ssl.msi.
安装过程很简单,就不赘述了,这里介绍几个注意事项:
但安装之前请先检查你的服务器是否安装 IIS,由于 Apache 预设使用 80 端口,会跟 IIS 的网站冲突,你必须把 IIS 的 Web 站台关闭,再安装 Apache HTTP服务器。
注意如果使用Windows XP的话,没有安装SP1将会导致不正常的网络传输,从而搞坏你的版本库。
Apache低于2.0.54的版本不能与Subversion 1.2一起工作,因为Apache低于2.0.54的Windows版本的编译存在问题。
4 安装 Subversion
在 http://subversion.tigris.org/ 下载最新版的 Subversion,笔者下载的是svn-1.4.3-setup.exe.安装过程比较简单这里笔者就不赘述了。安装完成后在Dos命令行下使用命令:svn –version检查,如果出现图1 界面,表示安装成功。
图1 检查svn是否安装成功
5 复制和修改Apache服务器配置文件
通过 Http 协议访问版本库是 Subversion 的亮点之一。使用 Http 协议意味着只需要打开浏览器,输入 URL 即可轻松的浏览整个版本库。由于 Subversion 需要版本化的控制,因此标准的 Http 协议不能满足需求。要让 Apache 与 Subversion 协同工作,需要使用 WebDAV(Web 分布式创作和版本控制)。WebDAV 是 HTTP 1.1 的扩展,关于 WebDAV 的规范和工作原理,可以参考 IETF RFC 2518.为了使 Subversion 与 dav 模块通信,需要安装 mod_dav_svn 插件,可以在 Subversion 的安装目录中找到。将其拷贝到 Apache 安装目录的 modules 文件夹下。接下来就是配置 Apache 的 httpd.conf 文件,让 Apache 在启动的时候加载上述模块。步骤如下:
* 把svn/bin/目录下的 mod_dav_svn.so、 mod_authz_svn.so复制到Apache服务器的/modules/目录下。
* 把 SVN/bin/目录下所有的dll链接文件复制到 Apache服务器/bin/目录下。
* 修改Apache服务器的配置文件httpd.conf
先找到以下两行:
#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so |
把前面dav_svn_module的 '#' 字符删除,然后把下面几行文字加到这群 LoadModule 指令的最后:
LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so |
然后httpd.conf最后加入几行:
|
表-1是apache服务器配置文件中svn相关文件的解释:
6 建立版本库目录
建立一个 Subversion 的版本库出乎意料地简单。 Subversion 所提供的 svnadmin工具, 有个专门处理这件事的子命令, 要建立一个新的档案库, 只要执行命令:
$ svnadmin create path/to/repos |
这会在目录 path/to/repos 里建立一个新的档案库,使用系统命令建立版本库目录,如图2 .
图2 使用系统命令建立版本库说明: svnadmin 命令是系统管理员最好的朋友。 除了可以建立 Subversion 档案库, 这个程序还可以让你对档案库进行几种维护动作。 svnadmin 常用子命令如表-2 .
表-2 svnadmin 常用子命令
7 添加版本库文件
使用如下命令建立版本库文件:
md tmpcd\tmpmd ProjectAmd ProjectA\trunkmd ProjectA\branchesmd ProjectA\tagssvn import . http://localhost/svn -m "Initial repository layout" |
8 重新启动Apache服务器进行测试
配置完毕后重新启动 Apache,打开浏览器,输入 http://服务器IP/repos 将会看到如图3画面 .
图3 成功建立版本库界面
二、使用SSL安全连接
Apache服务器缺省并不支持SSL,但是你可以从其他地方下载安装。
1. 首先,你需要一些文件来开启SSL,你可以在http://hunter.campbus.com/找到这些包,只需要解压缩这些文件,然后将mod_ssl.so拷贝到Apache的modules目录,将文件openssl.exe拷贝到bin目录,将文件conf/ssl.conf拷贝到Apache的conf目录。
2. 使用文本编辑器打开Apache的conf目录的ssl.conf.
3. 注释掉(使用#)下面几行:
DocumentRoot "c:/apache/htdocs"ServerName www.example.com:443ServerAdmin you@example.comErrorLog logs/error_logTransferLog logs/access_log |
4. 此行
SSLCertificateFile conf/ssl.crt/server.crt改为SSLCertificateFile conf/ssl/my-server.cert此行SSLCertificateKeyFile conf/ssl.key/server.key改为SSLCertificateKeyFile conf/ssl/my-server.key此行SSLMutex file:logs/ssl_mutex改为SSLMutex default |
5. 删除下面两行:
<IfDefine SSL> |
6. 打开Apache配置文件(httpd.conf),并且去掉此行的注释
#LoadModule ssl_module modules/mod_ssl.so |
7. Openssl需要一个配置文件,你可以从http://tud.at/programm/openssl.cnf下载一个正在使用的,请注意:*.cnf类型的文件尽管是普通的文本文件,Windows对这种文件会特别处理!
8. 然后你需要创建一个SSL证书,为此打开一个命令行窗口,进入apache目录(例如C:\program files\apache group\apache2),然后输入下面的命令:
bin\openssl req -config bin\openssl.cnf -new -out my-server.csr |
你会被讯问密语,请不要使用简单的单词,而是使用整段话,例如一段诗,越长越好。你也需要输入server的URL,其他所有问题都是可选的,但是我们建议你最好输入这些信息。
通常会自动产生privkey.pem文件,但是如果没有,请输入下面的命令生成它:
bin\openssl genrsa -out privkey.pem 2048 |
然后输入这个命令
bin\openssl rsa -in privkey.pem -out my-server.key |
并且输入(在同一行)
bin\openssl x509 -in my-server.csr -out my-server.cert-req -signkey my-server.key -days 4000 |
这样会创建一个在4000天里过期的证书,最后输入:
bin\openssl x509 -in my-server.cert -out my-server.der.crt -outform DER |
这些命令在Apache目录(my-server.der.crt、my-server.csr、my-server.key、。rnd、 privkey.pem、my-server.cert)里创建了一些文件,拷贝这些文件到目录conf/ssl(例如C:\program files\apache group\apache2\conf\ssl)-如果这个目录不存在,你需要首先创建一个。
9. 重启apache服务
10. 将你的浏览器指向https://servername/svn/project ……
11 关闭不安全连接方法
你设置了SSL让你的版本库更安全,你一定希望关闭普通的非ssl访问,为此,你需要在Subversion的<Location> 增加指示:SSLRequireSSL.一个<Location>实例就像这个样子:
|
总结:
到此为止在版本控制工具Subversion在Windows Server 2003下的安装基本介绍完了,如果您希望获得更好的安全性能可以考虑使用使用Windows域认证。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |