Linux下SVN的安裝

一、SVN介紹html

二、安裝SVN服務數據庫

三、配置SVN服務apache


一、SVN介紹後端

    SVN,全稱Subversion,是一款跨平臺的開源的版本管理控制工具。管理着隨時間改變的各類數據,這些數據存放在一箇中央資料檔案庫(repository)中,並會備份和記錄每一個文件每一次的修改更新變更。故能夠把任意一個時間點的檔案恢復到想要的某一箇舊的版本,也能夠直接瀏覽指定文件的更新歷史記錄。

SVN相關站點:安全

    Subversion官網:http://subversion.tigris.org/  http://subversion.apache.org/
bash

    SVN客戶端:http://tortoisesvn.net/
服務器

    SVN中文網站:http://www.iusesvn.com/
網絡

    中文常見問題解答FAQ:http://subversion.apache.org/faq.zh.html
app

    官方手冊:http://svnbook.red-bean.com/    中英文都有ide



    SVN服務端運行方式(3種):

    1)獨立服務器訪問

           訪問地址: svn://192.168.1.123/binDoc

    2)藉助Apache等http的服務

            訪問地址:http://192.168.1.123/binDoc    或 https://192.168.1.123/binDoc

            注:這個也有兩種方式:單獨安裝apache和svn;安裝VisualSVN軟件或CSVN軟件

    3)本地訪問

            訪問地址:file://192.168.1.123/binDoc

    

    SVN檔案庫數據格式

        SVN存儲版本數據有2種方式:BDB(一種事務安全型表類型)和FSFS(一種不須要數據庫的存儲系統)。由於BDB方式在服務器中斷時,有可能鎖住數據,因此仍是FSFS方式更安全一點。

        BDB:    

            伯克利DB(Berkeley DB),版本庫可使用的一種通過充分測試的後臺數據庫實現,不能在經過網絡共享的文件系統上使用,伯克利DB是Subversion 1.2版本之前的缺省版本庫格式。

        FSFS:

            一個專門用於Subversion版本庫的文件系統後端,可使用網絡文件系統(例如NFS或SMBFS),是1.2版本及其後的缺省版本庫格式。


二、安裝SVN服務

    1)檢查SVN軟件程序是否已安裝: 

  [root@Binggo ~]# rpm -qa subversion
subversion-1.6.11-10.el6_5.x86_64        ###若無這提示信息,則說明未安裝

     2)如未安裝,則執行下面的命令進行安裝      

 [root@Binggo ~]# yum -y install subversion

注:無特殊的功能要求,就能夠用以上命令安裝通用版本


三、配置SVN服務

        創建svn版本庫數據存儲根目錄(svndata)及用戶、密碼和權限目錄(svnpasswd)

        

[root@Binggo ~]mkdir -p /application/{svndata,svnpasswd}

        啓動SVN服務指定服務的SVN根目錄      

[root@Binggo ~]svnserve  -d  -r  /application/svndata/        ###-d以守護進程模式運行,-r指定svn的根目錄

        查看SVN進程      

[root@Binggo ~]ps -ef|grep 3690

        檢測SVN端口      

[root@Binggo ~]netstat -lnt|grep 3690        或     lsof  -i :3690

        建立項目版本庫(不要建立版本庫目錄binDoc)      

[root@Binggo ~]svnadmin  create  /application/svndata/binDoc


        調整svn配置文件及權限文件

    例如:配置容許用戶binbin讀寫訪問

       

[root@Binggo ~]cd /application/svndata/binDoc/conf
[root@Binggo ~]cp svnserve.conf svnserve.conf.ori
[root@Binggo ~]cp passwd  /application/svnpasswd/passwd
[root@Binggo ~]cp authz  /application/svnpasswd/authz

    修改配置文件svnserve.conf

        # anon-access = read

        # auth-access = write

        # password-db = passwd

        # authz-db = authz

    修改成:

        anon-access = none            ###是否容許匿名訪問,none爲禁止

        auth-access = write            ###訪問權限

        password-db = /application/svnpasswd/passwd        ###統一設置管理svn用戶和密碼

        authz-db = /application/svnpasswd/authz                 ###統一設置管理svn權限


    修改配置文件/application/svnpasswd/passwd

        在[users]下新增一行

            binbin = binbin123        ###等號左邊爲用戶名,右邊爲密碼


    修改配置文件/application/svnpasswd/authz

        在最下面新增

            [binDoc:/]

            binbin = rw                ###等號左邊爲用戶名,右邊爲權限

注:版本庫目錄用戶權限格式:

       [<版本庫名>:/項目/目錄]

            @<用戶組名> = <權限>

            <用戶名> = <權限>


注意:

×    權限配置文件中出現的用戶名必須已在用戶配置文件中定義過的

×    對權限配置文件的修改當即生效,沒必要重啓svn,可是主配置文件svnserve.conf修改則須要重啓服務才能生效



說明:重啓SVN能夠先使用命令pkill svnserve 殺死svn進程在使用svnserve -d -r /application/svndata/重啓SVN服務


附錄:       

svnserve命令的使用參數

    [root@Binggo ~]# svnserve --help
usage: svnserve [-d | -i | -t | -X] [options]

Valid options:
  -d [--daemon]            : daemon mode
  -i [--inetd]             : inetd mode
  -t [--tunnel]            : tunnel mode
  -X [--listen-once]       : listen-once mode (useful for debugging)
  -r [--root] ARG          : root of directory to serve
  -R [--read-only]         : force read only, overriding repository config file
  --config-file ARG        : read configuration from file ARG
  --listen-port ARG        : listen port
                             [mode: daemon, listen-once]
  --listen-host ARG        : listen hostname or IP address
                             [mode: daemon, listen-once]
  -T [--threads]           : use threads instead of fork [mode: daemon]
  --foreground             : run in foreground (useful for debugging)
                             [mode: daemon]
  --log-file ARG           : svnserve log file
  --pid-file ARG           : write server process ID to file ARG
                             [mode: daemon, listen-once]
  --tunnel-user ARG        : tunnel username (default is current uid's name)
                             [mode: tunnel]
  -h [--help]              : display this help
  --version                : show program version information


svnadmin命令的參數

[root@Binggo ~]# svnadmin --helpgeneral usage: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]Type 'svnadmin help <subcommand>' for help on a specific subcommand.Type 'svnadmin --version' to see the program version and FS modules.Available subcommands:   crashtest   create   deltify   dump   help (?, h)   hotcopy   list-dblogs   list-unused-dblogs   load   lslocks   lstxns   pack   recover   rmlocks   rmtxns   setlog   setrevprop   setuuid   upgrade   verify

相關文章
相關標籤/搜索