我初進CM行當,深切了解一點不了解SVN時搭建SVN服務器的痛苦,所以我覺得網上的一些資料過于深奧,對剛入門的來說,不太能明白,所以能用簡單的方法達到一樣的效果,何樂而不為呢。
我從拿到一臺機器開始說,當然這臺機器裝有windows的操作系統。
1、先安裝apache,我采用的是apache_2.0.59-win32-x86-no_ssl.msi,安裝過程中只有一個頁面是需要填寫
的,但是我安裝自己機器的時候,它默認的按照我們公司的實際情況已經給填寫好了,所以我就沒有管它,不知道你們安裝的時候也是不是這種情況,還有這個為什
么我還不太清楚。apache就默認路徑就行。端口號默認選80,但如果沖突,你可以上C:\Program Files\Apache
Group\Apache2\conf地下的http.conf里面找listen:這句話,改成81就行。但一般新裝系統的機器是沒有這種情況產生的,
但是比如說你新裝svn服務器所在機器的系統是為了擴充硬盤的問題,那你就得注意,如果以前項目組使用的是81端口,那裝完apache以后手動把
listen:改成81,這樣的話方便項目組使用,盡量讓他們的操作沒有絲毫變化。最后驗證apache安裝是否成功,可以用ie訪問
http://localhost
看出現已經配置好的網站,就說明你安裝成功了,如果沒成功重裝的話你注意卸載的時候把安裝目錄也全部刪除了,有時候刪除不了,你可以等會兒,或者重啟一下機器就行了。
2、安裝svn服務器端,我采用的是svn-1.4.0-setup.exe,也許存在一個配套的問題,當然我提供的那倆裝完了是絕對沒有沖突
的,svn服務器端的安裝就采用默認方式就行。屆時apache跟svn服務器端都安裝在了C:\Program Files底下。
3、安裝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拷貝到apache group\apache2\modules目錄。打開apache
group\apache2\conf\httd.conf,掉以下行的注釋符#:#LoadModule dav_fs_module
modules/mod_dav_fs.so,然后在LoadModule節的最后添加以下兩行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so,最后在配置文件的最后加上<Location /test1 >
DAV svn
SVNPath D:\test\test1
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:\test\passwd
AuthzSVNAccessFile D:\test\test1\access
Require valid-user
</Location>
以上的參數都是根據上面我建的實際情況填的,大家可以根據各自的實際情況填寫這些參數。這段
以<Location></Location>代碼,以后如果建了第二個版本庫,比如跟test1同級的test2,你就再加一
段test2的<Location></Location>就行,但是注意,test1跟test2可以公用一個passwd文
件,所以關于passwd文件的地址永遠是一樣的。
6、創建用戶,即使passwd文件里的內容不空了。這時候使用命令,cmd打開dos窗口,cd切換目錄到C:\Program
Files\Apache Group\Apache2\bin,打htpasswd -c D:\test\passwd
zy,回車讓輸入密碼兩次。這里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文件,保存類型:All Files(*.*);Encoding選擇UTF-8格式;Add a
Unicode Signature(BOM)不選擇這個選項;Return Method選擇:No
Change;直接替換原來的即可。我不管這個為什么,只要這么操作就行。
8、設置完了這些以后,你建一個空文件夾,把庫checkout下來,選中這個空文件夾點檢出,直接目的地址就是這個文件夾,上面的源地址,如
果是本機你操作的話可以輸入http://localhost/test1,如果不是本機localhost可以換成那臺機器的ip地址,如果端口號是
80就那樣,如果是81的話還得在ip地址后加上:81,提示輸入用戶名密碼,你這時候用zy用戶即可,然后可以在這個文件夾里寫東西,比如說初始建庫的
時候可以把空目錄傳上去,就是用客戶端提交,就是把一堆空目錄放到這個空文件及里,點空文件夾郵件提交,選中所有新加的東西點確定。
這樣差不多操作都完了,我就每次都用這樣的簡單操作,至于有些說要改什么版本庫文件夾底下的svnserve.conf、authz、passwd等文件,估計也能實現統一的效果,但我覺得太繁瑣了,我喜歡我的方法。
有什么不對的請大伙指正,歡迎~
posted on 2009-04-20 12:38
viekie 閱讀(232)
評論(0) 編輯 收藏