1. 程式人生 > >centOS搭建SVN伺服器實現許可權控制及linux與windows客戶端的使用、排錯

centOS搭建SVN伺服器實現許可權控制及linux與windows客戶端的使用、排錯

目錄

1.在centOS上搭建svn_server

1.查詢是否已安裝軟體包及安裝軟體包 

rpm -qa subversion                        #查詢是否安裝
yum -y install subversion                 #svn伺服器有subversion提供

2.檢視安裝版本 

svnserve --version

3.建立SVN版本庫目錄 

mkdir -p /var/svn/

使用單倉庫

  • svnadmin create /var/svn/project		//建立共享的資料夾 project資料夾自動生成

       

  • 修改配置檔案,建立賬戶與密碼
  • [[email protected] ~]# vim /var/svn/project/conf/svnserve.conf
    			[general]
    			### These options control access to the repository for unauthenticated
    			### and authenticated users.  Valid values are "write", "read",
    			### and "none".  The sample settings below are the defaults.
    			anon-access = none		#匿名無任何許可權  注意去掉空格
    			auth-access = write     #有效賬戶可寫
    			### The password-db option controls the location of the password
    			### database file.  Unless you specify a path starting with a /,
    			### the file's location is relative to the directory containing
    			### this configuration file.
    			### If SASL is enabled (see below), this file will NOT be used.
    			### Uncomment the line below to use the default password file.
    			password-db = passwd     #定義密碼檔案
    			### The authz-db option controls the location of the authorization
    			### rules for path-based access control.  Unless you specify a path
    			### starting with a /, the file's location is relative to the the
    			### directory containing this file.  If you don't specify an
    			### authz-db, no path-based access control is done.
    			### Uncomment the line below to use the default authorization file.
    			authz-db = authz        #ACL訪問控制列表檔案
    [
    [email protected]
    ~]# vim /var/svn/project/conf/passwd … … [users] harry = pass #使用者名稱和密碼 tom = pass #使用者名稱和密碼 [[email protected] ~]# vim /var/svn/project/conf/authz [/] #定義使用者訪問目錄及許可權 harry = rw #使用者對專案根路徑可讀可寫 * = r #其他人只讀
  • 啟動服務
  • svnserve -d  -r /var/svn/project      #只發布project一個目錄共享  客戶端訪問不用絕對路徑
    netstat -nutlp |grep svnserve         #檢視服務是否啟動  預設3690埠
    tcp        0      0 0.0.0.0:3690       0.0.0.0:*               LISTEN      89809/svnserve
  • 匯入測試資料
  • cd /usr/lib/systemd/system/        #我的是centOS7系統   你們隨便找個目錄同步就行了
    
    svn import . file:///var/svn/project/ -m "Init Data"	
    //Init Data  標示匯入的檔案  把“.”當前的所有檔案匯入到共享資料夾file:///var/svn/project/
    
    du -sh /var/svn/project/		//檢視大小   是否匯入成功
    608K    /var/svn/project/
  • 客戶端測試
  • linux客戶端測試、將伺服器上的程式碼下載到本地
  • svn --username harry --password pass co svn://IP地址/ code
                #建立本地副本,從伺服器上co下載程式碼到本地並建立code目錄
    			ATTENTION!  Your password for authentication realm:
    			   <svn://127.0.0.1:3690> b72f45f0-bbe5-4a0c-ad4a-37f52704f0b1
    			can only be stored to disk unencrypted!  You are advised to configure
    			your system so that Subversion can store passwords encrypted, if
    			possible.  See the documentation for details.
    			You can avoid future appearances of this warning by setting the value
    			of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
    			'/root/.subversion/servers'.
    			Store password unencrypted (yes/no)? yes    #提示是否儲存密碼
    
    ls  code            #會看到程式碼庫的檔案
  • windows客戶端測試
  • 下載中文語言包
  • 安裝完之後設定語言包(語言包一定要和安裝軟體包對應)
  • 檢出程式碼庫(進入新建目錄——點選右鍵——選擇SVN檢出)
  • 最後會講排錯

