centOS6.4部署svn

本文詳細的介紹了在centos 6 64位服務器上搭建svn服務器的詳細過程。node


工具/原料

  • 環境linode vps centos6 64bitios

  • svn是版本管理控制工具 安裝簡單方便;centos

  • svn獨立服務器安裝方式服務器

svn獨立服務器的搭建

  1. 1ssh

    環境準備
    ide

    yum groupinstall "X Software Development" "Development Libraries" "Development Tools"
    svn

  2. 2工具

    下載所需的源碼包
    spa

    subversion-deps-1.6.17.tar.gz svn 的支持庫之類的文件
    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz
    subversion-1.6.17.tar.gz svn 的主程序
    wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
    orm

  3. 3

    源碼編譯安裝

    這兩個要解壓在同一個目錄下
    tar zxvf subversion-deps-1.6.17.tar.gz
    tar xvf subversion-1.6.17.tar.gz
    cd subversion-1.6.17
    ./configure --prefix=/opt/svn
    make && make install

  4. 4

    修改環境變量

  5. 5

    vi /etc/profile , 在/etc/profile 最後加入:
    PATH=$PATH:/opt/svn/bin
    export PATH
    檢測是否安裝成功
    svnserve --version
    顯示以下信息則表示安裝成功。
    svnserve, version 1.6.17 (r1128011)
    compiled Mar 23 2012, 16:57:41

    END

配置svn

  1. 1

    系統採用爲每一個項目單獨建一版本庫的策略。配置文件,密碼文件,訪問控制文件等都放在
    版本庫的conf 目錄下。因此每次開始一個新項目都必須新建一個版本庫,並從新配置各配
    置文件。還有很重要的一條,要求各組員從新配置客戶端,包括服務器版本庫路徑,本地路
    徑等信息。

  2. 2

    建立svn庫testsvn

    mkdir /var/svn
    cd /var/svn
    svnadmin create testsv
    cd testsv
    [root@nagios testsv]# ls
    conf db format hooks locks README.txt
    [root@nagios testsv]# cd conf/
    [root@nagios conf]# ls
    authz passwd svnserve.conf

  3. 3

    配置版本庫信息

    [root@nagios conf]# vi svnserve.conf
    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authzauthz-db = authz
    realm = testsv(庫的名字)
    [sasl]
    # use-sasl = true
    # min-encryption = 0
    # max-encryption = 256

  4. 4

    定義版本庫訪問權限

    [root@nagios conf]# vi authz
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe
    Average
    [groups]
    # harryharry_and_sally = harry,sally
    # harryharry_sally_and_joe = harry,sally,&joe
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    #添加下面兩句
    [/]
    testuser = rw
    [testsv]
    testuser = rw

  5. 5

    定義用戶密碼

    [root@nagios conf]# cat passwd
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    testuser = testsv123456

    END

啓動svn服務

  1. 1

    創建啓動svn 的用戶

    useradd svn
    passwd svn
    根據提示爲用戶svn 設置密碼
    容許用戶svn 訪問版本庫
    chown -R svn:svn /var/svn
    啓動svn
    (1)用設定賬戶啓動
    su svn -c "svnserve -d --listen-port 9999 -r /var/svn"
    其中:
    su svn 表示以用戶svn 的身份啓動svn
    -d 表示以daemon 方式(後臺運行)運行
    –listen-port 9999表示使用9999 端口,能夠換成你須要的端口。但注意,使用1024如下的端
    口須要root 權限
    -r /var/svn 指定根目錄是/var/svn
    (2)對於單個代碼倉庫:

  2. 2

    啓動命令:

    svnserve -d -r 文件夾路徑--listen-host 192.168.100.131
    其中-d 表示在後臺運行, -r 指定服務器的根目錄,這樣訪問服務器時就能夠直接用svn://
    服務器ip 來訪問了。
    若是服務器有多ip 的話–listen-host 來指定監聽的ip 地址.
    咱們能夠在svn 客戶端中經過svn://192.168.100.131 來訪問svn 服務器
    (3)對於多個代碼倉庫:
    咱們在啓動時也能夠用-r 選項來指定服務器根目錄, 但訪問時須要寫上每一個倉庫相對於svn
    根目錄的相對路徑.
    好比, 咱們有兩個代碼倉庫/var/svn/testsv
    svnserve -d -r /var/svn --listen-host 192.168.1.100
    來啓動,
    那麼在客戶端訪問時能夠用svn://192.168.100.100/testsv 來分別訪問兩個項目啓動完成以

    我啓動的方法:
    [root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131
    注意:
    svn 默認端口是3690 ,你須要在防火牆上開放這個端口。也能夠經過svnserve 的–listen-port
    選項來指定一個已經開放的其餘端口, 不過這樣的話客戶端使用也必須家上端口, 如
    svn://192.168.100.200:8888/

  3. 3

    檢查是否啓動成功

    (查看是否存在svnserve 進程)
    ps -ef|grep svnserve
    若是顯示以下,即爲啓動成功:
    svn 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 9999 -r /var/svn
    我是用root 賬戶啓動的:
    [root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131
    [root@austit fabian]# ps -ef|grep svnserve
    root 4513 1 0 21:07 ? 00:00:00 svnserve -d -r /var/svn --listen-host 192.168.100.131
    root 4515 4409 0 21:07 pts/1 00:00:00 grep svnserve

    END

svn使用


而後用戶下載客戶端訪問便可,推薦使用TortoiseSVN。

注意事項

  • 儘可能不要使用centos自帶的svn版本服務器

  • 安裝過程不要斷掉ssh連接,不然容易出現未知錯誤

相關文章
相關標籤/搜索