Windows下SVN服務(wù)器搭建方法整理(apache)
更新時間:2011年11月29日 15:03:13 作者:
本文向大家介紹一下Windows下SVN服務(wù)器如何搭建,主要包括軟件下載,服務(wù)器和客戶端安裝,配置用戶和權(quán)限,運行獨立服務(wù)器和初始化導(dǎo)入等內(nèi)容
本節(jié)和大家談?wù)刉indows下SVN服務(wù)器搭建問題,在這里拿出來和大家分享一下,希望對大家有用。
1,軟件下載
Windows下SVN服務(wù)器搭建,下載Subversion服務(wù)器程序。到官方網(wǎng)站的下載二進制安裝文件,來到二進制包下載部分,找到WindowsNT,2000,XPand2003部分,然后選擇"thisdirectory",這樣我們可以看到許多下載的內(nèi)容,目前可以下載svn-1.4.0-setup.exe。下載Subversion的Windows客戶端TortoiseSVN。TortoiseSVN是擴展WindowsShell的一套工具,可以看作Windows資源管理器的插件,安裝之后Windows就可以識別Subversion的工作目錄。官方網(wǎng)站是TortoiseSVN,下載方式和前面的svn服務(wù)器類似,在Download頁面的我們可以選擇下載的版本,目前的最高穩(wěn)定版本的安裝文件為TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2,服務(wù)器和客戶端安裝
Windows下SVN服務(wù)器搭建中,服務(wù)器安裝,直接運行svn-1.4.0-setup.exe,根據(jù)提示安裝即可,這樣我們就有了一套服務(wù)器可以運行的環(huán)境。安裝TortoiseSVN,同樣直接運行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安裝即可,不過最后完成后會提示是否重啟,其實重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實際功能無關(guān),這里為了立刻看到好的效果,還是重新啟動機器。
3,建立版本庫(Repository)
運行Subversion服務(wù)器需要首先要建立一個版本庫(Repository),可以看作服務(wù)器上存放數(shù)據(jù)的數(shù)據(jù)庫,在安裝了Subversion服務(wù)器之后,可以直接運行,如:svnadmincreateE:\svndemo\repository就會在目錄E:\svndemo\repository下創(chuàng)建一個版本庫。我們也可以使用TortoiseSVN圖形化的完成這一步:在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->CreateRepositoryhere...“,然后可以選擇版本庫模式,這里使用默認(rèn)即可,然后就創(chuàng)建了一系列目錄和文件。
4,配置用戶和權(quán)限
Windows下SVN服務(wù)器搭建,來到E:\svndemo\repository\conf目錄,修改svnserve.conf:
#[general]
#password-db=passwd
改為:
[general]
password-db=passwd然后修改同目錄的passwd文件,去掉下面三行的注釋:
#[users]
#harry=harryssecret
#sally=sallyssecret
最后變成:
[users]
harry=harryssecret
sally=sallyssecret
5,運行獨立服務(wù)器
在任意目錄下運行:svnserve-d-rE:\svndemo\repository我們的服務(wù)器程序就已經(jīng)啟動了。注意不要關(guān)閉命令行窗口,關(guān)閉窗口也會把svnserve停止。
在windows服務(wù)里運行:sccreatesvnservicebinPath="D:\ProgramFiles\Subversion\bin\svnserve.exe--service-rE:\SVN"DisplayName="SvnService"depend=Tcpipstart=auto
6,初始化導(dǎo)入
Windows下SVN服務(wù)器搭建,來到我們想要導(dǎo)入的項目根目錄,在這個例子里是E:\svndemo\initproject,目錄下有一個readme.txt文件:右鍵->TortoiseSVN->Import...
URLofrepository輸入“svn://localhost/”ok完成之后目錄沒有任何變化,如果沒有報錯,數(shù)據(jù)就已經(jīng)全部導(dǎo)入到了我們剛才定義的版本庫中。
需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內(nèi)容就是“svn://133.96.121.22/”。
兩種方法實現(xiàn)SVN搭建測試服務(wù)器
本節(jié)和大家學(xué)習(xí)一下如何利用SVN搭建測試服務(wù)器,常用的有兩種方法,這里就向大家簡單介紹一下,歡迎大家能和我一起學(xué)習(xí)SVN搭建測試服務(wù)器的方法。
在正規(guī)的團隊開發(fā)流程中,測試服務(wù)器測試是必不可少的一個環(huán)節(jié),如何簡單快捷的部署測試服務(wù)器將是本文的重點。本文的實際環(huán)境是CentOS+PHP+MySQL+SVN,將通過兩種不同的途徑來實現(xiàn)部署測試服務(wù)器的最終目的。我們來看一下SVN搭建測試服務(wù)器的第一種方法。
第一種,post-commit
post-commit本身是SVN系列鉤子中的一個,是為了更方便對SVN使用中的常見操作進行處理,建立測試服務(wù)器的步驟如下
在hooks目錄,創(chuàng)建post-commit文件,并將其內(nèi)容定義為類似如下
#!/bin/sh
exportLANG=en_US.UTF-8
svncheckout--usernamekimi--passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net
chownwww:www/wwwroot/projects.ismole.net-Rf
說明:
1.#!/bin/sh說明是執(zhí)行shell命令
2.exportLANG=en_US.UTF-8是為了解決svnpostcommit中文亂碼,設(shè)置本地化編碼。不過SVN默認(rèn)是UTF-8編碼。如果字符集符合并且不設(shè)置將會出現(xiàn)錯誤,而執(zhí)行不成功,錯誤標(biāo)識為svn:Can'tconvertstringfromnativeencodingto‘UTF-8′
3.svncheckout–usernamekimi–passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net執(zhí)行SVN檢出操作
4.chownwww:www/wwwroot/projects.ismole.net-Rf更改文件夾屬主為適合WebServer的。
里面原有的代碼全部注釋掉.這里可以執(zhí)行shell命令,每次commit完成后都會調(diào)用此文件。我們來看一下SVN搭建測試服務(wù)器的第二種方法介紹。
第二種,PHP檢出SVN
<?php
header("Cache-Control:no-cache,must-revalidate");
$handle=popen('svncheckout--usernamekimi--passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net','r');
$read=stream_get_contents($handle);
echo"<pre>";
printf($read);
echo"</pre>"
pclose($handle);
?>
其實這種方式只是利用PHP來執(zhí)行l(wèi)inux命令,不過多描述。參考《PHP監(jiān)控linux服務(wù)器負(fù)載》:http://www.ccvita.com/390.html
綜合以上兩種方式,其目的都是通過將SVN檢出,并放置在相應(yīng)的web目錄下來實現(xiàn)的。這兩種相互比較而言,post-commit更為簡單快捷,無需更多的操作,但是對權(quán)限控制力度很小,只要有SVN的提交權(quán)限就有部署測試服務(wù)器的權(quán)限;PHP方式相比麻煩一些,但是對用戶權(quán)限的控制可以專門定制相應(yīng)的程序來實現(xiàn),幾乎可以實現(xiàn)任何角色對權(quán)限的控制。
在實際的使用過程中,我們目前對應(yīng)用的APP調(diào)試以及合作性質(zhì)的研發(fā)采用第一種方式;如果對SVN需要比較多權(quán)限控制的話,推薦采用第二種,可以囊括測試,部署,上線等各個環(huán)節(jié)。在和新浪的一個合作中,采用這種異地開發(fā)方式。本節(jié)關(guān)于SVN搭建測試服務(wù)器的內(nèi)容講解完畢,請關(guān)注本節(jié)其他相關(guān)報道。
1,軟件下載
Windows下SVN服務(wù)器搭建,下載Subversion服務(wù)器程序。到官方網(wǎng)站的下載二進制安裝文件,來到二進制包下載部分,找到WindowsNT,2000,XPand2003部分,然后選擇"thisdirectory",這樣我們可以看到許多下載的內(nèi)容,目前可以下載svn-1.4.0-setup.exe。下載Subversion的Windows客戶端TortoiseSVN。TortoiseSVN是擴展WindowsShell的一套工具,可以看作Windows資源管理器的插件,安裝之后Windows就可以識別Subversion的工作目錄。官方網(wǎng)站是TortoiseSVN,下載方式和前面的svn服務(wù)器類似,在Download頁面的我們可以選擇下載的版本,目前的最高穩(wěn)定版本的安裝文件為TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2,服務(wù)器和客戶端安裝
Windows下SVN服務(wù)器搭建中,服務(wù)器安裝,直接運行svn-1.4.0-setup.exe,根據(jù)提示安裝即可,這樣我們就有了一套服務(wù)器可以運行的環(huán)境。安裝TortoiseSVN,同樣直接運行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安裝即可,不過最后完成后會提示是否重啟,其實重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實際功能無關(guān),這里為了立刻看到好的效果,還是重新啟動機器。
3,建立版本庫(Repository)
運行Subversion服務(wù)器需要首先要建立一個版本庫(Repository),可以看作服務(wù)器上存放數(shù)據(jù)的數(shù)據(jù)庫,在安裝了Subversion服務(wù)器之后,可以直接運行,如:svnadmincreateE:\svndemo\repository就會在目錄E:\svndemo\repository下創(chuàng)建一個版本庫。我們也可以使用TortoiseSVN圖形化的完成這一步:在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->CreateRepositoryhere...“,然后可以選擇版本庫模式,這里使用默認(rèn)即可,然后就創(chuàng)建了一系列目錄和文件。
4,配置用戶和權(quán)限
Windows下SVN服務(wù)器搭建,來到E:\svndemo\repository\conf目錄,修改svnserve.conf:
復(fù)制代碼 代碼如下:
#[general]
#password-db=passwd
改為:
[general]
password-db=passwd然后修改同目錄的passwd文件,去掉下面三行的注釋:
#[users]
#harry=harryssecret
#sally=sallyssecret
最后變成:
[users]
harry=harryssecret
sally=sallyssecret
5,運行獨立服務(wù)器
在任意目錄下運行:svnserve-d-rE:\svndemo\repository我們的服務(wù)器程序就已經(jīng)啟動了。注意不要關(guān)閉命令行窗口,關(guān)閉窗口也會把svnserve停止。
在windows服務(wù)里運行:sccreatesvnservicebinPath="D:\ProgramFiles\Subversion\bin\svnserve.exe--service-rE:\SVN"DisplayName="SvnService"depend=Tcpipstart=auto
6,初始化導(dǎo)入
Windows下SVN服務(wù)器搭建,來到我們想要導(dǎo)入的項目根目錄,在這個例子里是E:\svndemo\initproject,目錄下有一個readme.txt文件:右鍵->TortoiseSVN->Import...
URLofrepository輸入“svn://localhost/”ok完成之后目錄沒有任何變化,如果沒有報錯,數(shù)據(jù)就已經(jīng)全部導(dǎo)入到了我們剛才定義的版本庫中。
需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內(nèi)容就是“svn://133.96.121.22/”。
兩種方法實現(xiàn)SVN搭建測試服務(wù)器
本節(jié)和大家學(xué)習(xí)一下如何利用SVN搭建測試服務(wù)器,常用的有兩種方法,這里就向大家簡單介紹一下,歡迎大家能和我一起學(xué)習(xí)SVN搭建測試服務(wù)器的方法。
在正規(guī)的團隊開發(fā)流程中,測試服務(wù)器測試是必不可少的一個環(huán)節(jié),如何簡單快捷的部署測試服務(wù)器將是本文的重點。本文的實際環(huán)境是CentOS+PHP+MySQL+SVN,將通過兩種不同的途徑來實現(xiàn)部署測試服務(wù)器的最終目的。我們來看一下SVN搭建測試服務(wù)器的第一種方法。
第一種,post-commit
post-commit本身是SVN系列鉤子中的一個,是為了更方便對SVN使用中的常見操作進行處理,建立測試服務(wù)器的步驟如下
在hooks目錄,創(chuàng)建post-commit文件,并將其內(nèi)容定義為類似如下
復(fù)制代碼 代碼如下:
#!/bin/sh
exportLANG=en_US.UTF-8
svncheckout--usernamekimi--passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net
chownwww:www/wwwroot/projects.ismole.net-Rf
說明:
1.#!/bin/sh說明是執(zhí)行shell命令
2.exportLANG=en_US.UTF-8是為了解決svnpostcommit中文亂碼,設(shè)置本地化編碼。不過SVN默認(rèn)是UTF-8編碼。如果字符集符合并且不設(shè)置將會出現(xiàn)錯誤,而執(zhí)行不成功,錯誤標(biāo)識為svn:Can'tconvertstringfromnativeencodingto‘UTF-8′
3.svncheckout–usernamekimi–passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net執(zhí)行SVN檢出操作
4.chownwww:www/wwwroot/projects.ismole.net-Rf更改文件夾屬主為適合WebServer的。
里面原有的代碼全部注釋掉.這里可以執(zhí)行shell命令,每次commit完成后都會調(diào)用此文件。我們來看一下SVN搭建測試服務(wù)器的第二種方法介紹。
第二種,PHP檢出SVN
復(fù)制代碼 代碼如下:
<?php
header("Cache-Control:no-cache,must-revalidate");
$handle=popen('svncheckout--usernamekimi--passwordpasswordsvn://10.0.0.8/projects//wwwroot/projects.ismole.net','r');
$read=stream_get_contents($handle);
echo"<pre>";
printf($read);
echo"</pre>"
pclose($handle);
?>
其實這種方式只是利用PHP來執(zhí)行l(wèi)inux命令,不過多描述。參考《PHP監(jiān)控linux服務(wù)器負(fù)載》:http://www.ccvita.com/390.html
綜合以上兩種方式,其目的都是通過將SVN檢出,并放置在相應(yīng)的web目錄下來實現(xiàn)的。這兩種相互比較而言,post-commit更為簡單快捷,無需更多的操作,但是對權(quán)限控制力度很小,只要有SVN的提交權(quán)限就有部署測試服務(wù)器的權(quán)限;PHP方式相比麻煩一些,但是對用戶權(quán)限的控制可以專門定制相應(yīng)的程序來實現(xiàn),幾乎可以實現(xiàn)任何角色對權(quán)限的控制。
在實際的使用過程中,我們目前對應(yīng)用的APP調(diào)試以及合作性質(zhì)的研發(fā)采用第一種方式;如果對SVN需要比較多權(quán)限控制的話,推薦采用第二種,可以囊括測試,部署,上線等各個環(huán)節(jié)。在和新浪的一個合作中,采用這種異地開發(fā)方式。本節(jié)關(guān)于SVN搭建測試服務(wù)器的內(nèi)容講解完畢,請關(guān)注本節(jié)其他相關(guān)報道。
相關(guān)文章
IIS W3C日志記錄字段和HTTP狀態(tài)代碼的說明
一般情況下很多朋友都不在意IIS日志,有的是因為購買的虛擬主機不給提供,有的是提供了,但是還必須與服務(wù)器管理員聯(lián)系才能得到。2010-07-07
win2008中設(shè)置計劃任務(wù)執(zhí)行PHP文件的方法
這篇文章主要介紹了win2008中設(shè)置計劃任務(wù)執(zhí)行PHP文件的方法,需要的朋友可以參考下2016-06-06
Win2003+IIS 6.0下啟用壓縮技術(shù)精簡網(wǎng)站體積的方法
本文總結(jié)了如何在IIS中啟用Gzip壓縮. 在半年前的項目中我為網(wǎng)站啟用了Gzip, 今天整理此文主要為了整理自己的知識以便以后忘記時復(fù)習(xí). 另外經(jīng)查看ChinaCache公司提供的CDN也都啟用了Gzip壓縮.2009-09-09
win2003 service pack2 IIS 無法復(fù)制CONVLOG.EXE CONVLOG.EX_問題處理
在安裝的時候出現(xiàn)一個錯誤提示“安裝程序無法復(fù)制文件CONVLOG.EX_”,上網(wǎng)找了下資料,說是在運行-中輸入”esentutl /p %windir%/security/database/secedit.sdb ” 就可以了2011-03-03
Web Deploy發(fā)布網(wǎng)站及常見問題解決方法(圖文)
由于最近恰好入手一臺Windows Server 2008 R2的服務(wù)器,所以周良就在這上面進行了一番測試研究2015-01-01
IIS配置文件的XML格式不正確 applicationHost.config被破壞 恢復(fù)解決辦法
本文主要介紹使用IIS提供的AppCmd.exe的restore功能恢復(fù)applicationHost.config,解決IIS配置文件的XML格式不正確的異常問題。2016-05-05
Windows中利用計劃任務(wù)實現(xiàn)自動備份文件
我們來利用windows系統(tǒng)的計劃任務(wù)來實現(xiàn)數(shù)據(jù)庫的備份,是文件夾copy到固定的文件夾,是把文件夾copy以當(dāng)天日期的自動生成的文件夾,大家可以發(fā)揮下結(jié)合下bat效果更佳2013-01-01
IIS7.5 偽靜態(tài) 腳本映射 配置方法(圖文詳解)
這篇文章主要介紹了IIS7.5 偽靜態(tài) 腳本映射 配置方法,需要的朋友可以參考下2015-09-09