多倉庫的使用

  • 多倉庫的使用是現在大多數企業用到的,一個伺服器對應多個專案
  • 這裡與單使用者有點不同的地方就是訪問與釋出的都是根目錄,訪問也必須使用絕對路徑
  • 安裝軟體(如上)
  • 建立SVN版本庫目錄
  • mkdir /var/svn            #這裡把/var/svn當作svn的根路徑
  • 建立多倉庫
  • svnadmin create /var/svn/testSVN            #建立多倉庫
    svnadmin create /var/svn/project
    svnadmin create /var/svn/blog
  • 修改配置檔案,建立賬戶與密碼(如上修改三個配置檔案,注意是三個目錄)
  • 啟動多版本倉庫目錄
  • svnserve -d -r  /var/svn            #這裡只發布根路徑跟上面不同
    
  • 測試訪問(要在你的IP地址後面跟上你的倉庫名、用絕對路徑訪問
  • svn --username harry --password pass co svn://IP地址/project code
    
  • 多版本就講到這裡了

2.svn啟動與釋出的簡單排錯

  1. 啟動報錯
    svnadmin create /var/svn/testSVN 
    svnserve -d  -r /var/svn/testSVN           #釋出單倉庫報錯  
    svnserve: E000098: Cant bind server socket: Address already in use 
    //提示已經有服務在使用
     
    pkill -9 svnserve                          #使用pkill強制殺死服務   注意不是svnserver
    svnserve -d  -r /var/svn/testSVN           #可以建立
  2. 使用systemctl啟動報錯
    systemctl restart svnserve.service             #使用systemd方式報錯
    Job for svnserve.service failed because the control process exited with error code. See "systemctl status svnserve.service" and "journalctl -xe" for details.
    
    這裡要講到服務預設啟動的是哪個目錄
    
    vim  /etc/sysconfig/svnserve            #開啟svn伺服器的配置檔案
    
    # OPTIONS is used to pass command-line arguments to svnserve.
    # 
    # Specify the repository location in -r parameter:
    OPTIONS="-r /var/svn"         #預設啟動的是這個目錄   現在知道我為什麼把這個當成根目錄了吧 
    ~                         
    
    pkill -9 svnserve
    systemctl restart svnserve.service         #啟動無報錯        可以更改預設啟動目錄
    
  3. URL報錯
    svn --username harry --password pass co svn://192.168.1.1/ code
    svn: E210005: Unable to connect to a repository at URL 'svn://192.168.182.132'
    svn: E210005: No repository found in 'svn://192.168.182.132'
    
    
    1.檢查使用者名稱及密碼
    2.檢查倉庫路徑是否寫對
    3.防火牆是否開放3690埠
    4.大兄弟長點心吧
    5.svn的命令是要裝subversion包

3.ACL許可權控制

  • 建立一個空的倉庫
  • svnadmin create /var/svn/testSVN 
    svnserve -d  -r /var/svn/testSVN 
  • 配置使用者密碼及許可權
  • 如果是多倉庫可以把配置檔案放在你的根目錄下
  • [[email protected] conf]# cp authz /var/svn/
    [[email protected] conf]# cp passwd /var/svn/
    [[email protected] conf]# vim svnserve.conf 
    [[email protected] conf]# pwd 
    /var/svn/testSVN/conf
    
    多倉庫配置
    vim /var/svn/passwd        #使用者管理
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    test = 123456
    test1 = 123456
    test2 = 123456
    test3 = 123456
    test4 = 123456
    test5 = 123456
    test6 = 123456
    
    vim /var/svn/authz         #使用者控制
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    admin = test,test1            #定義admin組
    ooxx = test,test2,test3      
    
    [testSVN:/]                   #定義testSVN倉庫的根目錄的許可權
    @admin = rw                   #admin組成員對根目錄有讀寫許可權
    @ooxx = r                     #ooxx組成員對根目錄只讀
    * = r                         #其他人只讀
    
    [testSVN:/test]               #定義testSVN倉庫下的test目錄許可權控制   可以使用test/*
    @admin = rw                   #admin組對testSVN倉庫下的test目錄有讀寫許可權
    @ooxx = r
    * = r
    
    [project:/]                   #定義project倉庫的根目錄的許可權
    test4 = rw
    * = r
    
    [/]                           #定義所有倉庫根目錄的許可權
    * = r                         #所有人只讀
  • 客戶端連線
  • svn --username test --password 123456 co svn://192.168.182.132/testSVN   testSVN
    
    使用者名稱  test  密碼 123456  co  檢出程式碼     IP及倉庫名   放在testSVN這個目錄
    
    
  • 服務端新增目錄
  • Linux客戶端新增目錄
  • svn mkdir subdir                     #建立子目錄
    mkdir ooxx                           #建立自定義目錄
    svn add ooxx                         #新增到版本控制
    svn  ci  -m  “new ooxx”              #提交程式碼   -m是強制的   註釋   第一次可能不需要
  • windows客戶端新增目錄
  • Subversion官方文件:

相關推薦

centOS搭建SVN伺服器實現許可權控制linuxwindows客戶的使用

目錄 1.在centOS上搭建svn_server 1.查詢是否已安裝軟體包及安裝軟體包  rpm -qa subversion #查詢是否安裝 yum -y install subversion

搭建Git伺服器(Ubuntu虛擬機器)和windows客戶

         一直以來用Git都是用的別人的伺服器, 比如oschina 和github,  今天因為工作需要在自己的ubuntu上搭建了自己Git 伺服器, 以下記錄一些步驟和碰到的問題

阿里雲CentOS搭建SVN伺服器許可權管理

  linux(centos)下SVN伺服器如何搭建?說到SVN伺服器,想必大家都知道,可以是在LINUX下如何搭建SVN伺服器呢?那麼今天給大家分享一下linux(centos)搭建SVN伺服器的思路!    雖然在windows上搭建SVN很簡單,但是效能卻不高,

centos 搭建 svn伺服器 [防篇]

1.先把源換成epel源 centos# yum install epel-release centos# cd /etc/yum.repos.d centos# wget -O /etc/yum.repos.d/epel.repo http://mirror

CentOS搭建SVN伺服器,並通過Apache HTTP方式訪問(轉載至上品物語)

摘要:本文主要講述了在centos 6.5環境下搭建svn伺服器,可通過svn:\\IP方式訪問。同時由於部分公司內網埠限制,並不能訪問外網的svn伺服器,所以特地結合了apache伺服器,使得可以通過http方式http://IP方式訪問svn伺服器。 環境準備:

centos搭建svn伺服器以及hdwiki

SVN:直接參考百度經驗 注意以下兩點: 百度經驗中提到的vi authz中一定記得要加上:[/] 以及使用者的許可權 我伺服器重啟發現訪問不了一直在waiting for initialing

Linux(阿里雲Centos7)環境下搭建svn伺服器以及許可權配置詳細步驟

本篇文章主要介紹在CentOS7中採用yum安裝方式。優點:簡單,一鍵安裝,不用手動配置環境變數等。缺點:安裝位置為yum預設。本篇文章以阿里雲CentOS7為例。 詳細步驟: 一、yum安裝subversion 1. 安裝命令 yum install sub

SVN伺服器詳細許可權控制

本章將詳細介紹前一章所涉及的兩個配置檔案, svnserve.conf 和 authz.conf,通過對配置逐行的描述,來闡明其中的一些細節含義。除此之外的其他配置、安裝等內容,不是本文重點,讀者若有什麼疑問,請參考後面“參考文獻”中列出的一些文件。這裡首先要注意一點,任何配

centos 搭建SVN伺服器簡單流程

yum -y install subversion mkdir -p /work/svn && cd /work/svn //建立版本庫 svnadmin create test -------------------------------------------- //增加使用者

Unity C#伺服器 實現Socket的UDP通訊(多客戶

前言 上一篇簡單的介紹了下Unity客戶端和伺服器的Socket通訊,但是還不能實現多個客戶端與伺服器的通訊,所以今天在這邊把前面的工程完善一下(使用的是上篇講到的UdpClient類來實現),實現多個客戶端與伺服器的udp通訊。效果圖如下,兩個客戶端可以向伺服器傳送訊息,

搭建Git CentOS搭建Git伺服器許可權管理

CentOS搭建Git伺服器及許可權管理   宣告:本教程,僅作為配置的記錄,細節不展開,需要您有一點linux的命令基礎,僅作為配置參考。 1. 系統環境 系統: Linux:CentOS 7.2 64位 由於CentOS已經內建了OpenSSH,如果您的

CentOS搭建Git伺服器許可權管理

宣告:本教程,僅作為配置的記錄,細節不展開,需要您有一點linux的命令基礎,僅作為配置參考。 1. 系統環境 系統: Linux:CentOS 7.2 64位 由於CentOS已經內建了OpenSSH,如果您的系統沒有,請自行安裝。 檢視ssh版本 $ ssh

搭建SVN伺服器centos 7.3)

