淺析如何搭建SVN服務器
本節講解一下搭建SVN服務器的方法,屬于最簡單的方法,適合初學,下面我們就來看一下搭建SVN服務器的具體步驟吧。
我初進CM行當,深切了解一點不了解SVN時搭建SVN服務器的痛苦,所以我覺得網上的一些資料過于深奧,對剛入門的來說,不太能明白,所以能用簡單的方法達到一樣的效果,何樂而不為呢。
我從拿到一臺機器開始說,當然這臺機器裝有windows的操作系統。
1、先安裝apache,我采用的是apache_2.0.59-win32-x86-no_ssl.msi,安裝過程中只有一個頁面是需要填寫的,但是我安裝自己機器的時候,它默認的按照我們公司的實際情況已經給填寫好了,所以我就沒有管它,不知道你們安裝的時候也是不是這種情況,還有這個為什么我還不太清楚。apache就默認路徑就行。端口號默認選80,但如果沖突,你可以上C:\ProgramFiles\ApacheGroup\Apache2\conf地下的http.conf里面找listen:這句話,改成81就行。但一般新裝系統的機器是沒有這種情況產生的,但是比如說你新裝svn服務器所在機器的系統是為了擴充硬盤的問題,那你就得注意,如果以前項目組使用的是81端口,那裝完apache以后手動把listen:改成81,這樣的話方便項目組使用,盡量讓他們的操作沒有絲毫變化。最后驗證apache安裝是否成功,可以用ie訪問http://localhost看出現已經配置好的網站,就說明你安裝成功了,如果沒成功重裝的話你注意卸載的時候把安裝目錄也全部刪除了,有時候刪除不了,你可以等會兒,或者重啟一下機器就行了。
2、搭建SVN服務器時安裝svn服務器端,我采用的是svn-1.4.0-setup.exe,也許存在一個配套的問題,當然我提供的那倆裝完了是絕對沒有沖突的,svn服務器端的安裝就采用默認方式就行。屆時apache跟svn服務器端都安裝在了C:\ProgramFiles底下。
3、搭建SVN服務器時安裝svn客戶端,也是一路默認就行,最后你可以裝個LanguagePack-1.4.0.7195-RC1-win32-zh_CN.exe漢化工具,直接雙擊它安裝,最后在隨便一個空地右鍵,選小烏龜,再選設置,常規設置里把語言選成中文就行。使用中文的話更方便一些,但也看個人喜好了。
4、新建版本庫,當然位置隨你的方便選,比如說我建在D盤的根目錄下一個文件夾叫test,然后里面再建一個文件夾叫test1,在test1上點右鍵小烏龜,選在此創建版本庫,注意一定得是個空文件夾,而且這個步驟也可以用個命令來實現,但我覺得能不用命令的就不用命令那么麻煩了。而且我這里嵌套了兩層目錄,完全可以再test底下直接創建版本庫,只是因為可以創建多個版本庫在test下,跟test1同級。同時在test文件夾里創建一個passwd文件,沒有后綴名那種的。暫時先為空吧,等以后用到的時候再詳細說怎么用這個文件,同樣在test1文件夾里創建一個access文件,也是沒有后綴名那種的,也暫時為空。
5、開始配置apache,進入Subversion\bin的目錄,將mod_dav_svn.so和mod_authz_svn.so、libdb44.dll拷貝到apachegroup\apache2\modules目錄。打開apachegroup\apache2\conf\httd.conf,掉以下行的注釋符#:#LoadModuledav_fs_modulemodules/mod_dav_fs.so,然后在LoadModule節的最后添加以下兩行:
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so,最后在配置文件的最后加上
- <Location/test1>
- DAVsvn
- SVNPathD:\test\test1
- AuthTypeBasic
- AuthName"Subversionrepositories"
- AuthUserFileD:\test\passwd
- AuthzSVNAccessFileD:\test\test1\access
- Requirevalid-user
- </Location>
以上的參數都是根據上面我建的實際情況填的,大家可以根據各自的實際情況填寫這些參數。這段以<Location></Location>代碼,以后如果建了第二個版本庫,比如跟test1同級的test2,你就再加一段test2的<Location></Location>就行,但是注意,test1跟test2可以公用一個passwd文件,所以關于passwd文件的地址永遠是一樣的。
6、搭建SVN服務器時創建用戶,即使passwd文件里的內容不空了。這時候使用命令,cmd打開dos窗口,cd切換目錄到C:\ProgramFiles\ApacheGroup\Apache2\bin,打htpasswd-cD:\test\passwdzy,回車讓輸入密碼兩次。這里zy是我取的用戶名。這時候你打開passwd文件就發現里面就寫的東西了,除了zy不是亂碼外,別的都是亂碼,因為密碼保護的問題吧。因為是第一次創建用戶就用-c,以后再增加就不能用-c了,再要用的話我發現就去掉以前所有的用戶了,你要增加用-m,刪除用戶用-D,給人修改密碼也跟增加的操作一樣。所以以后每次有人讓你哪個哪個項目加一個人的權限,你可以先看一下passwd里有沒有他的用戶,直接查名字就行,如果沒有再給他-m,有就直接針對那個項目改access文件就行。我在這里先就上面那樣創建一個叫zy的用戶。
7、設置每個項目的access文件,記事本打開編輯,
[groups]
scm=zy
all=zy
[/]
@scm=rw
@all=r
最簡單的就寫成這樣,當然根據項目的實際情況分不同的組,加很多的人,而且還會有很多級的文件夾,每個文件夾下規定每個組的權限。注意這里千萬不要出錯,比如說你上面的組叫cm,你下面寫成了@scm,你就發現所有人都訪問不了庫了。而且還有一個需要注意的就是如果你建的庫里將來有中文名字的目錄,你就得用EmEditor來編輯這個access文件,保存類型:AllFiles(*.*);Encoding選擇UTF-8格式;AddaUnicodeSignature(BOM)不選擇這個選項;ReturnMethod選擇:NoChange;直接替換原來的即可。我不管這個為什么,只要這么操作就行。
8、搭建SVN服務器時設置完了這些以后,你建一個空文件夾,把庫checkout下來,選中這個空文件夾點檢出,直接目的地址就是這個文件夾,上面的源地址,如果是本機你操作的話可以輸入http://localhost/test1,如果不是本機localhost可以換成那臺機器的ip地址,如果端口號是80就那樣,如果是81的話還得在ip地址后加上:81,提示輸入用戶名密碼,你這時候用zy用戶即可,然后可以在這個文件夾里寫東西,比如說初始建庫的時候可以把空目錄傳上去,就是用客戶端提交,就是把一堆空目錄放到這個空文件及里,點空文件夾郵件提交,選中所有新加的東西點確定。這樣差不多操作都完了,我就每次都用這樣的簡單操作,至于有些說要改什么版本庫文件夾底下的svnserve.conf、authz、passwd等文件,估計也能實現統一的效果,但我覺得太繁瑣了,我喜歡我的方法。搭建SVN服務器問題講解完畢。
【編輯推薦】
- 技術指導:Subversion安裝配置(Windows)之詳解
- SVN服務器搭建在Linux下如何進行專家答疑
- 深度剖析:Subversion服務器安裝配置
- MyEclipse中SVN安裝配置新手指南
- 技術指導:詳解RedHat系統下SVN服務器搭建過程