linux下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一定要心細,否則客戶端訪問時會認證失敗,如不能訪問,百度和谷歌上有很多資料可供參考。

 

 

  配置完成,接下來該啟動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.最后,安裝客戶端,下載客戶端TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi,並下載對應版

 

  本的語言包LanguagePack_1.6.15.21042-win32-zh_CN.msi解壓安裝即可。

 

 

  安裝好后,這樣訪問服務器時就可以直接用svn:// 服務器ip 來訪問了。

 轉載:http://cainiao-zl.iteye.com/blog/1435328


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM