中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
windows安裝基于Apache的SVN服務(wù)器(包括SSL配置)[2007

[翻譯] windows安裝基于Apache的SVN服務(wù)器(包括SSL配置)[2007-8-19更新]

翻譯整理: PCplayer

關(guān)鍵詞:subversion 安裝 服務(wù)器 配置 apache ssl
最后更新:2007-8-19
版本:v1.0

修改歷史:
v0.1 2006-08-06
v0.2 2006-09-10 加入ssl的配置
v0.21 2006-09-13 修正2.3配置中一個(gè)錯(cuò)誤(由blair1978 報(bào)告)
v0.23 2006-09-26 在附件1中添加兩個(gè)必要文件,不然無(wú)法創(chuàng)建SSL證書(shū)
修正一個(gè)創(chuàng)建證書(shū)的命令錯(cuò)誤
v0.26 2006-10-16 更新mod_ssl_etc.rar(openssl必需軟件包)中的mod_ssl.so,由sunbeam在
http://bbs.iusesvn.com/thread-418-1-1.html提供
v1.0 2007-8-19 告知已支持Apache2.2.4

轉(zhuǎn)載請(qǐng)注意原文出處、版本、作者(譯者)http://bbs.iusesvn.com/thread-158-1-1.html
--------------------------------------------------------------------------------

1. 引言
2. 安裝過(guò)程
2.1. 安裝Apache
2.2. 安裝Subversion
2.3. 配置
2.4. 使用SSL來(lái)保護(hù)你的服務(wù)

摘要

本文是TortoiseSVN1.3.5幫助中關(guān)于配置服務(wù)器一節(jié)的翻譯,根據(jù)行文需要做了一些調(diào)整與增減。英文原文參見(jiàn)TortoiseSVN1.3.5幫助的3.1. Apache Based Server。

要使用TortoiseSVN(或者其它的Subversion客戶端),你要有一個(gè)存放版本庫(kù)的地方。你可以將版本庫(kù)存放在本機(jī),使用file://協(xié)議來(lái)訪問(wèn),也可以將它們放在一個(gè)服務(wù)器上,使用http://或svn://協(xié)議來(lái)訪問(wèn)。兩種服務(wù)器協(xié)議(http://和svn://)也可以被加密成https://及svn+ssh://。下面將一步一步地為你展示如何在windows上配置這樣一個(gè)服務(wù)器。

如果你沒(méi)有服務(wù)器或者你只想單獨(dú)地工作,那么將版本庫(kù)存放在本機(jī)并使用file://協(xié)議來(lái)訪問(wèn)是你最好的選擇,這樣的話,你可以略過(guò)本文。

注:目前windows下的subversion有專門(mén)的for apache2.2.x版本,可以跟Apache2.2.x配合,不過(guò)本文所帶的附件只在Apache2.0.x上測(cè)試過(guò)

1. 引言
在所有的Subversion服務(wù)器配置方式中,基于Apache的是最靈活的。雖然配置起來(lái)有一點(diǎn)點(diǎn)復(fù)雜,但是它提供了其它方式所沒(méi)有的好處:
WebDAV
基于Apache配置的Subversion服務(wù)器使用了被許多其它程序支持的WebDAV協(xié)議。舉個(gè)例子,你可以在Windows的資源管理器中將這樣的一個(gè)版本庫(kù)掛載成一個(gè)“Webfolder”,然后像文件系統(tǒng)中的其它文件夾一樣訪問(wèn)它。

瀏覽版本庫(kù)
你可以在不安裝Subversion客戶端的情況下,使用瀏覽器來(lái)瀏覽版本庫(kù)中的內(nèi)容。這將使得更大范圍的用戶可以訪問(wèn)你的數(shù)據(jù)。

用戶驗(yàn)證
你可以使用任何Apache支持的驗(yàn)證機(jī)制,包括SSPI和LDAP。

安全
Apache是非常的穩(wěn)定和安全,因此你的版本庫(kù)自然而然地?fù)碛型瑯拥陌踩浴0⊿SL加密。
2. 安裝過(guò)程
2.1. 安裝Apache
安裝Apache前,你要有一臺(tái)運(yùn)行Windows2000、Windows XP + sp1或Windows2003的電腦

