jasmine214--love

          只有當(dāng)你的內(nèi)心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          導(dǎo)航

          公告

          這里是我記錄學(xué)習(xí)與成長的地方,文章大多摘自網(wǎng)絡(luò),如有不妥,作者可以跟我聯(lián)系,我會盡快刪除。
          <2010年9月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(10)

          隨筆分類(920)

          隨筆檔案(724)

          收藏夾(15)

          Ajax

          JS

          VC++

          WLAN

          版本管理

          網(wǎng)管軟件

          項目管理

          高手成長

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          Ubuntu上搭建SVN服務(wù)器全攻略

          Posted on 2010-09-13 14:18 幻海藍夢 閱讀(1316) 評論(0)  編輯  收藏 所屬分類: Linux版本管理

          目 錄
          1 概述... 3
          2 安裝Ubuntu 8.10服務(wù)器... 3
          3 安裝Apache服務(wù)器... 3
          4 創(chuàng)建SVN服務(wù)器... 3
          4.1 安裝SVN.. 3
          4.2 增加組... 4
          4.3 創(chuàng)建SVN倉庫... 4
          4.4 配置Apache服務(wù)器... 4
          5 配置SSL. 6
          6 遠程修改svn用戶口令... 10
          6.1 修改Apache2的配置文件... 10
          6.2 安裝mod_perl默認包... 10
          6.3 相關(guān)配置... 10
          6.4 獲得修改口令的Perl腳本... 11
          6.5 修改腳本執(zhí)行權(quán)限... 11
          7 設(shè)置SVN的權(quán)限... 12
          7.1 修改Apache的配置... 12
          7.2 認證文件的配置... 13
          8 參考文獻... 14

          附錄A:遠程修改SVN用戶口令工具使用方法... 14
          附錄B:Ubuntu 8.10修改IP地址... 15
          附錄C:Ubuntu 下配置SSH服務(wù)... 15

          1 概述

          本文詳細描述了Ubuntu 環(huán)境下,SVN Apache SSL架構(gòu)的SVN服務(wù)器的搭建過程。通過https來訪問SVN服務(wù)器,采用基于Apache的用戶認證管理。用戶的權(quán)限使用authz配置。

          2 安裝Ubuntu 8.10服務(wù)器

          可以是Ubuntu 8.10 Server或者是Desktop。安裝過程中創(chuàng)建一個用戶名為administrator的系統(tǒng)帳戶,作為本服務(wù)器日常管理帳戶。另外,為了方便后續(xù)的說明,假設(shè)服務(wù)器的ip地址為192.168.19.3。

          安裝完成后,需要先運行更新管理器,以獲得最新的源列表。

          3 安裝Apache服務(wù)器

          在新立得軟件包管理器里面,搜索apache2并選擇安裝 Apache2,libapache2-svn(apt-get install apache2 && apt-get install libapache2-svn)。安裝完成后,確認能通過http訪問http://192.168.19.3。正常情況下,會得到如下界面:

          說明apache已經(jīng)正常工作了。

          4 創(chuàng)建SVN服務(wù)器

          4.1 安裝SVN

          在新立得軟件包管理器里面,搜索subversion,并選擇安裝 subversion,subversion-tools。安裝好之后,進入下一步。

          4.2 增加組

          方法如下:

          l 在 Ubuntu 菜單上選擇“系統(tǒng)->系統(tǒng)管理->用戶和組”;

          l 切換到“組”標簽;

          l 點擊“添加組”按鈕;

          l 組名為“subversion”;

          l 將您自己(administrator)和“www-data”(Apache 用戶)加入組成員中;

          l 點擊“OK”以確認修改,關(guān)閉該程序。

          或者直接使用命令,增加組和成員:

          sudo addgroup subversion

          sudo usermod -G subversion -a www-data administrator

          當(dāng)然,修改組也可以直接修改組文件: sudo vi /etc/group。

          然后需要注銷(我都是直接重新啟動)再登錄以便能夠真正成為 subversion 組的一員。

          4.3 創(chuàng)建SVN倉庫

          現(xiàn)在執(zhí)行下面的命令

          # cd /home

          # sudo mkdir svn

          #/usr/local/svn# sudo chown -R www-data:subversion svn

          #/usr/local/svn# sudo chmod g+rwx svn -R

          最后的一條命令賦予組成員對所有新加入文件倉庫的文件擁有相應(yīng)的權(quán)限。

          下面的命令用于創(chuàng)建 SVN 文件倉庫:

          #sudo svnadmin create /home/svn

          4.4 配置Apache服務(wù)器

          先備份一下Apache2的配置文件,執(zhí)行如下命令:

          #/usr/local/svn# sudo cp -R /etc/apache2 /etc/apache2_bak

          通過 WebDAV 協(xié)議訪問 SVN 文件倉庫,您必須配置您的 Apache 2 Web 服務(wù)器。您必須加入下面的代碼片段到您的 /etc/apache2/mods-available/dav_svn.conf中:(加在文件最后面即可)

          <Location /svn >

          DAV svn

          SVNPath /home/svn

          AuthType Basic

          AuthName "welcome to subversion repository"

          AuthUserFile /etc/subversion/passwd

          #<LimitExcept GET PROPFIND OPTIONS REPORT>

          Require valid-user

          #</LimitExcept>

          </Location>

          如果需要用戶每次登錄時都進行用戶密碼驗證,請將<LimitExcept GET PROPFIND OPTIONS REPORT>與</LimitExcept>兩行注釋掉。

          當(dāng)您添加了上面的內(nèi)容,您必須重新啟動 Apache 2 Web 服務(wù)器,請輸入下面的命令:

          sudo /etc/init.d/apache2 restart

          接下來,您需要創(chuàng)建 /etc/subversion/passwd 文件,該文件包含了用戶授權(quán)的詳細信息。要添加用戶,您可以執(zhí)行下面的命令:

          sudo htpasswd -c /etc/subversion/passwd superman

          它會提示您輸入密碼,當(dāng)您輸入了密碼,該用戶就建立了。您可以通過下面的命令來訪問文件倉庫:

          你還可以繼續(xù)創(chuàng)建其他用戶,但是不能再用-c選項了,因為-c選項表示創(chuàng)建一個新的用戶授權(quán)文件,一旦選用,原有的授權(quán)文件就被覆蓋了。

          sudo htpasswd /etc/subversion/passwd user_name

          此時,應(yīng)該就可以通過web方式訪問svn服務(wù)器了。在瀏覽器的地址欄輸入 http://192.168.19.3/svn/會彈出用戶驗證的窗口:

          輸入正確的用戶名和口令后,就能看到如下界面:


          7 設(shè)置SVN的權(quán)限

          7.1 修改Apache的配置

          為了實現(xiàn)細粒度的權(quán)限控制,可以通過修改svn的倉庫目錄下的 conf/authz文件來實現(xiàn)。在此之前,需要告訴Apache,使用該文件

          sudo vi /etc/apache2/mods-available/dav_svn.conf

          修改后如下,其中藍色字體為新添加的內(nèi)容:

          <Location /svn >

          DAV svn

          SVNPath /home/svn

          AuthType Basic

          AuthzSVNAccessFile /home/svn/conf/authz

          AuthName "welcome to subversion repository"

          AuthUserFile /etc/subversion/passwd

          #<LimitExcept GET PROPFIND OPTIONS REPORT>

          Require valid-user

          #</LimitExcept>

          </Location>

          7.2 認證文件的配置

          sudo vi /home/svn/conf/authz

          文件內(nèi)容類似如下:

          [groups]

          admin = admin

          dev1 = jack, kate

          dev2 = zbh2342, yingjianhh45, tantt, arei22

          docs = bob, jane, mike

          training = zak

          # Default access rule for ALL repositories

          # Everyone can read, admins can write, Dan German is excluded.

          [/]

          * = r

          @admin = rw

          dangerman =

          # Allow developers complete access to their project repos

          [project:/]

          * = r /其他用戶只有讀權(quán)限

          @admin = rw /admin,dev1這個兩個組有讀寫權(quán)限

          @dev1 = rw

          對子項目的控制

          [project:/DDWap] /對project/DDWap子目錄有讀寫權(quán)限,下面類似。

          @dev2 = rw

          [project:/DDAdmin]

          @dev2 = rw

          [project:/DDSync]

          @dev2 = rw

          [project:/DDWeb]

          @dev2 = rw

          [project:/DDWeb]

          @dev2 = rw

          [project:/docs]

          @dev2 = rw

          [project:/thirdparty]

          @dev2 = rw

          通過實踐,感覺Apache的權(quán)限配置很簡單,但不是太方便,如果要針對子目錄設(shè)置不同的權(quán)限,則需要將每個目錄的權(quán)限都顯式的指定。

           

          本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/jianping_shen/archive/2010/06/27/5697899.aspx

          主站蜘蛛池模板: 温宿县| 昭觉县| 叙永县| 兖州市| 遂溪县| 土默特左旗| 台前县| 漳州市| 定日县| 东阳市| 米林县| 房产| 威信县| 陵水| 松阳县| 桂阳县| 竹溪县| 蓬莱市| 蒙城县| 平潭县| 梅河口市| 泗阳县| 古浪县| 错那县| 云阳县| 永定县| 南开区| 巴彦淖尔市| 丹棱县| 余干县| 瓮安县| 尚志市| 万山特区| 梅河口市| 萨迦县| 宝鸡市| 锡林浩特市| 金川县| 邵东县| 宁明县| 松溪县|