Linux下SVN的安裝和配置方法

這篇文章主要介紹“Linux 下 SVN 的安裝和配置方法”,在日常操作中,相信很多人在Linux 下 SVN 的安裝和配置方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux 下 SVN 的安裝和配置方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

站在用戶的角度思考問題,與客戶深入溝通,找到白朗網(wǎng)站設(shè)計與白朗網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋白朗地區(qū)。

SVN 是一個自由開源的版本管理系統(tǒng),它可以按照時間的順序去管理文件、目錄以及對其進(jìn)行的修改。于今,它被廣泛的用于互聯(lián)網(wǎng)公司的項目版本管理中。

工作原理

它的工作原理如下圖所示

Linux 下 SVN 的安裝和配置方法

它是由一個SVN服務(wù)器和許多的SVN客戶端組成

數(shù)據(jù)統(tǒng)一存儲在SVN服務(wù)器上

客戶端  從服務(wù)器檢出(checkout)指定路徑上的版本文件到本地,修改了之后再提交(commit)到服務(wù)器上,當(dāng)其他的客戶端再次檢出或更新的時候,就能獲取得到之前客戶端提交的修改

這樣,多個客戶端就可以互不干擾的工作,實現(xiàn)了多人的協(xié)作

SVN已經(jīng)是一個非常成熟且能快速實現(xiàn)項目版本管理的工具了,很多中小團(tuán)隊中都在使用,下面介紹下SVN服務(wù)器的安裝和配置

安裝

yum install -y subversion

安裝完成之后,執(zhí)行 svn --version 查看是否安裝成功,如果有類似下面的輸出則表示安裝成功

[root@cghost21 ~]# svn --version svn, version 1.7.14 (r1542130)    compiled Sep 30 2020, 17:44:04  Copyright (C) 2013 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/  The following repository access (RA) modules are available:  * ra_neon : Module for accessing a repository via WebDAV protocol using Neon.   - handles 'http' scheme   - handles 'https' scheme * ra_svn : Module for accessing a repository using the svn network protocol.   - with Cyrus SASL authentication   - handles 'svn' scheme * ra_local : Module for accessing a repository on local disk.   - handles 'file' scheme  [root@cghost21 ~]#

默認(rèn)目錄

  • svnserve 安裝目錄

svnserve 默認(rèn)安裝在 /usr/bin 目錄下,可通過 which svnserve 命令查看

[root@ecs-centos-7 ~]# which svnserve /usr/bin/svnserve
  • 倉庫地址

svnserve 默認(rèn)的倉庫地址是 /var/svn , 通過 /etc/sysconfig/svnserve 配置文件可以修改

[root@ecs-centos-7 ~]# cat /etc/sysconfig/svnserve  # OPTIONS is used to pass command-line arguments to svnserve. #  # Specify the repository location in -r parameter: OPTIONS="-r /var/svn"
  • svnserve 端口

svnserve 啟動之后,默認(rèn)使用 3690 端口

[root@ecs-centos-7 test_a]# netstat -anpt | grep svnserve tcp    0    0 0.0.0.0:3690    0.0.0.0:*   LISTEN      28347/svnserve

配置

  • 創(chuàng)建倉庫

安裝完成之后,使用 svnadmin create 倉庫目錄 來創(chuàng)建一個新倉庫

我們在 /home/tt 目錄下建立一個名為svn的倉庫,以后所有的項目文件都放在這個目錄下,創(chuàng)建成功之后在svn目錄下多了幾個子目錄

[root@ecs-centos-7 tt]# svnadmin create /home/tt/svn [root@ecs-centos-7 tt]# ls svn/ conf  db  format  hooks  locks  README.txt

conf 目錄是存放配置文件的

[root@ecs-centos-7 tt]# svnadmin create /home/tt/svn [root@ecs-centos-7 tt]# ls svn/ conf  db  format  hooks  locks  README.txt

authz 是用戶權(quán)限控制文件

passwd 是賬號密碼配置文件

svnserve.conf 是svnserve服務(wù)配置文件

  • 配置用戶名密碼

編輯 passwd 配置文件,添加ta用戶名和123456密碼、 tb用戶名和12345密碼以及tc用戶名和123密碼

[root@ecs-centos-7 conf]# vim passwd  ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line.  [users] # harry = harryssecret # sally = sallyssecret ta = 123456 tb = 12345 tc = 123
  • 配置用戶權(quán)限

為 SVN 用戶 ta 配置讀寫權(quán)限,為 SVN用戶 tb 配置只讀權(quán)限,為 SVN用戶 tc 配置只讀權(quán)限