警告:請(qǐng)注意,沒(méi)安裝Service Pack 1的Windows XP將導(dǎo)致錯(cuò)誤的網(wǎng)絡(luò)數(shù)據(jù)從而破壞你的版本庫(kù)!

http://httpd.apache.org/download.cgi 最新版本的Apache Web服務(wù)器。確保你下載的版本大于2.0.54。2.0.54版本的Apache將不能與Subversion 1.3.xx配合工作。而且,小于2.0.54的Apache也因?yàn)樵趙indows上的編譯存在一個(gè)bug而導(dǎo)致不能與subversion1.2配合使用。

一旦你已經(jīng)有了Apache2的安裝程序,你可以雙擊它,它將引導(dǎo)你完成整個(gè)安裝過(guò)程。請(qǐng)確保你輸入正確的服務(wù)器URL(如果你的服務(wù)器沒(méi)有DNS名稱,你可以直接輸入IP地址)。我建議你將Apache安裝成 for all Users,on Port 80,as a service。注意:如果你已經(jīng)有一個(gè)IIS或者其它的程序使用80端口,安裝可能會(huì)失敗。如果是這樣,你可以到程序目錄下的Apache Group\Apache2\conf目錄中找到文件httpd.conf,將其中的Listen 80改成一個(gè)不用的端口,比如Listen 81。然后重新運(yùn)行這個(gè)安裝程序,這次應(yīng)該不會(huì)再有問(wèn)題了。

現(xiàn)在你可以在你的瀏覽器中鍵入 http://loccalhost,如果呈現(xiàn)了一個(gè)已經(jīng)配置好的網(wǎng)站,那么你的Apache就安裝成功了。

警告

如果你將Apache安裝成一個(gè)服務(wù),它將以本地system帳戶來(lái)運(yùn)行。為Apache創(chuàng)建一個(gè)單獨(dú)的用戶來(lái)運(yùn)行它將會(huì)更安全一些。

請(qǐng)確保運(yùn)行Apache的用戶有版本庫(kù)的完全訪問(wèn)權(quán)限(右鍵版本庫(kù)目錄->屬性->安全)。要不然,用戶將無(wú)法提交他們的更改。

就算Apache以本機(jī)system來(lái)運(yùn)行,你也要設(shè)置它能完全讀寫(xiě)版本庫(kù)目錄。

如果沒(méi)有為Apache配置這個(gè)許可,用戶將會(huì)得到"禁止訪問(wèn)"的錯(cuò)誤信息,在Apache的錯(cuò)誤日志中表現(xiàn)為錯(cuò)誤500。

2.2. 安裝Subversion
http://subversion.tigris.org/ser ... entList?folderID=91 (英文)

http://bbs.iusesvn.com/forum-7-1.html中文)下載最新版本的Subversion。

運(yùn)行Subversion安裝程序,如果安裝程序能夠識(shí)別你已經(jīng)安裝了Apache,那么你的安裝基本上就OK了。如果它不能,那么你要做一些額外的步驟。
注:如果你先安裝Apache,再安裝Subversion,正常情況下下面的工作(2.3配置前)Subversion安裝程序已經(jīng)幫你完成了
使用資源管理器,進(jìn)入Sibversion的安裝目錄(通常為c:\program files\Subversion),找到文件httpd/mod_dav_svn.so和mod_authz_svn.so,將它們拷貝到Apache的modules目錄(通常為c:\program files\apache group\apache2\modules)。

從Subversion的安裝目錄拷貝文件libdb43.dll到Apache的modules目錄。

使用如記事本之類的文本編輯器編輯Apache的配置文件(通常為c:\program files\apache group\apache2\conf\httd.conf),修改以下內(nèi)容:

