SVN入門介紹如何創建版本庫
上節我們講到SVN入門中SVN服務器端配置,這節我們繼續介紹,另外介紹一下SVN建立版本庫問題,看完本文SVN入門你肯定有不少收獲,希望本文能教會你更多東西。
2.4Windows下的svnserve+ssh配置
需要使用Cygwin來配置ssh,此處略,詳情可參考http://tortoisesvn.net/node/156
2.5&2.6基于Apache服務器的SVN配置
概述
Apache的http服務器是一個subversion可以利用的“重型”網絡服務器,通過一個自定義模塊,httpd可以讓SVN版本庫通過WebDAV/DeltaV協議在客戶端前可見。可以將瀏覽器指向版本庫的URL,無需安裝SVN客戶端就可以瀏覽內容。
基于Apache的SVN需要兩個包的四個部分:Apachehttpd2.0及其中包含的mod_davDAV模塊,Subversion及與之一起發布的mod_dav_svn模塊。有了上述組件之后,配置步驟一般如下
1)配置好http2.0,并且使用mod_dav啟動
2)為mod_dav安裝mod_dav_svn插件
3)配置httpd.conf來發布版本庫。SVN入門介紹Linux下基于APache的SVN服務器配置
2.5Linux下基于APache的SVN服務器配置
(參考http://www.123shang.cn/blog/?p=53)
(參考“ubuntu下svn+apache版本管理服務器配置”)
2.5.1安裝aphache
$sudoapt-getinstallapache2#安裝apache
$sudoapt-getinstalllibapache2-svn#安裝相關組件
$sudoapt-getinstallsubversion#安裝svn
安裝完畢后啟動apache
$/usr/local/apache/bin/apachectl–kstart
——用瀏覽器查看http://localhost/,得到itworks,說明apache已經配置成功了。
2.5.2創建版本庫(見第三節)
2.5.3添加用戶并設置密碼文件
版本庫的密碼文件,一般命名為PasswdFile,由用戶通過命令創建,里面保存授權用戶的用戶名和MD5加密后的密碼。創建密碼文件,密碼文件保存在版本庫文件目錄下,在終端通過下面的命令創建密碼文件:
$htpasswd-c/etc/svn/passwordfileusername
passwordfile密碼文件名稱,可以由用戶自行命名
username你希望添加的用戶名,比如zhangsan,lisi,wangwu
-c用來創建密碼文件
按提示輸入密碼,添加成功后會提示adduserusername,然后可以再繼續添加第二個用戶。
$htpasswd/etc/svn/passwordfileseconduser
2.5.4httpd.conf文件修改
conf文件正常安裝的話在etc/apache2/目錄下,雙擊打開進行編輯,添加以下內容:
LoadModuledav_svn_modulemodules/mod_dav_svn.so加載mod_dav_svn模塊
LoadModuleauthz_svn_module/usr/lib/apache2/modules/mod_authz_svn.so加載mod_anthz.svn模塊
- <Location/vcard>
- DAVsvn
- SVNPath/home/bb/svn/vcard/指明版本庫的路徑
- AuthTypeBasic認證類型為基本認證
- AuthName"SVNrepos"認證名稱,將在IE界面彈出一個對話框,其標題就是SVNrepos
- AuthUserFile/home/bb/svn/vcard/VcardPasswdFile加載密碼文件,訪問版本庫用戶的文件,用apache的htpasswd命令生成
- #AuthzSVNAcessFile//home/bb/svn//vcard/accesspolicy訪問版本庫權限的文件
- #satisfyAny
- Requirevalid-user要求驗證用戶,即不能匿名訪問;如果沒有這個語句,則只能第一個用戶可以訪問新建庫
- </Location>
保存文件退出,重新啟動apache
#/usr/local/apache/bin/apachectl–krestart
測試:
$svncheckouthttp://localhost/svn。下面我們看一下SVN入門中Windows下基于APache的SVN服務器配置。
2.6Windows下基于APache的SVN服務器配置
2.6.1下載安裝Apache
APache:http://httpd.apache.org/download.cgi
——如果你將Apache安裝成一個服務,它將以本地system帳戶來運行。為Apache創建一個單獨的用戶來運行它將會更安全一些。
——請確保運行Apache的用戶有版本庫的完全訪問權限(右鍵版本庫目錄->屬性->安全)。要不然,用戶將無法提交他們的更改。
——就算Apache以本機system來運行,你也要設置它能完全讀寫版本庫目錄。
——如果沒有為Apache配置這個許可,用戶將會得到"禁止訪問"的錯誤信息,在Apache的錯誤日志中表現為錯誤500。
2.6.2配置Subversion
使用Windwos資源管理器,來到Subversion的安裝目錄(通常是c:\programfiles\Subversion),找到文件httpd/mod_dav_svn.so和mod_authz_svn.so,復制這些文件到Apache的模塊目錄(通常是c:\programfile\apachegroup\apache2\modules)。
2.6.3配置httpd.conf文件
路徑通常為c:\programfiles\apachegroup\apache2\conf\httd.conf),修改以下內容:
去掉以下兩行的注釋號“#”:
#LoadModuledav_fs_modulemodules/mod_dav_fs.so
#LoadModuledav_modulemodules/mod_dav.so
在LoadModule節的最后添加以下兩行:
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
文件末尾添加以下行,讓Apache知道哪個URL將被Subversion使用:
- <Location/svn>
- DAVsvn
- SVNParentPathD:\SVN
- AuthTypeBasic
- AuthName"Subversionrepositories"
- AuthUserFileD:\passwd
- #AuthzSVNAccessFileD:\svnaccessfile
- Requirevalid-user
- </Location>
——這樣配置表示:你所有的版本庫將位于D:\SVN目錄下,要訪問你的版本庫可以使用這樣的URL:http://MyServer/svn/,訪問權限將由passwd文件中的用戶名/密碼來限制。
要創建passwd文件,可以打開命令行,將當前目錄切換到apache2目錄,輸入命令:
c:\programfiles\apachegroup\apache2>bin\htpasswd-cpasswd<username>
重啟Apache服務。
使用瀏覽器測試。下面我們介紹一下SVN入門中關于建立版本庫問題。
三、建立版本庫
在前面的服務器配置上我們通常假設已經建立了版本庫,這是為了避免在每種配置中重復贅述這種操作,因此把它獨立出來講。
版本庫創建完畢后會在目錄下生成若干個文件和文件夾:
dav目錄是提供給Apache與mod_dav_svn使用的目錄,讓它們存儲內部數據;
db目錄就是所有版本控制的數據文件;hooks目錄放置hook腳本文件的目錄;
locks用來放置Subversion文件庫鎖定數據的目錄,用來追蹤存取文件庫的客戶端;
format文件是一個文本文件,里面只放了一個整數,表示當前文件庫配置的版本號。
3.1Linux下創建版本庫
版本庫有兩種數據存儲格式:BerkeleyDB和FSFS,推薦選用FSFS格式,具體可以查閱參考資料了解二者的區別。
創建版本庫時,在終端運行如下命令:
#運行創建版本庫的命令,指定數據存儲為FSFS,如果要指定為BerkeleyDB,則將fsfs替換為bdb
$svnadmincreate--fs-typefsfs/etc/svn/repos創建版本庫,運行這個命令后,我們就可以看到一個版本庫應有的文件
更改版本庫的訪問權限
$sudomkdir/home/svn
$cd/home/svn
$sudomkdirmyproject
前面三條命令用于創建版本庫目錄,如果已經建立,就可以省略掉;后面三條用于修改權限
$sudochown-Rwww-datamyproject
$sudochgrp-Rsubversionmyproject
$sudochmod-Rg+rwsmyproject這條命令允許用戶對版本庫進行讀寫操作,即可以更新,可以提交
3.2Windows下創建版本庫
可以使用TortoiseSVN圖形化的完成這一步,在目錄E:subversionrepository下"右鍵->TortoiseSVN->CreateRepositoryhere...“,然后可以選擇版本庫模式,使用默認即可,然后就創建了一系列目錄和文件。
[Tips]如果下載的是setup.exe版本,安裝程序安裝后會自動設置系統變量,如果下載的是zip版就需要手動設置系統變量.
也可以使用命令行來創建:
C:\>svnadmincreateF:\svn\。本節介紹SVN入門完畢,請關注本節其他相關報道。
【編輯推薦】