第1章 Apache+Subversion
1.1 下载Apache
首先下载Apache2.2.X,下载地址为:
http://httpd.Apache.org/download.cgi#Apache22
(注:下载地址不保证一直有效,如已失效请去官网下载。如果采用Apache2.2.x版本的Apache,那么svn必须是1.4版本或以上的)
本例选择的是window 32bit 2.2.14版本的Apache版本
1.2 下载Subversion服务器程序
下载Subversion服务器程序的下载地址:
http://subversion.Apache.org/packages.html
(注:下载地址不保证一直有效,如已失效请去官网下载。)
1.3 配置Apache+Subversion
注:安装完之后需要重新启动计算机。在Apache的配置文件中增加了SVN的仓库后,Apache服务启动不了,造成这种问题的原因有可能是:apache以及Svnversion安装完成后没有重启电脑
下载完成后,直接点击安装(建议先安装Apache再安装svn)。
本例中Apache以及Subversion默认都安装在C:/。
Subversion安装到默认路径为C:/Program Files/Subversion,默认安装后,在LoadModule cgi_module modules/mod_cgi.so之下增加
# For SVN
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
拷贝解压後的Subversion目录下bin文件夹(对应本例即为 C:/ Program Files/Subversion Server/bin)下的mod_authz_svn.so和mod_dav_svn.so这两个文件,到Apache安装目录下的modules文件(本例即为目录C:/Program Files/Apache Software Foundation/Apache2.2/modules)下,如果采用这种方式,那么不用再指定文件目录,即直接输入LoadModule dav_svn_module就可以了。
1. Subversion解压後目录下bin文件夹(对应本例即为 C:/Program Files/Subversion Server/bin)下的libdb44.dll、libeay32.dll、ssleay32.dll到Apache安装目录下的bin文件夹(本例即为目录 C:/Program Files/Apache Software Foundation/Apache2.2/bin)下。
2. 配置环境变量,必不可少的一步
APR_ICONV_PATH=SVN解压目录/iconv,并增加Path变量SVN解压目录/bin,对应本例,设置如下:(环境变量的设置方法略)
APR_ICONV_PATH=C:/Program Files/Subversion Server/iconv
在Path变量中增加C:/Program Files/Subversion Server/bin
注:但当安装“exe”版本subversion时,可自动添加,并成功安装。
3. 打开Apache的配置文件,在末尾处加入以下参数:
<Location /svn>
DAV svn
SVNPath D:/CMS5.0_Test_Tools/subMail
AuthType Basic
AuthName "Windy SVN"
AuthUserFile D:/CMS5.0_Test_Tools/subMail/passwd
Require valid-user
</Location>
参数说明:
4. 创建SVN仓库并添加用户
a) 建立仓库:
打开CMD命令行界面,"开始" -> "运行" -> "cmd" -> "回车"
C:/Documents and Settings/windy> d: //进入D盘(因为我们要在D盘下创建仓库)
D:/> md CMS5.0_Test_Tools //创建一个名叫CMS5.0_Test_Tools的目录
D:/> c: //进入C盘
C:/Documents and Settings/windy> cd/ //退到C盘根目录
C:/Documents and Settings/windy> cd C:/Program Files/Subversion/bin //进入subversion/bin目录
C:/Program Files/Subversion/bin> svnadmin create d:/CMS5.0_Test_Tools/subMail //用svnadmin命令创建名为subMail的仓库(这条命令成功后,在subMail下会出现很多文件夹和文件)
b) 建立用户:
C:/Program Files/Subversion/bin> cd C:/Program Files/Apache Software Foundation/Apache2.2/bin //进入Apache/bin目录
C:/Program Files/Apache Software Foundation/Apache2.2/bin>htpasswd -cm d:/CMS5.0_Test_Tools/subMail/passwd user1 //用htpasswd命令创建第一个用户(user1),同时生成密码认证文件,c参数为create,m参数为MD5加密方式。
Adding password for user user1 //加入用户成功
C:/Program Files/Apache Software Foundation/Apache2.2/bin> htpasswd -m d:/CMS5.0_Test_Tools/subMail/passwd user2 //用htpasswd命令创建第二个用户(user2),注意如果在这时加入c参数会覆盖掉之前创建的用户及文件。
New password: ******
Re-type new password: ******
Adding password for user user2 //加入用户成功
1.4 测试Apache+Subversion是否配置成功
重新启动Apache,进行测试。
用IE打开http://localhost/svn
(使用刚刚新建的user1或user2用户登陆)这时应该可以看到
Revision 0: /
--------------------------------------------------------------------------------
Powered by Subversion version 1.4.0 (r21228). //说明我们已经配置成功了。
1.5 常见问题
Subversion没有加到环境变量。
Apache没有重启或未启动。
或者取Apache查看日志文件
在Apache的配置文件中增加了SVN的仓库后,Apache服务启动不了,造成这种文的原因有可能是:apache以及Svnversion安装完成后没有重启电脑
第2章 配置Subversion+邮件(没有颜色区分不同)
2.1 下载activeperl
下载activeperl,下载地址:
http://www.activestate.com/activeperl/downloads/
2.2 修改配置文件
2.2.1 设置commit-email.pl文件
下载commit-email.pl文件到本地,下载地址:
http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/commit-email.pl.in
这个网址会打开一个文件,请将该文件拷贝到本地:
D:/CMS5.0_Test_Tools/subMail/hooks下(即[SVNRepository]/hooks/下)
文件名取名为:
commit-email.pl。
打开《commit-email.pl》修改:
$smtp_server = "ucap.com.cn";
my $svnlook = "C:/Program Files/Subversion/bin/svnlook.exe";
my $no_diff_deleted = 1;
my $no_diff_added = 1;
以上两个的配置默认为0,代表不会显示增加和删除的文件;目前修改为1以后,增加以及删除的操作也会显示在邮件中。
2.2.2 设置post-commit.bat
复制[SVNRepository]/hooks/post-commit.tmpl文件,并重命名为post-commit.bat
然后打开post-commit.bat文件将文件最下方的配置文件替换为:
set REPOS=%1
set REV=%2
%REPOS%/hooks/commit-email.pl %REPOS% %REV% --from liuyp@ucap.com.cn liuyp@ucap.com.cn -s "SVN-commit CMS5.0"
修改后的内容应为:
注:必须保证commit-email.pl以及post-commit.bat两个文件都在[SVNRepository]/hooks/文件夹下,例如:
2.3 常见问题
如果安装Perl的机器,已安装了Oracle 10g 服务器版,那么在提交的时候会报一个 perl58.dll的错误。解决这个问题的方法:
在环境变量中增加:PERL5LIB=C:/perl/bin/perl.exe
(具体解决问题的网页为:http://www.talendforge.org/bugs/view.php?id=1507)
注:经过测试设置这个参数,不影响Oracle数据库的使用。
第3章 配置SubVersion+邮件(颜色区分不同)
3.1 下载activeperl
http://www.activestate.com/activeperl/downloads/
这里测试用的版本为:ActivePerl-5.8.9.827-MSWin32-x86-291969.msi
并且下载需要用到的组件:
其中nmake需要去:http://download.microsoft.com/download/vc15/patch/1.52/w95/en-us/nmake15.exe下载
以及
其他gz包的文件可以去:
http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Module-Build-0.2805.tar.gz
http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Authen-SASL-2.10.tar.gz
http://search.cpan.org/CPAN/authors/id/A/AP/APLEINER/SVN-Notify-2.80.tar.gz
http://search.cpan.org/CPAN/authors/id/A/AP/APLEINER/Net-SMTP_auth-0.08.tar.gz
3.2 部署nmake.exe(optional)
注:如果不安装Authen-SASL-2.10以及Net::SMTP_auth那么不需要部署nmake.exe。而且nmake.exe在此网站上下载的版本仅仅能在32bit的机器上使用,如果想在64bit机器上使用,则需要去vc中拷贝64bit支持的nmake.exe文件。
在System32子目录下新建nmake文件夹
C:/Users/ray>cd C:/Windows/System32/nmake
C:/Windows/System32/nmake>绝对路径/nmake15
显示结果:
PKSFX (R) FAST! Self Extract Utility Version 2.04g 02-01-93
Copr. 1989-1993 PKWARE Inc. All Rights Reserved. Shareware version
PKSFX Reg. U.S. Pat. and Tm. Off.
Searching EXE: C:/WINDOWS/SYSTEM32/NMAKE/NMAKE15.EXE
Inflating: NMAKE.ERR
Inflating: NMAKE.EXE
Inflating: README.TXT
C:/Windows/System32/nmake>
最后将C:/Windows/System32/nmake加入到system environment的path下
3.3 安装Module-Build-0.2805
将下载的Module-Build-0.2805解压到d盘下,然后
D:/> cd Module-Build-0.2805
D:/Module-Build-0.2805> perl Build.PL //收集系统环境变量
D:/Module-Build-0.2805> Build //进行编译
D:/Module-Build-0.2805> Build test //测试
D:/Module-Build-0.2805> Build install //编译后安装
3.4 安装Authen-SASL-2.10(optional)
D:/> cd Authen-SASL-2.10
D:/Authen-SASL-2.10> perl Makefile.PL //收集系统环境变量
出现选择安装提示,y和n先后安装一次
D:/Authen-SASL-2.10> nmake //进行编译
D:/Authen-SASL-2.10> nmake test //进行测试
D:/Authen-SASL-2.10> nmake install //编译后安装
3.5 安装Net::SMTP_auth(optional)
D:/> cd Net-SMTP_auth-0.08
D:/Net-SMTP_auth-0.08> perl Makefile.PL //收集系统环境变量
D:/Net-SMTP_auth-0.08> nmake //进行编译
D:/Net-SMTP_auth-0.08> nmake test //测试
D:/Net-SMTP_auth-0.08> nmake install //编译后安装
3.6 安装SVN::Notify
D:/> cd SVN-Notify-2.64
D:/SVN-Notify-2.64> perl Build.PL //收集系统环境变量
D:/SVN-Notify-2.64> Build //进行编译
D:/SVN-Notify-2.64> Build test //测试
D:/SVN-Notify-2.64> Build installl //编译后安装
3.7 设置邮件通知
在…repository/hooks/post-commit.bat最下方增加:
set REPOS=%1
set REV=%2
svnnotify -p %REPOS% -r %REV% -f liuyp@ucap.com.cn -t liuyp@ucap.com.cn --smtp ucap.com.cn -H HTML::ColorDiff -c GBK –d --subject-prefix SVN-CMS5.0
注:关于svnnotify的命令说明,可以在cmd命令窗口中输入svnnotify来查看。
3.8 检查测试以及常见问题
以上安装都完成后,请重启机器否则svnnotify组件无法应用。
如果在提交修改文件时出现svnnotify命名无法执行,则说明安装失败。安装失败有可能是因为nmake.exe没有安装成功,
请查看path中是否增加了c:/nmake,并且检查c:/nmake文件夹下是否有这NMAKE.ERR,nmake.exe,README.TXT三个文件。