去掉以下行的注釋(將開(kāi)頭的#刪除):
  1. #LoadModule dav_fs_module modules/mod_dav_fs.so
  2. #LoadModule dav_module modules/mod_dav.so
復(fù)制代碼
在LoadModule節(jié)的最后添加以下兩行:
  1. LoadModule dav_svn_module modules/mod_dav_svn.so
  2. LoadModule authz_svn_module modules/mod_authz_svn.so
復(fù)制代碼
2.3. 配置
現(xiàn)在,你已經(jīng)安裝了Apache和Subversion,但是Apache還不知道如果處理像TortoiseSVN一樣的Subversion客戶端。要讓Apache知道哪個(gè)URL將被Subversion使用,你要像下面這樣編輯Apache的配置文件(通常在c:\program files\apache group\apache2\conf\httpd.conf):

在配置文件的最后添加下面這些行:
  1. <Location /svn>
  2. DAV svn
  3. SVNParentPath D:\SVN
  4. AuthType Basic
  5. AuthName "Subversion repositories"
  6. AuthUserFile D:\passwd
  7. #AuthzSVNAccessFile D:\svnaccessfile
  8. Require valid-user
  9. </Location>
復(fù)制代碼
這樣配置表示:你所有的版本庫(kù)將位于D:\SVN目錄下,要訪問(wèn)你的版本庫(kù)可以使用這樣的URL:http://MyServer/svn/,訪問(wèn)權(quán)限將由passwd文件中的用戶名/密碼來(lái)限制。

要?jiǎng)?chuàng)建passwd文件,可以打開(kāi)命令行(DOS窗口),將當(dāng)前目錄切換到apache2目錄(通常為c:\program files\apache group\apache2),然后打入以下命令以創(chuàng)建文件:
  1. bin\htpasswd -c passwd <username>
復(fù)制代碼
此命令執(zhí)行bin目錄下的htpasswd.exe來(lái)創(chuàng)建一個(gè)密碼文件,重啟Apache服務(wù)。

將你的瀏覽器指向http://MyServer/svn/MyNewRepository(MyNewRepository是你之前創(chuàng)建的Subversion版本庫(kù))。如果一切正常,你將被提示輸入用戶名密碼,輸入正確的用戶名密碼后你就可以看到版本庫(kù)中的內(nèi)容了。

對(duì)你剛剛輸入的apache配置作一些簡(jiǎn)短的說(shuō)明:
<Location /svn>

