Apache服務(wù)器缺省并不支持SSL,但是你可以從其他地方下載安裝。
1. 首先,你需要一些文件來開啟SSL,你可以在http://hunter.campbus.com/找到這些包,只需要解壓縮這些文件,然后將mod_ssl.so拷貝到Apache的modules目錄,將文件openssl.exe拷貝到bin目錄,將文件conf/ssl.conf拷貝到Apache的conf目錄。
2. 使用文本編輯器打開Apache的conf目錄的ssl.conf.
3. 注釋掉(使用#)下面幾行:
DocumentRoot "c:/apache/htdocs" ServerName www.example.com:443 ServerAdmin you@example.com ErrorLog logs/error_log TransferLog logs/access_log |
4. 此行
SSLCertificateFile conf/ssl.crt/server.crt 改為 SSLCertificateFile conf/ssl/my-server.cert 此行 SSLCertificateKeyFile conf/ssl.key/server.key 改為 SSLCertificateKeyFile conf/ssl/my-server.key 此行 SSLMutex file:logs/ssl_mutex 改為 SSLMutex default |
5. 刪除下面兩行:
<IfDefine SSL> |
6. 打開Apache配置文件(httpd.conf),并且去掉此行的注釋
#LoadModule ssl_module modules/mod_ssl.so |
7. Openssl需要一個(gè)配置文件,你可以從http://tud.at/programm/openssl.cnf下載一個(gè)正在使用的,請(qǐng)注意:*.cnf類型的文件盡管是普通的文本文件,Windows對(duì)這種文件會(huì)特別處理!
8. 然后你需要?jiǎng)?chuàng)建一個(gè)SSL證書,為此打開一個(gè)命令行窗口,進(jìn)入apache目錄(例如C:program filesapache groupapache2),然后輸入下面的命令:
binopenssl req -config binopenssl.cnf -new -out my-server.csr |
你會(huì)被訊問密語,請(qǐng)不要使用簡(jiǎn)單的單詞,而是使用整段話,例如一段詩,越長(zhǎng)越好。你也需要輸入server的URL,其他所有問題都是可選的,但是我們建議你最好輸入這些信息。
通常會(huì)自動(dòng)產(chǎn)生privkey.pem文件,但是如果沒有,請(qǐng)輸入下面的命令生成它:
binopenssl genrsa -out privkey.pem 2048 |
然后輸入這個(gè)命令
binopenssl rsa -in privkey.pem -out my-server.key |
并且輸入(在同一行)
binopenssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000 |
這樣會(huì)創(chuàng)建一個(gè)在4000天里過期的證書,最后輸入:
binopenssl x509 -in my-server.cert -out my-server.der.crt -outform DER |
這些命令在Apache目錄(my-server.der.crt、my-server.csr、my-server.key、。rnd、 privkey.pem、my-server.cert)里創(chuàng)建了一些文件,拷貝這些文件到目錄conf/ssl(例如C:program filesapache groupapache2confssl)-如果這個(gè)目錄不存在,你需要首先創(chuàng)建一個(gè)。
9. 重啟apache服務(wù)
10. 將你的瀏覽器指向https://servername/svn/project ……
11 關(guān)閉不安全連接方法
你設(shè)置了SSL讓你的版本庫更安全,你一定希望關(guān)閉普通的非ssl訪問,為此,你需要在Subversion的<Location> 增加指示:SSLRequireSSL.一個(gè)<Location>實(shí)例就像這個(gè)樣子:
|
總結(jié):
到此為止在版本控制工具Subversion在Windows Server 2003下的安裝基本介紹完了,如果您希望獲得更好的安全性能可以考慮使用使用Windows域認(rèn)證。


