lqxue

          常用鏈接

          統計

          book

          tools

          最新評論

          linux 下 svn 安裝

          一 安裝服務器端

          下載Apache和SVN源碼包:httpd-2.0.52.tar.gz,subversion-1.1.1.tar.gz
          (因為redhat 9默認安裝的Apache沒有并包含--enable-so選項,所以無法產生mod_dav_svn.沒有這個模塊,SVN就無法采用http方式運行,所以必須重新編譯新的Apache)
          以root身份執行:
          #tar zxvf httpd-2.0.52.tar.gz
          #cd httpd-2.0.52
          #./configure --enable-dav --enable-so --enable-maintainer-mode
          #make
          #make install
          此時會產生/usr/local/apache2目錄
          #tar zxvf subversion-1.1.1.tar.gz
          #./configure --with-apxs=/usr/local/apache2/bin/apxs
          #make
          #make install
          此時會自動在/usr/local/apache2/conf/httpd.conf添加
          LoadModule dav_svn_module modules/mod_dav_svn.so
          安裝完成后,運行svnserver --version確認版本為1.1.1。
          SVN服務器安裝結束.

          二 建立倉庫Repository

          Subversion 的檔案庫是個中央倉儲, 用來存放任意數量項目的受版本控管數據,建立方法很簡單
          #svnadmin create path/to/repos
          舉個例子:#svnadmin create /home/mysvn


          導入項目到版本中心庫
           #svn import /tmp/project/ file:///data/repos -m "initial import"


          三 運行服務器

          Subversion服務器有兩種運行方式,一是可以作為Apache 2.0的一個模塊,以WebDAV/DeltaV協議與外界連通;另外,也可使用Subversion 自帶的小型服務器程序svnserve。該程序使用的是自帶的通訊協議,可以很容易地透過SSH以
          以http方式運行
          在/usr/local/apache2/conf/httpd.conf中加入:
          <Location /svn/repository>
          DAV svn
          SVNPath /home/mysvn
          </Location>
          在服務器的瀏覽器中輸入網址:
          http://localhost/svn/repository/
          這時候,你會看到這樣一副界面:

          這表明服務器已經以http方式正常運行了.
          以svnserve方式運行
          這種方式的運行又可以分為以下兩種(這和vsftp有些相似)
          1) standalone mode
          直接運行 #svnserve –d
          運行 lsof -i :3690可以看到SVN服務器已經在運行

          四 客戶機訪問

          客戶機的訪問方法輿服務器的運行方式有直接關系
          window客戶機:
          1) 服務器以http方式運行

          安裝完TortoiseSVN-1.1.1-UNICODE_svn-1.1.1.msi后,在你想工作的目錄下點擊右鍵,執行checkout,按上圖輸入即可。

          2) 服務器以svnserve方式運行
          同上的區別只是URL of repository變為 svn://svn服務器ip/home/mysvn
          或者 svn+ssh://svn服務器ip/home/mysvn
          (注意不是//svn服務器ip//svn/repository)
          linux客戶機:
          1) 服務器以http方式運行
          執行 #svn checkout http: //svn服務器ip/svn/repository
          2) 服務器以svnserve方式運行
          執行 #svn checkout svn://svn服務器ip/home/mysvn
          或者 #svn checkout svn+ssh://svn服務器ip/home/mysvn

          五 客戶認證機制

          這輿服務器的運行方式有關

          服務器以svnserve方式運行
          默認下客戶可以以匿名方式通過svn://方式任意訪問檔案庫,為了限制其權限,比如只允許讀操作,可以通過修改檔案庫conf子目錄中的svnseve.conf文件來實現。
          #vi /home/mysvn/conf/svnseve.conf
          修改[general]字段下內容為:
          anon-access = read
          如果設為anon-access = none,則匿名用戶不可以通過svn://方式訪問檔案庫
          為了實現用戶認證,我們一般采用svn+ssh://訪問機制。
          首先在svnseve.conf文件設置anon-access = none禁止匿名用戶通過svn://方式訪問檔案庫
          在其后加入auth-access = write一行
          auth-access 是限制有援權的使用者(使用svn+ssh:// 來登入) 的存取權限,我們設為是可以讀寫。
          當用戶通過svn+ssh://訪問時,服務器會自動啟動ssh認證機制,要求用戶輸入密碼,對于window用戶來說還需要安裝第三方軟件openssh,才可以采用這種機制


          服務器以http方式運行
          比如我們想給 Sally 與 Harry 送交存取檔案庫的權限. 首先, 我們必須把它們加入到密碼檔案.
          # ### 第一次: 以 -c 建立檔案
          # htpasswd -c /etc/svn-auth-file harry
          New password: *****
          Re-type new password: *****
          Adding password for user harry
          # htpasswd /etc/svn-auth-file sally
          New password: *******
          Re-type new password: *******
          Adding password for user sally
          #
          接著,在/usr/local/apache2/conf/httpd.conf的加入:
          <Location /svn/repository >
          DAV svn
          SVNPath /home/mycvs
          AuthType Basic
          AuthName "Subversion repository"
          AuthUserFile /etc/svn-auth-file
          Require valid-user
          </Location>
          重新啟動 Apache后,如果有人要訪問SVN服務器,系統會要求他輸入用戶名和密碼。 只有輸入Sally 或Harry的用戶名和相應的密碼,才可以對檔案庫進行修改和訪問

          六 添加用戶

          打開/conf/目錄,打開svnserve.conf找到一下兩句:

          # [general]
          # password-db = passwd

          去之每行開頭的#,其中第二行是指定身份驗證的文件名,即passwd文件
          同樣打開passwd文件,將

          # [users]
          # harry = harryssecret
          # sally = sallyssecret
          這幾行的開頭#字符去掉,這是設置用戶,一行一個,存儲格式為“用戶名 = 密碼”,如可插入一行:admin = admin888,即為系統添加一個用戶名為admin,密碼為admin888的用戶

          posted on 2007-08-03 10:30 lqx 閱讀(483) 評論(0)  編輯  收藏 所屬分類: linux

          主站蜘蛛池模板: 平昌县| 蓬溪县| 克东县| 大石桥市| 伊宁市| 建湖县| 舒城县| 班戈县| 丁青县| 威信县| 报价| 连南| 洪湖市| 枣庄市| 扬州市| 舟曲县| 洱源县| 汕头市| 巴里| 湄潭县| 桐乡市| 聂拉木县| 利辛县| 麟游县| 维西| 克东县| 永新县| 东安县| 甘肃省| 上蔡县| 确山县| 枝江市| 登封市| 平湖市| 黄石市| 余姚市| 沙洋县| 明溪县| 多伦县| 岢岚县| 黑水县|