posts - 11, comments - 29, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          小探Subversion Server 之 Apache配置

          Posted on 2006-01-26 23:32 -=Kinohl=- 閱讀(3249) 評論(0)  編輯  收藏 所屬分類: 軟件評測
          ***************************************
          關(guān)鍵字:Subversion,Apache,DAV
          難易度: 簡單

          軟件版本:subversion1.2.3
          apache-server 2.0.55

          時間:2006-01-26
          Author:Kino
          ***************************************
          安裝到Apache
          Subversion作為CVS的次代作品,Kerl真的是煞費苦心啊。現(xiàn)在我們就來看看如何配置它到ApacheServer。
          Subversion本身有一個自帶的小server就是bin下的cvsserve ,通過svn://XXXX進(jìn)行訪問。同時支持ssh配置。但是弱點就是這個server對于權(quán)限和用戶管理很弱,對于大型項目,必須將他掛在ApacheServer這樣的重磅薩巴上。
          [svnserve的用戶文件需要修改conf下的2個文件,自己看看,很簡單都有注釋的,這里不說了]

                  你應(yīng)該得到subversion的二進(jìn)制安裝版,比較穩(wěn)定的是1.2.3版本,這個版本對于apacheserver最低的版本要求是2.0.45 所以我們可以去apache官方站點下載2.0.55版本(最新已經(jīng)是2.5了吧)。分別安裝2個軟件。
          ok,軟件環(huán)境好了,那就來連接他們吧。

          數(shù)據(jù)庫連接:
          (如果你懶得改,那么安裝軟件的時候就一定要先安裝ApacheServer,Subversion安裝的時候會自動修改)
          subversion可以被看作是一個特殊的數(shù)據(jù)庫(事實上也就是,呵呵FSFS 和伯克利DB)。那么就需要讓Apache能夠訪問subversion的數(shù)據(jù)庫,這就用到了module概念,我們便來修改httpd.conf文件。
          1。打開Apache自帶的DAVmodule:去掉“LoadModule dav_module modules/mod_dav.so”前的#
          2。追加訪問subversion用的module:(subversion安裝目錄bin下自帶有這2個modules)
          LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
          LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"

          權(quán)限設(shè)置:
          比較麻煩的東西來了。我們需要配置3個東西:
          1。在httpd.conf中追加<Location > 。例子如下:
          #配置subversion用戶權(quán)限
          <Location /mysvn>
            DAV svn
            # http中輸入 "/mysvn/Parser" URL will map to a repository F:/SVN/repository/Parser
           SVNParentPath F:/SVN/repository/

            #聲明 accessfilepolicy 文件,目的是確認(rèn)Group分類和目錄的訪問權(quán)限
           AuthzSVNAccessFile F:/SVN/commonconf/accessfilepolicy 

           # only authenticated users may access the repository
           # Require valid-user
           # For any operations other than these, require an authenticated user.
           <LimitExcept GET PROPFIND OPTIONS REPORT>
              Require valid-user
           </LimitExcept>

            # 聲明userauthofapachedav文件,其內(nèi)容是各個用戶的md5密碼
            AuthType Basic
            AuthName "HFSVB AuthName"
            AuthUserFile F:/SVN/commonconf/userauthofapachedav
          </Location>

          2。accessfilepolicy 文件(放在項目的conf目錄下,也可隨意) 如下:
          #this file communicate with httpd file's Location Tag ,per file  per Tag
          #like svnserve.conf  here section is [repos-name:path] or [path]
          #if you use SVNParentPath in httpd.conf then here you MUST use repository name
          #if you use SVNPath ,no problem
          #r   read     w   write 

          #don't have any right to parser:/src/ of user guest
          #[repository名字:path]
          #[parser:/src/]
          #guest =

          [groups]
          administrator = admin
          developer = tester
          everyone = admin, tester

          #default no one has right to repos,so use * to everyone
          [parser:/] #根目錄下所有的文件和目錄,又繼承關(guān)系
          * = r  #默認(rèn)的所有人都有 讀權(quán)限
          @developer = rw  #這就表明只有developer(tester)才有讀寫權(quán)限
          [ 具體的文件和內(nèi)容可查閱 Orilly的《使用Subversion進(jìn)行版本控制》
          訪問 http://www.subversion.org.cn/svnbook/1.1/index.html  ]
          3。userauthofapachedav文件
          admin:$apr1$A45.....$WQ0RCK61I/PO4gSKt.kK60
          這個文件是如何生成的呢,使用apache 的bin目錄下的htpasswd.exe。用法可以參照 --help的幫助。
          這里給一個例子吧
          >htpasswd -cm C:/userauthofapachedav  admin
          >input password:admin123
          >again : admin123 
          具體的英文忘了。呵呵不過很簡單的。

          好了,就這么簡單。祝大家開心。這只是入門。具體的操作還要靠各位自己去感受。

          關(guān)于如何設(shè)置subversion的項目庫,上邊提到的orilly的書就有記載。

                 


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 荥经县| 巫山县| 竹北市| 平邑县| 深水埗区| 岐山县| 海林市| 祥云县| 淮阳县| 定日县| 珠海市| 九龙城区| 明水县| 蕉岭县| 台北市| 隆化县| 永吉县| 湖州市| 顺昌县| 宁德市| 巴林左旗| 襄垣县| 洮南市| 航空| 平定县| 武乡县| 连州市| 新和县| 德江县| 弋阳县| 肥乡县| 贵南县| 贵阳市| 灌云县| 化州市| 大理市| 新乐市| 高青县| 昌邑市| 隆回县| 延边|