Linux中搭建SVN伺服器

2021-06-21 15:01:26 字數 4099 閱讀 4127

1. subversion-1.6.17.tar.gz

2. subversion-deps-1.6.17.tar.gz

二 解壓兩個包:

1.在此之前,我已經建立了乙個使用者svnroot專門用來安裝管理svn的,就解壓在/home/root/目錄下

tar -xzvf  subversion-1.6.17.tar.gz

tar -xzvf subversion-deps-1.6.17.tar.gz

2. 編譯安裝

./configure --prefix=/home/svnroot/subversion  --without-berkeley-db

//prefix指定安裝的目錄,without-berkeley-db表明不使用berkeley資料庫

//在這一步有可能不成功,是因為有一些依賴的軟體沒裝,具體見下面「遇到的問題」

make

make install

3.新增環境變數

可以在/etc/profile中新增

exprot path=$path:/home/svnroot/subversion/bin

4.檢視是否安裝成功

/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 = none

auth-access = write

password-db = passwd

authz-db=authz

3. 目錄控制檔案authz (or叫許可權控制檔案)

vi authz

預設是沒有配置的,要參照下面示例來配置

[groups]

admin = svnadmin

[repos1:/]

@admin = rw

svnadmin = 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:

checkout的時候,會要求輸入使用者名稱密碼,只有配置了的使用者才能驗證通過

問題彙總:

1.configure: error: no xml parser was found: expat or libxml 2.x required

cd /usr/local

tar -xvzf expat2.tar.gz

cd expat2

./configure

make

make install

2.configure: error: we require openssl; try --with-openssl

錯誤提示需要安裝openssl,所以我就安裝了乙個openssl,安裝方法如下:

cd /usr/local

tar -zxvf openssl-1.0.0a.tar.gz

cd openssl-1.0.0a

./config

./config -t

make depend

make

make test

make 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

cd /usr/local

tar -xvzf zlib-1.2.5.tar.gz

cd zlib-1.2.5

./configure

make

make install

4.svn checkout

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./usr/local/ssl/lib/libssl.a: could not read symbols: bad value
加上–without-serf
./configure --prefix=/home/svnadmin/subversion --without-berkeley-db --with-openssl=/usr/local/ssl -without-serf

linux 搭建SVN伺服器。

1 根據subversion 的 configure 時的引數需要,新增 sqlite zlib 等 包 這些要在subversion之前安裝,2 裝httpd 3 再裝 subversion 在裝 subversion時 make install 出錯 如下 error while loading...

Linux搭建SVN 伺服器

沈小然 日期 2014年8 月5日 svn客戶端 tortoisesvn yum install subversion 1.新建乙個目錄用於儲存 svn所有檔案 mkdir svn 2.新建乙個資源倉庫 svnadmin create svn project ls svn project confd...

Linux搭建SVN伺服器

之前搭建過一次,沒什麼難度,但是後來出了點問題,就沒再去用,這次重新搭建,遇到很多坑,等我這次排完坑,也對這個版本管理工具有了比較深入的了解,特此寫一篇文章,記錄一下。我的環境為centos 6.5 64位。1 先安裝啊。一條簡單的命令 yum y install subversion 2 建立乙個...