httpd-2.2.20-win32-x86-no_ssl.msi //这个就是Apache
Setup-Subversion-1.6.17.msi //这个是服务端
TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi // 这个是客户端
SVNService.rar //必不可少的service
LanguagePack_1.6.16.21511-win32-zh_CN.msi //中文语言
修改Apache的配置文件 httpd.conf (D:\Apache2.2\conf里面找):
1)
找到:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
修改为:
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
2)
找到
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
修改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
还有几个<Directory>或者别的什么带有Allow 和Deny的东东都要改成Allow,
如:
<Directory "D:/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
分别找到,并且把相应的Deny改成Allow
3)
在文件最后增加以下代码:
<Location /svn>
DAV svn
SVNParentPath D:/svn //告诉apache在d:/svn下找到你建的版本库
AuthType Basic
AuthName "hcms"
AuthUserFile "D:/svn/passwd2" //验证身份时在D:/svn/passwd2下找到密码和用户名
#AuthzSVNAccessFile "D:/svn/svnaccessfile.conf"
Require valid-user
</Location>
将D:\Subversion\bin下的
mod_authz_svn.so和mod_dav_svn.so
复制到D:\Apache2.2\modules中 。 (以上路径修改成自己的相应路径,不难吧?)
将D:\Subversion\bin下的
所有dll文件复制到D:\Apache2.2\bin中。
第五步骤下可能出现以下问题:
解決無法 load mod_dav_svn.so的問題
如果你是第一次安裝apache2 + subversion 的人,那你應該會跟我一樣遇到在整合時,遇到下列的錯誤訊息
Cannot load C:/…/apache2/modules/mod_dav_svn.so into server
這錯誤訊息是winxp上的,我在Mac OSX 上安裝時,也會遇到一樣的錯誤訊息,
就是會無法載入 mod_dav_svn.so 、mod_authz_svn.so 而導致apache啟動錯誤。
通常Google到的解決辦法都是教人不要安裝apache2.2的版本,改裝2.0版本,不過通常還是很多人會沒法使用,
在此提供我最後解決的方法,供大家參考。
首先安裝 apache2與subversion後,將subversion的bin目錄下的mod_dav_svn.so 、mod_authz_svn.so 複製到apache2的modules目錄底下。 再來將subversion的bin目錄下的所有dll,複製到apache2的bin目錄底下(若有相同檔案請不要覆蓋) 修改apache2/conf/httpd.conf,將底下模組前的"#"拿掉,已啟動模組。
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
寫入SVN設定 重新啟動apache2 (到這步驟應該就會正常了)
创建一个SVN的文件跟目录,例如D:\svn
为了能加入windows 服务中, 需要下载SVNService,放到Subversion的bin目录下面,然后cmd下执行:
SVNService.exe -install svnserve -d -r "D:\svn"
在dos控制台状态下cd D:\svn\bin(版本不同的原因可能是D:\svn\Subversion\bin) 然后svnservice -install -d -r D:\svn(该操作中可能出现CreateService failed - Commandline set: "-d" "-r" "c:\svnhome"错误,此时执行svnservice -remove命令即可)
在上一步完成后继续执行net start svnservice来将其作为服务运行(相当于到控制面板-管理工具-服务中找到SVNService, 右击启动,建议选择"属性", 再将其启动类型设置为"自动")
1,右键TortoiseSVN - 》 create repository here ,选择一种文件格式即可。
2,或者cmd下:svnadmin create d:/svn/hcms
CMD先到D:\Apache2.2\bin下,才能执行一下步骤:
创建用户文件:
htpasswd -c D:/svn/passwd username
添加新用户(-m 表示以 MD5 加密密码):
htpasswd -m D:/svn/passwd Newusername
更改用户密码:
htpasswd -m D:/svn/passwd username
删除用户(要用大写的 D ):
htpasswd –D D:/svn/passwd username
这样下来,应该你打开http://localhost/svn/hcms就能看到你想看到的啦。
如果不行的话,你先打开http://localhost,看看是不是有个 “it works”出现,如果出现了就不是apache的问题,而是配置的问题,而配置的问题我相信以上8个步骤能解决了吧~~~如果不能解决,请阅读第一句话,版本问题才是最重要的!!!(我为了版本问题蛋疼了许久许久。。。)