Linux配置svn以及svn服務配置方法

來源:互聯網
上載者:User

下面我來介紹兩種Linux下搭建svn以及svn服務配置方法,一種是源碼編譯方法安裝svn,另一種是yum命令模式安裝svn服務,下面我們分別介紹了下。

編譯模式安裝svn方法

1. 採用源檔案編譯安裝。源檔案共兩個,為:

subversion-1.6.1.tar.gz  (subversion 源檔案)
subversion-deps-1.6.1.tar.gz  (subversion依賴檔案)

注意檔案版本必須一致,否則很容易產生各種奇怪的問題.

2. 上傳以上兩個檔案到伺服器上,解壓。解壓命令為:
 
tar xfvz subversion-1.6.1.tar.gz

tar xfvz subversion-deps-1.6.1.tar.gz

3. 解壓後產生 subversion-1.6.1 子目錄,兩個壓縮包解壓後都會自動放到此目錄下,不用手動更改。


4. 進入解壓子目錄:  cd subversion-1.6.1

5. 執行 ./configure --prefix=/usr/local/svn

./configure時會出現以下錯誤:configure: error: We require OpenSSL; try –with-openssl

configure               failed for serf。

這是因為沒有安裝openssl相關包

      openssl官方網址:http://www.openssl.org/

      linux下openssl的安裝:

      wget http://www.openssl.org/source/openssl-1.0.0g.tar.gz


       tar xvzf openssl-1.0.0g.tar.gz
       cd openssl-1.0.0g

      然後:
./config --prefix=/usr/local/ssl shared zlib-dynamic enable-camellia

      然後執行:
make  depend

Make

Make  test

make install

         編輯/etc/ld.so.conf, add to paths /usr/local/ssl/lib(可以直接在/etc/ld.so.conf.d

檔案

     夾下再建立一個.conf檔案,把/usr/local/ssl/lib拷貝到裡面,另外也可以在現有的.conf檔案中

     添加/usr/local/ssl/lib這個路徑,反正ld.so.conf中包含了這個檔案夾下的所有.conf檔案)

            安裝之後會在/usr/local下產生一個ssl目錄,設定環境變數,在/etc/profile的PATH中增

加如下內

 

        容:PATH=/usr/local/ssl/bin:/sbin/:$PATH:/usr/sbin


          export PATH

 

 6.  再進到subversion-1.6.1 再執行 ./configure --prefix=/opt/subversion 進行配置設定並指明

安裝

 

      目錄. 注意prefix前是兩個減號. 預設不帶BDB包, 所以預設使用的是FSFS模式. 若想使用BDB模

式需另外下

 

      載BDB包.建議使用FSFS模式.

 

        configure完成可能會出現:

 

    You don’t seem to have Berkeley DB version 4.0.14 or newer  installed and linked to

APR-UTIL.

 

 We have created Makefiles which  will build without the Berkeley DB back-end; your

repositories

 will useFSFS as the default back-end.  You can find the latest version of Berkeley DB

here:

 

         http://www.oracle.com/technology/software/products/berkeley-db/index.html

 

        你似乎沒有Berkeley DB版本4.0.14或更新版本安裝並連結至四月- util的。我們已建立

Makefile檔案的將建立一個

 

         沒有了Berkeley DB後端,你的版本庫作為預設後端使用FSFS格式。你可以找到最新版本

Berkeley DB的位置。

 

          這個提示可以跳過, 因為不使用BDB儲存。

 

7. 執行 make 編譯.


8. 執行 make install 安裝.

 

 

9. 添加環境變數:


    vi /etc/profile

 

      在檔案最後加入:

   SVNPATH=$PATH:/usr/local/svn/bin

   export SVNPATH

10. 測試SVN是否安裝成功,執行:

                    svnserve --version

        如果顯示版本資訊, 則安裝成功. (如果沒有安裝svnserve,請先安裝apt-get install

subversion)

 

 

以上是在linux上安裝svn伺服器的步驟,下面將介紹svn伺服器配置:

 

 

1. 建立版本庫目錄,建立好的版本庫目錄與安裝目錄不在同級目錄下(可建立多個,建立庫後以下各項

都需

 

    重新設定。注意區別安裝目錄與版本庫目錄,以下講的都是版本庫目錄)


     mkdir –p /opt/svndata/repos

 

2. 建立svn版本庫(與上面目錄對應)


      svnadmin create /opt/svndata/repos

      執行此命令後svn自動在repos目錄下添加必須的設定檔.

 

