天天看點

在linux下搭建SVN伺服器,權限+常見錯誤

1、安裝SVN          要在linux下安裝SVN,可以下載下傳源碼自己編譯,最好是聯網的可以直接安裝

#yum install subversion

  判斷是否安裝成功(有時候也會沒有結果,提示subversion commandnot find)
#subversion --v             
svnserve, version 1.6.11 (r934486)
           
出現上面的提示,說明安裝成功。
有了SVN軟體後還需要建立SVN庫。(這裡我建立的一個以repos作為根的倉庫)
#mkdir /opt/svn
#mkdir /opt/svn/repos
#svnadmin create /opt/svn/repos
           
執行上面的指令後,自動在repos下建立多個檔案, 分别是conf, db,format,hooks, locks, README.txt。

2、配置         

            安裝和建立第一個倉庫都很簡單,下面開始權限可使用者驗證的配置

    2.1  建立使用者名和密碼
打開conf下面的passwd檔案,(#是配置檔案的注釋,這個我覺得大家應該知道)
[users]
# harry = harryssecret   
# sally = sallyssecret
hello=123
lee=123456
           
這樣我們就建立了兩個使用者,hello和lee 密碼就是 = 号後面的字元
2.2  配置authz(這裡設定使用者對目錄的通路權限的配置)          [group]       reposgroup =  hello,lee           #群組的設定,将使用者hello 和lee設定為群組reposgroup

                                 [ / ]     # 組reposgroup 裡面的使用者(使用者組前面有個@),和使用者mamamiya可對 根目錄寫讀,所有使用者可以讀取(*号碼表示所有使用者)

@ reposgroup  =  rw mamamiya=rw * = r
2.3 設定snvserv.conf (找到檔案裡裡面的屬性。把注釋符号去點就可以了)
anon-access = none # 使非授權使用者無法通路
auth-access = write # 使授權使用者有寫權限
password-db = password
authz-db = authz   # 通路控制檔案
realm = /opt/svn/repos # 認證命名空間,subversion會在認證提示裡顯示,并且作為憑證緩存的關鍵字。
           
采用預設配置. 以上語句都必須頂格寫, 左側不能留白格, 否則會出錯.

3、啟動伺服器

3、1 打開伺服器  啟動svn:#svnserve  -d -r /opt/svn/repos
成功打開之後,可以再别的電腦上連接配接了,
用戶端  TortoiseSVN
安裝之後 在本地建立一個目錄repos(任意名稱)
    選擇Svn CheckOut
在linux下搭建SVN伺服器,權限+常見錯誤
我的伺服器IP是192.168.0.61 按下OK之後 就可以登入了
在linux下搭建SVN伺服器,權限+常見錯誤
  這裡的使用者名密碼就是 passwd 檔案裡面配置的
在linux下搭建SVN伺服器,權限+常見錯誤
如果出現  套接字 操作嘗試一個無法連接配接的主機  的錯誤 可能需要在伺服器裡面的防火牆放行一下 3690端口
打開/etc/sysconfig 裡面的 iptables檔案  添加下面語句,(從iptables裡面複制一行 端口修改成3690即可,防止不同iptables檔案 配置語句不一樣)
-A INPUT -m state --statr NEW -m tcp -p tco --dport 3690 -j ACCEPT
使用者名密碼驗證成功之後 就會收到倉庫裡面的檔案
在linux下搭建SVN伺服器,權限+常見錯誤
4、添加子目錄,控制權限
       因為開始 我們設定了 一個hello使用者可以對整個目錄進行 讀寫,現在我們可以再這個目錄下面建立其他目錄 如,aaa、bbb
然後再目錄裡面右鍵 選擇SVN Commit,就建立了兩個子目錄。
再回到linux的authz檔案
可以讓使用者 xiaodidi 隻能通路aaa目錄  (現在passwd檔案裡面添加這使用者)
[/aaa]
xiaodidi = rw
          這樣xiaodidi這個使用者就隻能通路aaa目錄了,
          如果出現 authorization failed 一般是授權問題 authz ,檢查檔案配置

繼續閱讀