一、安裝svn # 安裝subversion yum install subversion # 檢視subversion的安裝路徑 rpm -ql subversion 二、建立svn版本庫 # 建立svn版本庫所在目錄 mkdir -p /data/svn/svn_repo

CentOS搭建FTP檔案服務的步驟常用分配許可權操作

基於 CentOS 搭建 FTP 檔案服務,供大家參考,具體內容如下 系統要求:CentOS 7.2 64 位作業系統 一.安裝VSFTPD   (vsftpd 是在 Linux 上被廣泛使用的 FTP 伺服器,根據其[官網介紹][https://security.appspot.com

Centos搭建 SVN 伺服器

1、如果僅僅只是搭建 svn 伺服器:   (a)、先檢查 svn 是否已經安裝了 rpm -qa subversion #輸入這個命令後,會出現 subversion 版本號     (b)、如果沒有安裝,使用下面命令: yum install subversio

CentOS搭建SVN伺服器

一,介紹SVN     SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個

Taurus.MVC 2.2.3.4 :WebAPI 實現許可權控制認證(功能增強說明)

前言: 前兩天,當我還在老家收拾行旅,準備回廣州,為IT連的創業再戰365天時, 有網友扣上問:Taurus.MVC中如何實現認證和許可權控制,最好能做個小例子。 我一不小心回了句:等回廣州我再寫篇文章...... 然後,今天就來補文章了〜〜〜〜 Taurus.MVC Nuget 更新: 寫文之前

Centos搭建SVN伺服器並同步倉庫內容到WEB目錄

第一步:安裝svnversion Centos下可以使用yum安裝,自動配置環境變數 yum install subversion 安裝完成後可以用 svn help來檢查是否安裝成功 第二步:配置svnversion mkdir -p /home/svn/r

LinuxCentOSSVN伺服器搭建+同步更新+多版本庫+開機啟動

一、安裝步驟如下: 1、yum install subversion 2、輸入rpm -ql subversion檢視安裝位置,如下圖:   3、建立svn版本庫目錄 mkdir -p /var/svn/svnrepos 4、建立版本庫 svnadmin

Centos7 安裝搭建SVN伺服器 配置程式碼同步web根目錄

一丶 SVN簡介 SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。網際網路上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開