搭建簡單的svn服務器

    svn在版本控制方面還是挺有用的??舆\維的人中就有研發,出補丁或版本的時候很堅定的說“升吧,沒問題”,結果升上去后就會狂報錯。所以運維的要在打補丁,尤其是改動很大的時候一定要把后路想好。否則會長時間的影響業務。svn就有一個很好的機制–回退(當然你也可以事先備份下),可以回退到之前的某個時間節點,操作很方便的。當然svn還有其他高級的用法,日后補上。并且svn不是單獨工作,它是和rsync和jenkins結合來玩的。下面介紹svn的編譯安裝,及簡單配置。rsycn和jenkins后續會有介紹的。

搭建簡單的svn服務器H)6QSJE0FMN952{)}2@MMV1.png

一、安裝前的準備工作:

    源碼下載地址:http://subversion.apache.org/download.cgi  版本version 1.9.2

    源碼存放于: /packages 下   

    $ yum install apr* apr-util* sqlite* -y

    $ wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip

    解壓縮sqlite-amalgamation-3071501.zip

    重命名:

    $ mv sqlite-amalgamation-3071501 /prackages/subversion-1.9.2/sqlite-amalgamatio

    $ ./configure –prefix=/usr/local/svn

    $ make && make install 

二、配置

  

    1創建一個倉庫:

        svnadmim create  –fs-type fsfs  -d  /usr/local/svn/projects 

執行這一步操作后projects目錄(倉庫)中會包含 :conf  db  format  hooks  locks  README.txt 。配置文件和授權存放在了conf中;db存放數據庫;

hooks中存放鉤子函數;         

   

    2在目錄conf中進行相關配置

     $ vim svnserve.conf  

     加入

     [general]

     anon-access = read           這個參數說明匿名用戶對svn服務器上的文件具有讀的權限

     auth-access = write          這個參數說明取得授權的用戶具有讀寫權限

     password-db = passwd          注意此處的passwd是個文件,這個文件用于存放授權用戶的密碼,此處也可以寫成 /path/to/SOME_FILE

    $ vim authz

     在[groups]下加入

     admin = zhang      超級管理員的登錄用戶名

     wanguser = wang    普通用戶的的登錄用戶名,像這樣的用戶可以建立多個

     [/]

     @admin = rw

     @wanguser = r

    $ vim passwd

     [users]

     zhang = zhang      等號右邊的"zhang"是用戶zhang的密碼

     wang = wang        同上

   3啟動svn服務

    $useradd svn

    $chmod -R svn:svn /usr/local/svn

    $svnserve -d  –listen-port 3690 -r  /usr/local/svn (/usr/local/svn相當于svn服務器的根目錄,如果寫成其他路徑的話客戶端將無法連接。 )

    $ps -ef|grep svnserve

    $netstat  -na|grep 3690

   4找到SVN項目的hooks目錄

    $vim hooks/post-commit

    加入

    #!/bin/bash /usr/local/svn/bin/svn checkout svn:192.168.11.128/projects /home/svn/zhang –username zhang –password zhang –no-auth-cache

    路徑/home/svn/zhang用于存放正式的的項目(應用程序代碼)

至此配置完成。在windows環境下安裝一個客戶端就可以向svn服務器上上傳項目了。我用的是TortoiseSVN Repository Browser(一個客戶端工具,百度一下會有的),這樣svn就玩起來了。

原創文章,作者:馬仙山,如若轉載,請注明出處:http://www.www58058.com/9298

(0)
馬仙山馬仙山
上一篇 2015-11-16 16:28
下一篇 2015-11-18 11:07

相關推薦

  • find、locate、Gnome文件查找工具

    查找命令: ? ? ? ? locate:非實時查找 ? ? ? ? find:實時查找 ? ? ? ? Gnome:圖形化搜索工具 locate: 描述:查詢系統上預建的文件索引數據庫/var/lib/mlocate/mlocate.db,一天更新一次更新數據庫:updatedb特點:依賴于事先構建的索引。索引的構建是在系統較為空閑時自動進行(周期性任務)…

    Linux干貨 2017-11-26
  • 基于虛擬用戶控制的ftp服務

    FTP作為最常見的文件共享服務,可提供文件的上傳,下載等服務;其用戶可分為三類: 匿名用戶:即不需要用戶賬號與密碼即可登錄FTP服務器,此時登錄用戶將會被映射為系統上的ftp用戶。 系統用戶:即用FTP服務器上的用戶賬號與密碼登錄FTP服務器。此種方法雖然在一定程度上對登錄做出了限制,但由于系統賬號的相關權限,則增大了FTP服務器的系統風險; 虛擬用戶:用戶…

    Linux干貨 2016-10-23
  • Linux Cluster之Keepalived + Nginx的實現

      一、實驗環境 http server1與http server2組成web集群,由nginx服務器實現負載均衡代理,使用keepalived保證nginx服務的高可用。通過虛擬IP192.168.154.177對外提供web服務。 實驗目的: 1)當Nginx server1上的nginx服務異常時,由nginx server2提供反帶服務。 …

    2016-11-02
  • Linux文件查看和管理類命令

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
    4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。

    2018-03-17
  • python裝飾器

    裝飾器本質是一個裝飾器函數,在不改變一個函數的函數體本身的情況下,實現函數體本身外其他的功能 1.實現一個裝飾器 def ?logger(fn): ? ? ? ? ? ? ? ? ? ? ? ? #裝飾器函數必須只能傳入一個參數,那就是被裝飾函數 ????print(‘in’) ????def wrapper(*args,**kwar…

    Linux干貨 2017-10-23

評論列表(2條)

  • stanley
    stanley 2015-11-18 11:04

    格式上可多向師兄姐學習

  • Linuxsgh
    Linuxsgh 2016-10-20 16:07

    $chmod -R svn:svn /usr/local/svn 這里應該是chown

欧美性久久久久