意味著可以通過(guò)像這樣的URL(http://MyServer/svn)來(lái)訪問(wèn)Subversion版本庫(kù)

DAV svn

告訴Apache哪個(gè)模塊負(fù)責(zé)服務(wù)像那樣的URL--在這里就是Subversion模塊

SVNListParentPath on

在Subversion 1.3及更高版本中,這個(gè)指示器使得Subversion列出由SVNParentPath指定的目錄下所有的版本庫(kù)

SVNParentPath D:\SVN

告訴Subversion在目錄D:\SVN下尋找版本庫(kù)

AuthType Basic

啟用基本的驗(yàn)證,比如用戶名/密碼對(duì)

AuthName "Subversion repositories"

當(dāng)一個(gè)驗(yàn)證對(duì)話框彈出時(shí),告訴用戶這個(gè)驗(yàn)證是用來(lái)做什么的

AuthUserFile D:\passwd

指定D:\passwd用為密碼文件用來(lái)驗(yàn)證用戶的用戶名及密碼

AuthzSVNAccessFile D:\svnaccessfile

指定D:\svnaccessfile來(lái)限定各個(gè)用戶或組在版本庫(kù)中目錄的訪問(wèn)權(quán)限

Require valid-user

限定用戶只有輸入正確的用戶名及密碼后才能訪問(wèn)這個(gè)路徑
----------------------------------------

上面的配置僅僅是一個(gè)簡(jiǎn)單的示例。你還可以對(duì)Apache進(jìn)行許許多多的配置。

1如果你想讓所有用戶對(duì)版本庫(kù)都有讀的權(quán)限而只有特定的用戶才有寫(xiě)的權(quán)限,你可以將這行
  1. Require valid-user
復(fù)制代碼
改為
  1. <LimitExcept GET PROPFIND OPTIONS REPORT>
  2. Require valid-user
  3. </LimitExcept>
復(fù)制代碼
2上面的配置使用了passwd文件將你所有的版本庫(kù)作為一個(gè)單元來(lái)限定訪問(wèn)權(quán)限。如果你想獲得更多的控制,如限定某個(gè)用戶可以訪問(wèn)版本庫(kù)中的哪個(gè)目錄,可以把下面這行的#去掉:
  1. #AuthzSVNAccessFile D:\svnaccessfile
復(fù)制代碼
然后用文本編輯器創(chuàng)建一個(gè)Subversion授權(quán)文件。Apache將確保只有有效的用戶可以訪問(wèn)你的/svn位置,然后將用戶名傳到AuthzSVNAccessFile模塊,這樣可以依據(jù)Subversion授權(quán)文件得到更精細(xì)的權(quán)限控制。注意,路徑將被指定為[庫(kù):路徑]或者簡(jiǎn)單的[路徑]。如果你不明確指定一個(gè)庫(kù),訪問(wèn)規(guī)則將應(yīng)用到由SVNParentPath指定的目錄下所有的版本庫(kù)中。一個(gè)授權(quán)文件例子可能像這樣:
  1. [groups]
  2. admin = john, kate
  3. devteam1 = john, rachel, sally
  4. devteam2 = kate, peter, mark
  5. docs = bob, jane, mike
  6. training = zak

  7. # 為所有庫(kù)指定默認(rèn)訪問(wèn)規(guī)則
  8. # 所有人可以讀,管理員可以寫(xiě),危險(xiǎn)分子沒(méi)有任何權(quán)限
  9. [/]
  10. * = r
  11. @admin = rw
  12. dangerman =

  13. # 允許開(kāi)發(fā)人員可以完全訪問(wèn)他們的項(xiàng)目版本庫(kù)
  14. [proj1:/]
  15. @devteam1 = rw
  16. [proj2:/]
  17. @devteam2 = rw
  18. [bigproj:/]
  19. @devteam1 = rw
  20. @devteam2 = rw
  21. trevor = rw

  22. # 文檔編寫(xiě)人員對(duì)所有的docs目錄有寫(xiě)權(quán)限
  23. [/trunk/doc]
  24. @docs = rw

  25. # 培訓(xùn)人員可以完全訪問(wèn)培訓(xùn)版本庫(kù)
  26. [TrainingRepos:/]
  27. @training = rw
復(fù)制代碼
2.4. 使用SSL來(lái)保護(hù)你的服務(wù)器
以上的工作已經(jīng)可以讓你的svn服務(wù)器正常工作了。
如果你要更安全一些,可以配置ssl來(lái)保護(hù)你的服務(wù)器。
因?yàn)槊绹?guó)出口限制,默認(rèn)安裝的Apache服務(wù)器不支持SSL。但是你自己可以很容易地在其它地方下載到所需要的模塊,然后安裝它。

首先你需要SSL的必需文件。你可以http://hunter.campbus.com/ 或這里找到相應(yīng)的軟件包(或者下載本主題的附件1:
mod_ssl_etc.rar (595.45 KB) )。然后只要將包解開(kāi)將其中的mod_ssl.so拷到Apache的modules目錄、openssl.exe、libeay32.dll、ssleay32.dll拷到bin目錄、conf/ssl.conf拷到conf目錄。

在Apache的conf目錄中用文本編輯器打開(kāi)ssl.conf。

將下面這些行用#注釋掉:
  1. DocumentRoot "c:/apache/htdocs"
  2. ServerName [url]www.example.com:443[/url]
  3. ServerAdmin [email]you@example.com[/email]
  4. ErrorLog logs/error_log
  5. TransferLog logs/access_log
