SVN服務器部署(http方式)

Svn服務器部署

svn簡介

Subversion是一個免費/開源的版本控制系統, Subversion 能夠跨越時間地對文件和目錄, 以及它們的修改進行管理. 這就容許你恢復 數據的舊版本, 或檢查數據的修改歷史. 因爲這個特色, 不少人把版本控制系統 當作是一種 「時間機器」.

Svn的組件

  1. svn 客戶端命令行工具
  2. svnversion 用於報告工做副本狀態 (就項目的版本號而言) 的工具
  3. svnlook能夠直接檢查倉庫的工具
  4. svnadmin 用於建立, 調整或修復 Subversion 倉庫的工具
  5. mod_dav_svn Apache HTTP 服務器插件, 該插件容許用戶經過網絡訪問倉庫
  6. svnserve 一個定製的, 可獨立運行的服務器程序, 能夠以守護進程方式運行, 也能夠被 SSH 調用, 這是另外一種容許用戶經過網絡訪問倉庫的方法
  7. svndumpfilter 過濾 Subversion 倉庫轉儲數據流的程序
  8. svnsync 能夠跨越網絡對倉庫進行增量鏡像備份的程序
  9. svnrdump 能夠跨越網絡對倉庫歷史進行轉儲和加載的程序
  10. svnmucc 該工具支持在沒有工做副本的狀況下, 在一個單獨的提交中對多個 倉庫執行基於 URL 的操做

    Svn 服務端運行方式

    • 獨立服務器訪問s svn://svn.server.net/svn_test
    • 藉助apache等http服務 http://svn.server.net/svn_test
    • 本地文件 file:///svn_test

      經常使用Svn軟件工具

      windows

  11. server端VisualSVN
  12. client端TrotoiseSVN

    linux

  13. subversion

基礎環境

  • Centos7.4 x86_64

subversion軟件安裝

yum install subversion mod\_svn_dav httpd

Svn服務器部署

  • 庫目錄/home/SVN_REPO
  • 賬號驗證文件目錄/etc/subversion
  • 訪問路徑http://ip_address/svn/

    建立密碼驗證文件

    示例建立user01的svn用戶

    cd /etc/subversion
    htpasswd -c svnuser user01linux

    htpasswd命令用法

  • -c:建立一個加密文件;
  • -n:不更新加密文件,只將加密後的用戶名密碼顯示在屏幕上;
  • -m:默認採用MD5算法對密碼進行加密;
  • -d:採用CRYPT算法對密碼進行加密;
  • -p:不對密碼進行進行加密,即明文密碼;
  • -s:採用SHA算法對密碼進行加密;
  • -b:在命令行中一併輸入用戶名和密碼而不是根據提示輸入密碼;
  • -D:刪除指定的用戶。
    示例
    利用htpasswd命令添加用戶 (用戶user01,密碼123456)

    htpasswd -bc svnuser user01 123456算法

    在原有密碼文件中增長下一個用戶(更新用戶密碼與之相同)

    htpasswd -b svnuser user02 123456apache

    刪除一個用戶

    htpasswd -D svnuser user02windows

修改httpd配置

不一樣的系統路徑略有不一樣

vi /etc/httpd/conf.modules.d/10-subversion.conf服務器

<location /svn>
  DAV svn
  SVNListParentPath On
  SVNParentPath /home/SVN_REPO/
  AuthType Basic
  AuthName "Authorization Realm"
  AuthUserFile /etc/subversion/svnuser
  Require valid-user
  <IfModule mod_authz_svn.c>
  #AuthzSVNAccessFile /etc/httpd/authz
  AuthzSVNReposRelativeAccessFile authz
  </IfModule>
</location>

建立svn庫

建立一個名爲svn_test庫
cd /home/SVN_REPO
svnadmin create svn_test

配置訪問權限

添加user01對svn_test根目錄讀寫權限
cd /home/SVN_REPO/svn_test/conf
vi authz
[svn_test:/]
user01 = rw

authz權限文件語法

[<倉庫名稱>:<倉庫路徑>] 
內容 ==書寫方式
用戶名 = 權限(r, rw) user01 = r
或者:
@組名 = 權限(r, rw) @group = r
相關文章
相關標籤/搜索