Subversion與Apache的融合新視點在線
整合Subversion與Apache是一種比較適合協(xié)作的方法,其配置方式如下:
整合Subversion與Apache
另一種比較常用的使用SVN的方式是將其與apache整合。通過http協(xié)議來訪問代碼,通過web界面來瀏覽察看,通過http服務(wù)器的安全控制來進行權(quán)限認(rèn)證。
關(guān)于Subversion與Apache的融合蔡煥麟先生有一篇整合的詳細(xì)教程,此處不再綴述,請參見:icles/softeng/scm/svn/http://sun.cis.scu.edu.tw/~nms9115/articles/softeng/scm/svn/2-install/svn_install.htm
安裝要點記錄如下:
假設(shè)安裝Apache至D:\Apache2
1復(fù)制%SVN_HOME%\bin\libdb42.dll、libeay32.dll、以及ssleay32.dll到%APACHE_HOME%\bin
2復(fù)制%SVN_HOME%\httpd\*.so到%APACHE_HOME%\modules
3修改%APACHE_HOME%\conf\httpd.conf,增加或修改:
- LoadModuledav_modulemodules/mod_dav.so
- LoadModuledav_fs_modulemodules/mod_dav_fs.so
- LoadModuledav_svn_modulemodules/mod_dav_svn.so
- LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
4在
- <Location/svn>
- DAVsvn
- #指向SVNRepository的ROOT
- SVNPathd:/svnrepo
- < span>Location>
5重啟apache,通過瀏覽器訪問http://localhost/svn可看到Subversion的信息。
Subversion與Apache的融合在訪問控制的方面,蔡先生采用的是windows域用戶身份驗證。此處也可以用mysql,passwd文件,LDAP等其他任何Apache支持的驗證方式。此處我采用文件方式,首先建立一個保存密碼的文件,如果不需要對密碼加密,可增加-p參數(shù)生成plaintext。%APACHE_HOME%\bin\htpasswd–c-pd:\passwd\passwordsuser1生成的文件內(nèi)容如下:
- #格式username:password
- user1:123456
- 如果要按照Group的方式來控制權(quán)限,可同時建立一個groups文件,內(nèi)容如下:
- #格式:GroupName:username1username2
- svngroup:user1user2
- 在httpd.conf中的/svn處增加權(quán)限控制部分:
- <Location/svn>
- DAVsvn
- #指向SVNRepository的ROOT
- SVNPathd:/svnrepo
- AuthTypeBasic
- AuthName"SubversionRepository"
- AuthUserFiled:/passwd/passwords
- AuthGroupFiled:/passwd/groups
- Requiregroupsvngroup
- < span>Location>
重起服務(wù)器,瀏覽http://localhost/svn,出現(xiàn)安全對話框,輸入用戶名密碼即可成功。
Subversion與Apache相關(guān)網(wǎng)站:http://httpd.apache.org/ApacheWebServer官方網(wǎng)站
參考資料
http://sun.cis.scu.edu.tw/~nms9115/articles/softeng/scm/svn/2-install/svn_install.htm蔡煥麟SVNforWindows的安裝教程
http://www.douzhe.com/docs/ApacheManual/Apache2.0中文參考
http://httpd.apache.org/docs-2.0/Apache2.0文檔
【編輯推薦】
- ApacheSVN服務(wù)器安裝之專家指導(dǎo)
- Windows下Apache+SVN部署全程跟蹤
- Subversion用戶權(quán)限配置專家解析
- 深入剖析Subversion+Apache配置
- 專家指導(dǎo):Windows2003下如何進行Apache+SVN部署