一 svn說明<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Subversion是基於APR構建的。APR全稱Apache Portable Runtime Library,是一個獨立的且移植性很好的程式庫,任何應用程式都可以使用它(Apache也是基於APR開發的)。這使得Subversion可以工作在任何可以執行Apache的作業系統上,如windows、Linux、各種BSD、MacOS、NetWare等等。
Subversion 有兩種運行方式,一是可以作為Apache 2.0的一個模組, 以WebDAV/DeltaV協議與外界連通;另外,也可使用Subversion 內建的小型伺服器程式。該程式使用的是內建的通訊協議, 可以很容易地透過SSH以tunnel方式使用。
最簡單的安裝Subversion的方法就是使用其提供的二進位版本(在專案網站上,有RPM、DEB和PORTS等格式的檔案下載)。
訪問svn的方式有 http、https、svn 、svn+ssh等,我們使用https+認證方式。
二 svn伺服器配置(RedHat EL 4 系統)
相關檔案:
rpm包:apr-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0.9.4-24.5.i386.rpm 、apr-util-0.9.4-21.i386.rpm、neon-0.24.7-4.i386.rpm、perl-URI-1.30-4.noarch.rpm、subversion-1.4.6-0.1.el4.rf.i386.rpm、mod_dav_svn-1.4.6-0.1.el4.rf.i386.rpm;
認證工具:ssl.ca.tar; //https訪問認證製作工具
設定檔:ssl.conf //ssl訪問設定檔
subversion.conf //svn認證授權設定檔。
(準備工作,需要安裝smb服務,並將上述檔案都複製到共用目錄中)
1 安裝RedHat EL作業系統到svn庫機器(svnip),安裝成功後,查看httpd、apr、apr-util、neon、perl-URI包是否安裝,
方式:
#rpm -q httpd
#rpm –q apr
#rpm –q apr-util
#rpm –q neon
#rpm –q perl-URI
如果沒有安裝,則需要下載相應的rpm包安裝後再執行以下操作。
並確認http://svnip/ 或https://svnip 可以訪問,即web服務正常運行;
啟動httpd服務service httpd start,嘗試開啟串連
。。。一定要確保https://localhost可以訪問後在進行下列步驟
2 安裝svn軟體
2.1 安裝subversion、mod_dav_svn包;
進入之前設定的smb共項目錄後,執行如下操作
命令 # rpm – ivh subversion-1.4.6-0.1.el4.rf.i386.rpm,
# rpm – ivh mod_dav_svn-1.4.6-0.1.el4.rf.i386.rpm;
2.2 先將/etc/httpd/conf.d/目錄的ssl.conf和subversion.conf檔案做個備份,然後複製檔案ssl.conf和subversion.conf到目錄/etc/httpd/conf.d/,subversion.conf檔案是有關svn庫基本訪問的配置(需根據具體認證選項進行配置)。
進入之前設定的smb共項目錄後,執行如下操作
cp ssl.conf /etc/httpd/conf.d/
cp subversion.conf /etc/httpd/conf.d/
3 建立目錄 /repository
#mkdir /repository
#chmod 777 /repository
3.1 建立svn庫,
# cd /usr/bin
(svnadmin所在目錄/usr/bin/svnadmin)
# ./svnadmin create /repository/test,test就是具體項目庫的名稱,可取任意名字,比如Project1。
3.2 建立授權目錄repository/auth
#cd /repository/
#mkdir auth
#chmod 777 auth
建立授權使用者檔案# htpasswd -c /repository/auth/authfile administrator hello
(注釋:使用者名稱administrator 密碼hello)
#cd /repository/auth/
# htpasswd –b authfile user pass //增加使用者
# htpasswd –D authfile user //刪除使用者
建立授權使用者訪問svn庫的許可權設定檔/repository/auth/auth.conf,格式如下:
(建立組或者使用者權限時,需要頂格寫,中間不要敲空格鍵,否則會導致使用者或組不可用)
[groups] //使用者組定義
harry_and_sally = test,test2 //表示harry_and_sally組有成員test、test2
[test:/] //test倉庫根目錄存取權限配置