一 下載工具
1. subversion-1.6.17.tar.gz2. subversion-deps-1.6.17.tar.gz
二 解壓兩個包:
1.在此之前,我已經建立了一個使用者svnroot專門用來安裝管理svn的,就解壓在/home/root/目錄下
tar -xzvf subversion-1.6.17.tar.gztar -xzvf subversion-deps-1.6.17.tar.gz
2. 編譯安裝
./configure --prefix=/home/svnroot/subversion --without-berkeley-db//prefix指定安裝的目錄,without-berkeley-db表明不使用berkeley資料庫//在這一步有可能不成功,是因為有一些依賴的軟體沒裝,具體見下面“遇到的問題”makemake install
3.添加環境變數
可以在/etc/profile中添加exprot PATH=$PATH:/home/svnroot/subversion/bin4.查看是否安裝成功/home/svnroot/subversion/bin/svnserve --version//如果出現SVN的版本則證明安裝成功
三 建立倉庫
1. 建立目錄
mkdir -p /home/svnroot/svndata/repos1加上參數P,是如果沒有父目錄則自動建立注意: /home/svnroot/svndata在這裡將是所有倉庫的根目錄,repos1是其中的一個倉庫。
2. 建立倉庫
svnadmin create /home/svnroot/svndata/repos1這裡使用SVN將repos1建立為倉庫。則在repos1檔案夾裡會產生一系列對於repos1倉庫相應的設定檔
四 配置倉庫
1. 查看建立倉庫後的檔案
進入/svndata/repos1/conf,會發現有幾個設定檔
2. 修改svnserve.conf
vi svnserve.conf開啟這個設定檔,可以看到很多配置項已經注釋掉了,只需要按下面這幾項修改就可以了[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db=authz
3. 目錄控制檔案authz (or叫許可權控制檔案)
vi authz預設是沒有配置的,要參照下面樣本來配置[groups]admin = svnadmin[repos1:/]@admin = rwsvnadmin = rw上面的配置許可權控制檔案的配置格式如下:[groups]<使用者組名> = <使用者1>,<使用者2>, ……[<版本庫>:/項目/目錄]@<使用者組名> = <許可權><使用者名稱> = <許可權>其中,方框號內部分可以有多種寫法:/,表示根目錄及以下。根目錄是svnserve啟動時指定的,我們指定為/home/svnadmin/svndata。這樣,/就是表示對全部版本庫設定許可權。repos1:/,表示對版本庫1設定許可權repos2:/occi,表示對版本庫2中的occi項目設定許可權repos2:/occi/aaa,,表示對版本庫2中的occi項目的aaa目錄設定許可權許可權主體可以是使用者組、使用者或*,使用者組在前面加@,*表示全部使用者。許可權可以是w、r、wr和空,空表示沒有任何許可權。
4. 修改使用者密碼檔案passwd
vi passwd預設也是沒有配置任何使用者的,可按下面配置樣本配置[users]svnadmin = 123456使用者密碼的配置格式:[users]<使用者1> = <密碼1><使用者2> = <密碼2>注意:這裡的設定檔,除了注釋外每行都必須頂行,否則又會報錯了。
五 啟動SVN
svnserve -d -r /home/svnadmin/svndata-d表示在後台運行,-r表示……注意:這裡是/home/svnadmin/svndata,並非/home/svnadmin/svndata/repos1。這是SVN使所有倉庫根目錄都生效的命令,並非某個倉庫。這裡必須注意。
六 基本測試
svn co svn://192.168.6.74/repos1checkout的時候,會要求輸入使用者名稱密碼,只有配置了的使用者才能驗證通過
問題匯總:
1.configure: error: no XML parser was found: expat or libxml 2.x required
錯誤提示需要安裝expat(下載expat2.tar.gz)cd /usr/localtar -xvzf expat2.tar.gzcd expat2./configuremakemake install
2.configure: error: We require OpenSSL; try --with-openssl
錯誤提示需要安裝openssl,所以我就安裝了一個openssl,安裝方法如下:cd /usr/localtar -zxvf openssl-1.0.0a.tar.gzcd openssl-1.0.0a./config./config -tmake dependmakemake testmake instal安裝之後會在/usr/local下產生一個ssl目錄,配置SVN時加上openssl路徑./configure --prefix=/home/svnadmin/subversion --without-berkeley-db --with-openssl=/usr/local/ssl
3.configure: error: subversion requires zlib
錯誤提示需要安裝zlib下載zlb:http://zlib.net/cd /usr/localtar -xvzf zlib-1.2.5.tar.gzcd zlib-1.2.5./configuremakemake install
4.svn checkout https://xxx.xxx.xxx/
svn: SSL is not supported從網上查了一下,說是在執行./configure 時要加上--with-ssl ./configure --with-openssl=/usr/local/ssl --with-zlib=/usr/local/zlib --with-ssl --with-libs=/usr/local/ssl