Linux中搭建SVN伺服器

來源:互聯網
上載者:User

一 下載工具 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.