Win7下搭建外网环境的SVN服务器
最近想跟一幫朋友做點(diǎn)東西,由于幾個(gè)朋友都身處異地,要想實(shí)現(xiàn)版本控制,只能自己搭建一個(gè)小的服務(wù)器,通過互聯(lián)網(wǎng)環(huán)境來實(shí)現(xiàn)版本控制了。本來也在網(wǎng)上找了好多資料,但是總是缺少一些必要的信息,導(dǎo)致最后連接不上服務(wù)器。今天好幾天的折騰,到網(wǎng)上去查資料,自己動手測試,最后終于搞定了,這里跟大家分享一下,希望對一些朋友會有用。如果文章中有不對的地方,還請大家輕拍磚,多多指正!
【基本原理】
通過apache或IIS搭建一個(gè)小型的服務(wù)器,使用花生殼工具或路由器自帶的動態(tài)域名解析功能,將申請的免費(fèi)域名綁定動態(tài)的IP地址上,利用路由器完成端口映射,通過HTTP協(xié)議完成SVN版本控制。
【工具準(zhǔn)備】
1、apache工具(xampp):http://www.apachefriends.org/zh_cn/xampp-windows.html#1787?????該鏈接包含三種壓縮方式的下載鏈接,你可以根據(jù)自己的喜好去下載相應(yīng)的版本。至于具體的用法的話,可能需要你自己去研究了,畢竟在本文中不是我們講述的重點(diǎn)。
2、SVN 服務(wù)器(Subversion):http://sourceforge.net/projects/win32svn/? (點(diǎn)擊那個(gè)Download綠色按鈕就會自動下載了)
3、SVN 客戶端(TortoiseSVN):http://tortoisesvn.net/downloads.html? ?(選擇相應(yīng)的處理器版本進(jìn)行下載)
4、SVN 中文語言包:http://tortoisesvn.net/downloads.html? ? (在Language Package部分,選擇自己對應(yīng)的語言版本和處理器信息的語言包進(jìn)行下載,我們就是簡體中文)
5、花生殼:http://www.oray.com/peanuthull/download.php? ?(在此頁面,選擇你的操作系統(tǒng)版本,進(jìn)行下載。本文標(biāo)題是Win7下,自然就乖乖選擇Windows吧)
【配置過程】
1、利用花生殼網(wǎng)站申請一個(gè)免費(fèi)的個(gè)人域名,利用申請到的護(hù)照登錄花生殼客戶端,在該域名上右鍵選擇“域名診斷”,如果顯示了以下圖片,就表明動態(tài)域名解析已經(jīng)OK了。大家可以試著ping一下自己申請的域名,應(yīng)該是可以ping通的。
2、安裝SVN服務(wù)器程序、SVN客戶端程序、SVN客戶端中文語言包。
安裝好這三個(gè)程序之后,在SVN客戶端程序的設(shè)置里面,配置成中文語言,這樣大家使用SVN就更加方便一點(diǎn)了。PS: 當(dāng)然,如果你習(xí)慣玩英文的話,不用裝中文語言包也是OK的。
3、安裝xampp。(建議安裝或解壓到不存在空格和中文字符的文件夾目錄下)
如果你下載的是安裝版的,直接安裝就好了;如果你下載的是非安裝版,解壓后,執(zhí)行setup-xampp.bat文件,也能夠一樣完成安裝操作。
?
4、配置端口映射
登錄到路由器,找到“轉(zhuǎn)發(fā)規(guī)則”--->“虛擬服務(wù)器”,然后添加新的條目,如下圖所示:
5、配置Apache服務(wù)
在目錄xampp/apache/conf中找到httpd.conf,分別找到Listen部分和ServerName部分,修改數(shù)據(jù)如下:
#Listen 80
Listen 你的端口號(例如"Listen 8080")
#ServerName localhost:80
ServerName 你的花生殼域名:你的端口號(例如“ServerName xxx.gicp.net:8080”)
保存后重啟Apache服務(wù),在瀏覽器地址欄輸入“xxx.gicp.net:8080”,看看能不能看到xampp的首頁。如果可以看到,說明你的服務(wù)器搭建好了,我們就可以配置SVN服務(wù)了。
但是!!!!!!!!!
我的電腦在最開始的時(shí)候就是這個(gè)地方不行。為什么?
后來經(jīng)過各位網(wǎng)友的提示,可能是防火墻的問題,于是將Windows自帶的防火墻關(guān)閉了,但是還是不行啊!坑爹啊,你裝了安全軟件,有木有?你妹啊,你裝了殺毒軟件,有木有!
如果經(jīng)過上面的步驟,你們跟我一樣不能連接到服務(wù)器,還是乖乖的檢查一下你的安全類軟件的配置吧,看看是不是把入站和出站的規(guī)則防護(hù)的太嚴(yán)了?不管你們是不是防護(hù)的太嚴(yán),反正我是防護(hù)太嚴(yán)了。找到了問題,各位試著關(guān)閉安全類軟件的防火墻,或者設(shè)置一下過濾規(guī)則吧,然后再試試打開網(wǎng)址,應(yīng)該是可以的。當(dāng)然,不能關(guān)著防火墻裸奔吧,嗯,還是把系統(tǒng)自帶的防火墻,安全軟件的防火墻都設(shè)置一個(gè)過濾規(guī)則吧,允許Apache的服務(wù)通過防火墻!
6、配置SVN服務(wù)
在適合的地方新建一個(gè)文件夾,用于存放你的第一個(gè)SVN版本倉庫。進(jìn)入新建的文件夾,在空白地方右鍵選擇“TortoiseSVN”--->“在此創(chuàng)建版本庫”,則在該文件夾下會自動生成幾個(gè)文件夾和若干個(gè)文件,我們不需要對這個(gè)文件夾再做其他操作了,如果各位感興趣可以去查一下每個(gè)文件夾的用途。
將SVN服務(wù)器配置成一個(gè)開機(jī)自動啟動的服務(wù),方便每次開機(jī)時(shí)可以自動開啟此服務(wù)。打開CMD,進(jìn)入到SVN服務(wù)器Subversion的bin目錄下,執(zhí)行如下命令:
sc create subversion_service binpath= "c:\subversion\bin\svnserve.exe --service -r 你的版本倉庫的目錄" displayname= "Subversion Repository" depend= Tcpip
(注意:以上命令在每個(gè)“=”符號之后都有一個(gè)空格,請各位博友看清楚哈)
然后啟動該服務(wù),我們的SVN服務(wù)器就運(yùn)行起來了。
但是,還沒有結(jié)束。復(fù)制svn服務(wù)器bin中的四個(gè)文件mod_dav_svn.so,mod_authz_svn.so,intl3_svn.dll,libdb44.dll到apache的modules文件夾中, 并修改httpd.conf文件中的配置信息。
去掉LoadModule dav_module modules/mod_dav.so簽名的“#”注釋符號,并在其下一行添加如下信息?
LoadModule dav_svn_module modules/mod_dav_svn.so?
LoadModule authz_svn_module modules/mod_authz_svn.so?
在文件最后添加 :
?
DAV svn?
SVNPath "d:\svn_repository\test"?
AuthType Basic?
AuthName "Subversion repositories"?
AuthUserFile "d:\passwordfile"?
Require valid-user?
?
保存該文件后,需要重啟apache服務(wù)。
說明:
/svn是用來訪問倉庫的?
d:\svn_repository這個(gè)是你設(shè)置的版本倉庫的路徑
d:\passwordfile這個(gè)是密碼文件,現(xiàn)在就來創(chuàng)建該密碼文件:?
打開命令窗口cmd?
cd到apache的bin目錄,然后輸入?
htpasswd -c d:\passwordfile ?你的賬戶名稱?
輸入兩次密碼 (是你為賬戶名稱設(shè)置的登錄密碼)
就搞定了 。
?
7、測試
打開游覽器,輸入http://xxx.gicp.net:端口號/svn/,輸入用戶密碼(就剛才設(shè)置的),如果見到下圖,那就萬事大吉了。
?
? 接下來,你可以用SVN客戶端來控制你的版本了。
總結(jié)
以上是生活随笔為你收集整理的Win7下搭建外网环境的SVN服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: /deep/使用方式方式;/deep/无
- 下一篇: Xcode 8带来的新特性和坑