Yanghn Notes

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            10 Posts :: 10 Stories :: 2 Comments :: 0 Trackbacks

          一、安裝

          1. 下載:http://subversion.tigris.org

          2. 解壓:#: tar zxvf subversion-1.3.2.tar.gz

          3. 依次輸入./configure , make , make install 進行編譯安裝完成

          4. 開啟SVN服務:svnserve –d

          5. 檢測服務是否開啟:netstat -ntlp如果看到3690的端口正常開放了,證明SVN啟動了

           

          二、使用

          1. 建立項目:svnadmin create project_name 【project_name為你的project名字,可以任意取】

          2. 進入project_name\conf文件夾,(如果沒有passwd文件,可以用vi創建),

          編輯 svnserve.conf 把anon-access = read ,auth_access = write
          還有password-db = passwd 的注釋去掉,還有[general]的注釋也要去掉

           

          .需要兩個文件,httpd和subversion. httpd是web服務器,用來通過web訪問subversion,httpd可以在apache官方網站上下載到

          2.新建一個用戶:svnroot 
          最好不要讓root用戶參與到svn的權限管理和日常的運行和維護工作中來,但是下面的一些安裝和配置操作還是 需要root用戶來完成的,因為有些操作只有root才能做。權限問題很重要。曾經因為權限問題折騰了一天。

          3.編譯安裝httpd (root用戶操作):

          //解壓apache2安裝包
          # tar xvzf httpd-2.2.2.tar.gz
          //進入解壓后的目錄
          # cd httpd-2.2.2
          //配置apache安裝,前兩個參數是必須要加的,你還可以根據您的需要添加其他的參數。
          //后面的參數制定你要把apache安裝哪里
          # ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
          # make
          //安裝
          # make install
          # cd /usr/local/apache2/bin
          //啟動apache服務
          # ./apachectl start
          //打開瀏覽器http://localhost/如果有測試頁"It works!"出現則證明已經安裝成功。

          4.

          安裝Subversion

          //解壓SubVersion安裝包 (root用戶進行下面的操作)
          # tar xvzf Subversion-1.3.1.tar.gz
          //進入解壓后的目錄
          # cd Subversion-1.3.1
          //配置subversion安裝
          #./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion 
          --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib 
          --enable-maintainer-mode
          # make
          //安裝
          # make install
          //創建庫文件所在的目錄 (svnroot用戶進行下面的操作)
          # mkdir /home/svnroot/repository
          //進入subversion的bin目錄
          # cd /usr/local/subversion/bin
          //創建倉庫"test"
          # ./svnadmin create /home/svnroot/repository/test
          # cd /home/svnroot/repository/test
          //看看是不是多了些文件,如果是則說明Subversion安裝成功了
          # ls –l
          # cd /usr/local/subversion/bin
          //這條語句將把路徑/home/user/import下找到的文件導入到你創建的Subversion 倉庫中去,
          //提交后的修訂版為1。
          # ./svn import /home/user/import file:///home/svnroot/repository/test –m "注釋"
          //不讓其他人有該目錄的權限
          # chmod 700 /home/svnroot/repository

          5.修改Apache配置文件

          # cd /usr/local/apadche2/bin 
          //啟動Apache 
          # ./apachect1 start 
          # vi /usr/local/apache2/conf/httpd.conf 
             //在最下面添加 
             LoadModule dav_svn_module modules/mod_dav_svn.so 
             LoadModule authz_svn_module modules/mod_authz_svn.so 
             <Location /svn> 
             DAV svn 
             SVNParentPath /home/svnroot/repository/ //svn父目錄 
             AuthzSVNAccessFile /home/svnroot/repository/authz.conf //權限配置文件 
             AuthType Basic //連接類型設置 
             AuthName "Subversion.zoneyump" //連接框提示 
             AuthUserFile /home/svnroot/repository/authfile //用戶配置文件 
             Require valid-user //采用何種認證 
             </Location>
             //其中authfile是通過"htpasswd [–c] /home/svnroot/repository/authfile username password"來創建的 
             //"Require valid-user"告訴apache在authfile中所有的用戶都可以訪問。如果沒有它,
             //則只能第一個用戶可以訪問新建庫 

          6.重啟apache

          # ./usr/local/apache2/bin/apachectl restart 
          //打開瀏覽器訪問http://localhost/svn/test/,如果有東西顯示就說明成功。

          7.權限管理
          1)增加用戶

          # htpasswd [-c] /home/svnroot/repository/authfile wooin
          //第一次設置用戶時使用-c表示新建一個用戶文件。回車后輸入用戶密碼,完成對用戶的增加
          # htpasswd authfile 用戶名(加入新的用戶)

          2)權限分配

          # vi /home/svnroot/repository/authz.conf 
             [test:/] //這表示,倉庫test的根目錄下的訪問權限 
             wooin = rw //test倉庫wooin用戶具有讀和寫權限 
             bao = r //test倉庫bao用戶具有讀權限 
             [test2:/] //test2倉庫根目錄下的訪問權限 
             wooin = r //wooin用戶在test2倉庫根目錄下只有讀權限 
             bao = //bao用戶在 test2倉庫根目錄下無任何權限 
             [/] //這個表示在所有倉庫的根目錄下 
             * = r //這個表示對所有的用戶都具有讀權限 
             #[groups] //這個表示群組設置 
             #svn1-developers = wooin, bao //這個表示某群組里的成員 
             #svn2-developers = wooin 
             #[svn1:/] 
             #@svn1-developers = rw //如果在前面加上@符號,則表示這是個群組權限設置

          將這個設置完成后。重啟Apache,就可以通過 
          http://localhost/svn/test 
          這個URL來訪問倉庫了,當然,受權限的限制,必須是合法用戶才能訪問且具有相應的權限

           


          備注:

          1。apache進程的權限:因為所有跟倉庫傳輸的操作都是通過apache進程進行的,所以即使你給svn用戶設置了 很大的權限,但是apache進程沒有訪問倉庫或者相關文件的權限也沒有用,apache進程的權限設置在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的這兩行:

          User daemon # 將daemon改為svnroot,讓apache進程以svnroot的身份運行 
          Group daemon 

          2。

          在/etc/profile的結尾設置一些svn啟動時要做的工作

          # start apache server for svn 
          /usr/sbin/apachectl start 
          export SVN_EDITOR=vi

          3。/home/respository/svnroot下的文件操作權限有給svnroot.

          posted on 2010-05-10 10:07 小海 閱讀(240) 評論(0)  編輯  收藏

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 林周县| 武隆县| 蒙山县| 民和| 威信县| 通辽市| 仁怀市| 安顺市| 玛曲县| 凉城县| 涡阳县| 襄樊市| 新巴尔虎左旗| 顺平县| 剑河县| 弥勒县| 和田市| 阿合奇县| 东丽区| 镇宁| 涿州市| 盐津县| 北碚区| 横峰县| 虹口区| 太原市| 会泽县| 宁蒗| 永顺县| 元朗区| 柳江县| 崇文区| 马山县| 沙洋县| 紫阳县| 长岭县| 杭州市| 衡东县| 曲水县| 永靖县| 娄烦县|