Linux 下 SVN 的安裝和配置方法

上圖中是配置倉庫的根目錄訪問權(quán)限,如果想配置倉庫中指定目錄的訪問權(quán)限,可以在末尾增加一個倉庫目錄,目錄下面再配置用戶的訪問權(quán)限即可

比如:倉庫根目錄下有一個myproject的目錄,用戶ta有讀寫權(quán)限,用戶tb無訪問權(quán)限,用戶tc有只讀權(quán)限,則 myproject  目錄的權(quán)限配置如下

[/myproject] ta=rw tc=r *=
  • 配置 svnserve 服務(wù)

Linux 下 SVN 的安裝和配置方法

如上圖所示,打開紅框中的選項前的注釋,注意:每個選項前都不能有空格

anon-access = none   # 匿名用戶無法訪問 auth-access = write   #授權(quán)用戶可寫 password-db = passwd  #用戶密碼驗證文件 authz-db = authz      #用戶權(quán)限驗證文件 realm = /home/tt/svn  #svn版本庫目錄

啟動、停止、重啟

修改 /etc/sysconfig/svnserve 中OPTIONS 的值為我們新創(chuàng)建的倉庫地址

[root@ecs-centos-7 ~]# vim /etc/sysconfig/svnserve  # OPTIONS is used to pass command-line arguments to svnserve. # # Specify the repository location in -r parameter: OPTIONS="-r /home/tt/svn"

svn安裝完成之后,默認(rèn)已經(jīng)添加到systemctl中了,使用以下命令啟動、停止、重啟

[root@ecs-centos-7 ~]# systemctl start svnserve [root@ecs-centos-7 ~]# systemctl stop svnserve [root@ecs-centos-7 ~]# systemctl restart svnserve

在實際的部署中,為了重啟機(jī)器時,不影響客戶端的使用,svnserve通常會設(shè)置成開機(jī)啟動

[root@ecs-centos-7 ~]# systemctl enable svnserve Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.

客戶端檢出

配置好用戶密碼以及訪問權(quán)限之后,重新啟動 svnserve

新建test_a 目錄,進(jìn)入該目錄,執(zhí)行 svn co svn://192.168.0.9 --username ta --password 123456  命令檢出svn倉庫中的文件以及目錄

[root@ecs-centos-7 tt]# mkdir test_a [root@ecs-centos-7 tt]# cd test_a/ [root@ecs-centos-7 test_a]# svn co svn://192.168.0.9 --username ta --password 123456 [root@ecs-centos-7 test_a]# svn info 路徑: . 工作副本根目錄: /home/tt/test_a URL: svn://192.168.0.9 版本庫根: svn://192.168.0.9 版本庫 UUID: c9730d20-968c-41c0-a224-4c6a967f8330 版本: 1 節(jié)點種類: 目錄 調(diào)度: 正常 最后修改的作者: ta 最后修改的版本: 1 最后修改的時間: 2020-12-04 23:48:11 +0800 (五, 202-12-04)

適用的場景

每個工具都有其適用的場景,SVN也不例外

當(dāng)你需要記錄文件每一次的修改時間,查看隨著時間變化的日志,追溯和回退到任意一次修改時間點時的版本,多人協(xié)作一起開發(fā)并追蹤是誰進(jìn)行了修改,那么是很適合使用SVN。

對于一些比較大的或者后續(xù)不會有任何修改的文件、把SVN當(dāng)做文件傳輸?shù)闹修D(zhuǎn)站,這些都不適合用SVN,比如:從一個SVN客戶端上傳一部電影到SVN服務(wù)器上,然后在另一個SVN客戶端更新這個電影文件,這是誤用SVN這個工具了,上述文件的同步有專門的工具(rsync)來處理。

小結(jié)

本章介紹了SVN服務(wù)器的工作原理、安裝、配置、使用場景等,關(guān)于更多SVN相關(guān)的知識可以參考官方文檔。

對于中小創(chuàng)業(yè)團(tuán)隊,在事情多,人員少,時間緊的情況下,具有安裝簡單、使用方便、易上手(特別是對于非技術(shù)人員,稍微講解下就能上手使用)等特點的SVN是非常好的選擇。

到此,關(guān)于“Linux 下 SVN 的安裝和配置方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

分享名稱:Linux下SVN的安裝和配置方法
轉(zhuǎn)載注明:http://muchs.cn/article42/gdejec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、自適應(yīng)網(wǎng)站云服務(wù)器、動態(tài)網(wǎng)站、定制開發(fā)、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司