3. 修改版本庫設定檔


      vi /opt/svndata/repos/conf/svnserve.conf

 

  各參數功能在設定檔的注釋中有說明, 此處配置如下:


[general]

anon-access = none # 使非授權使用者無法訪問

auth-access = write # 使授權使用者有寫入權限

password-db = /opt/svndata/repos/conf/passwd  # 指明密碼檔案路徑

authz-db = /opt/svndata/repos/conf/authz    # 存取控制檔案

realm = /opt/svndata/repos   # 認證命名空間,subversion會在認證提示裡顯示,並且

 

作為憑證緩衝的關鍵字。

其它採用預設配置. 各語句都必須頂格寫, 左側不能留空格, 否則會出錯.

        指令簡介:這是svn設定檔的格式,請按照以上格式書寫。

 

4.配置使用者   :passwd檔案


輸入以下內容:
[users]
<使用者1> = <密碼1> admin = admin
<使用者2> = <密碼2> username2 = password2

可以添加多個,此為使用者名稱密碼對。

5. 配置許可權 :authz檔案

    指令簡介:此設定檔採用“基於路徑的授權”策略,中括弧裡指定路徑,以下列出對各使用者的授

權。包括唯讀r,讀寫rw。沒有列出的使用者,則不允許訪問。還可以對使用者分組,具體請參考svn手冊,

以下是簡單例子:


<!--[if !supportLineBreakNewLine]-->       使用者組格式:

    [groups]

    <使用者組名> = <使用者1>,<使用者2>

    其中,1個使用者組可以包含1個或多個使用者,使用者間以逗號分隔。

 

    版本庫目錄格式:
    [<版本庫>:/項目/目錄]
    @<使用者組名> = <許可權>
    <使用者名稱> = <許可權>
    其中,方框號內部分可以有多種寫法:
     /,表示根目錄及以下。根目錄是svnserve啟動時指定的,我們指定/opt/svndata。這樣,/就是表

示對全部版本庫設定許可權。
     repos1:/,表示對版本庫1設定許可權
     repos2:/abc, ,表示對版本庫2中的abc項目設定許可權
     repos2:/abc/aaa, ,表示對版本庫2中的abc項目的aaa目錄設定許可權
     許可權主體可以是使用者組、使用者或*,使用者組在前面加@,*表示全部使用者。許可權可以是w、r、wr和空

,空表示沒有任何許可權。

 

 

  注意:配置auth 、passwd和svnserve.conf一定要心細,否則用戶端訪問時會認證失敗,如不能訪問

,百度和Google上有很多資料可供參考。

 

 

  配置完成,接下來該啟動svn嘍:svn預設連接埠是3690

 

1.啟動命令: svnserve -d -r 版本庫路徑 --listen-host 192.168.1.178 

 

            如:svnserve -d -r /opt/svndata --listen-host 192.168.1.178

 

 

     啟動時遇到的問題:

 啟動svnserve時出現cannot bind server socket:address already in use

 

解決方案:

 方法一:找出svnserve id 殺死掉進程

      netstat -ntlp

       kill -9 id


 方法二:重新指定一個連接埠號碼(預設連接埠3690)

svnserve -d --listen-port 3691 -r /opt/svndata/repos

 

 

2.檢查是否啟動成功:(查看是否存在svnserve 進程)

 

ps -ef|grep svnserve


3.最後,安裝用戶端

yum命令模式安裝svn服務

 

1.首先你要看看你是否已經安裝了svn,如果已經安裝了,那就不用麻煩了。
rpm -qa | grep subversion

2.如果沒有安裝,那就安裝svn。
yum -y install subversion

3.測試svn是否安裝成功。
svn --version

svn服務配置:
1.首先要建立倉庫
svnadmin create /var/www/test_repo

2.配置目錄屬性及使用者權限了,如果倉庫建立成功,你會看到test_repo/conf檔案夾下有svnserve.conf

,passwd和authz這三個檔案
(1)設定倉庫許可權,vi svnserve.conf

    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz


(2)配置使用者及密碼, vi passwd

    [users]
    mckee = phpddt.com


(3) 配置使用者操作許可權 vi authz

    [test_repo:/]
    mckee = rw


3.至此,你就可以啟動svn服務了。
svnserve -d -r /var/www --listen-host 42.121.145.230
你可以檢查服務是否啟動成功:
netstat -tunlp | grep svn

如此簡單,svn服務已經搭建完成,你就可以checkout一個working copy了,因為我實在windows下寫代

碼的,所以用了整合的GUI工具

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.