復(fù)制代碼
修改
  1. SSLCertificateFile conf/ssl.crt/server.crt
復(fù)制代碼
  1. SSLCertificateFile conf/ssl/my-server.cert
復(fù)制代碼
修改
  1. SSLCertificateKeyFile conf/ssl.key/server.key
復(fù)制代碼
  1. SSLCertificateKeyFile conf/ssl/my-server.key
復(fù)制代碼
修改
  1. SSLMutex file:logs/ssl_mutex
復(fù)制代碼
  1. SSLMutex default
復(fù)制代碼
刪除以下兩行(如果有):
  1. <IfDefine SSL>
  2. </IfDefine>
復(fù)制代碼
打開(kāi)Apache配置文件(httpd.conf),去掉這行的注釋
  1. #LoadModule ssl_module modules/mod_ssl.so
復(fù)制代碼
Openssl需要一個(gè)配置文件。你可以從這里下載一個(gè)可工作的版本http://tud.at/programm/openssl.cnf (或者本主題附件2:
openssl.cnf.rar (1.21 KB) )。將它保存到bin/openssl.cnf。

下面你要?jiǎng)?chuàng)建一個(gè)SSL證書(shū)。你可以打開(kāi)一個(gè)命令行窗口,然后cd到Apache安裝目錄(比如C:\program files\apache group\apache2),敲入以下命令:
  1. bin\openssl req -config bin\openssl.cnf -new -out my-server.csr
復(fù)制代碼
你將被問(wèn)及一句口令短語(yǔ)。請(qǐng)注意,不要使用簡(jiǎn)單的幾個(gè)詞,而應(yīng)該輸入一整個(gè)句子,比如一篇詩(shī)詞的一部份,越長(zhǎng)越好。同樣,你還要輸入你的服務(wù)器URL。然后其它的問(wèn)題都是可選問(wèn)答的,不過(guò)我建議你也將它們填充。

下一步,敲入以下命令:
  1. bin\openssl rsa -in privkey.pem -out my-server.key
復(fù)制代碼
以及(注意,只有一行)
  1. bin\openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000
復(fù)制代碼
這樣將創(chuàng)建一個(gè)4000天后才過(guò)期的證書(shū)。最后敲入:
  1. bin\openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
復(fù)制代碼
這些命令在Apache目錄下創(chuàng)建了一些文件(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),如果目錄ssl不存在,你必須先創(chuàng)建一個(gè)。

重啟Apache服務(wù)。

現(xiàn)在可以用類似這樣的url來(lái)訪問(wèn)你的版本庫(kù)了https://servername/svn/project
強(qiáng)制通過(guò)SSL來(lái)訪問(wèn)

當(dāng)你配置了SSL來(lái)提高版本庫(kù)安全時(shí),你可能想禁用無(wú)SSL的http訪問(wèn)方式,而只允許通過(guò)https訪問(wèn)。要達(dá)到這種效果,你要在<Location>塊加入另外一個(gè)指示器SSLRequireSSL。

一個(gè)示例<Location>塊可能像這樣:

<Location /svn>

DAV svn

SVNParentPath D:\SVN

SSLRequireSSL

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile passwd

#AuthzSVNAccessFile svnaccessfile

Require valid-user

</Location>
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
關(guān)于DLL文件和EXE文件不在同一目錄下的設(shè)置【轉(zhuǎn)】
SVN使用:從SVN服務(wù)器端徹底刪除錯(cuò)誤提交版本
IDA Pro安裝目錄的基本結(jié)構(gòu)
深入剖析Subversion+Apache配置
PHP在XP下IIS和Apache2服務(wù)器上的安裝,PHP 安裝,編程開(kāi)發(fā),PHP 編程,...
Subversion中文站 - SVN|TortoiseSVN|論壇|教程|下載|安裝|配...
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服