完美攻略Apache+Svn

 

安装之前请注意版本问题,版本问题才是最关键的部分!!!

1.下载以下东西:

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      //中文语言

 

2.先安装Apache,一路点击默认了就行了,遇到开始要填的三个东东,随便填填就行了。

 

3.再安装Subversion,这个也是一路点击默认就行了,要改路径也行,随意。

 

4.(比较重要):

修改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>

 

5(还是很重要)

将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 (到這步驟應該就會正常了)

 

6.开启SvnService服务,开启svnserve服务。(异常重要,容易被人遗忘)

创建一个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, 右击启动,建议选择"属性", 再将其启动类型设置为"自动")

7.在D:\svn创建账户权限的文件夹hcms,

1,右键TortoiseSVN - 》 create repository here ,选择一种文件格式即可。

2,或者cmd下:svnadmin create d:/svn/hcms

 

8.创建用户

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个步骤能解决了吧~~~如果不能解决,请阅读第一句话,版本问题才是最重要的!!!(我为了版本问题蛋疼了许久许久。。。)

你可能感兴趣的:(apache,SVN,Module,cmd,subversion,tortoiseSVN)