posts - 325,  comments - 25,  trackbacks - 0

          svn(subversion)是近年來崛起的版本管理工具,是CVS的接班人。目前,絕大多數開源軟件都使用svn作為代碼版本管理軟件。svn服務器 有2種運行方式:獨立服務器和借助apache等web服務器。兩種方式各有利弊。svn存儲版本數據也有2種方式:BDB和FSFS。因為BDB方式在 服務器中斷時,有可能鎖住數據,所以還是FSFS方式更安全一點。

          本文主要介紹SVN獨立服務器的的安裝和簡單配置:

          安裝(centos下yum即可方便的完成安裝)
          # yum install subversion
          測試安裝是否成功:
          # svnserve --version      回車顯示版本說明安裝成功

          建立版本庫
          # mkdir /svndata              創建svn數據目錄(目錄可自行制定)
          # svnadmin create /svndata/kuming                  kuming就是版本庫的名字,可以改變!

          配置svn配置文件(為了方便管理,這里多個庫調用相同的配置文件。)

          #每個版本庫創建之后都會生成svnserve.conf主配文件
          # vim /svndata/kuming/conf/svnserve.conf

          [general]
          anon-access = none
          auth-access = write
          password-db = /svndata/conf/passwd
          authz-db = /svndata/conf/authz
          realm =kuming

          # mkdir /svndata/conf
          # vim /svndata/conf/passwd      //svn用戶配置文件

          [users]
          user1 = password1
          user2 = password2
          user3 = password3
          user4 = password4

          # vim /svndata/conf/authz      //svn權限控制配置文件

          [groups] #設置組
          group1 = user1,user2 #多用戶用逗號隔開

          [/] #根目錄權限設置(就是“kuming”這個文件夾)
          user3 = rw #用戶1權限是:可讀寫
          user4 = r #用戶2權限是:可讀,不可寫
          user = #什么都沒寫代表沒有任何權限

          @group1 = rw #設置組權限

          [kuming:/123] #設置根目錄下“123”文件夾的權限
          #說明“123”這個文件件怎么創建?這是在SVN服務器配置好之后,創建一個權限很高的用戶在客戶端登錄SVN
          #然后創建一個文件夾“123”。

          啟動服務器
          # svnserve -d -r /svndata
          -d表示以daemon方式(后臺運行)運行
          -r /svndata指定根目錄是/svndata
          關閉SVN 服務器
          # killall svnserve

          # ps aux | grep svnserve    查看服務,端口:3690

          客戶端使用的軟件是TortoiseSVN
          瀏覽方法:
          打開版本庫瀏覽器輸入:svn://ip-addr/kuming/文件夾名

          下面是隨便折騰一個小腳本用來管理服務器的啟動、重啟、停止等操作
          # vim svn
          # chmod +x svn

          #!/bin/bash
          case "$1" in
          start)
          svnserve -d -r /svndata
          svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
          if [ $svnport -eq 3690 ]
          then
          echo "SVN Server Already Runnning. Port:3690"
          else
          echo "SVN Server Does Not Start"
          fi
          ;;
          reload)
          svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
          if [ $svnport -eq 3690 ]
          then
          killall svnserve && svnserve -d -r /svndata
          echo "Reload OK"
          else
          echo "SVN Server Is Not Running"
          fi
          ;;
          stop)
          killall svnserve
          echo "SVN Server Has Been Stopped"
          ;;
          status)
          svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
          pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
          if [ $svnport -eq 3690 ]
          then
          echo "SVN Server (pid:$pid) 正在運行..."
          else
          echo "SVN Server 停止運行..."
          fi
          ;;
          *)
          echo "$0: Usage: $0 {start|status|stop|reload}"
          exit 1
          ;;
          esac

          該腳本使用方法我想應該不用多說了,全文完。

          posted on 2012-04-19 10:26 長春語林科技 閱讀(748) 評論(0)  編輯  收藏 所屬分類: linux
          <2012年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 克什克腾旗| 清丰县| 弥勒县| 昌江| 白朗县| 育儿| 丽水市| 乐昌市| 康马县| 永川市| 凤翔县| 岑溪市| 营口市| 左云县| 陆良县| 孙吴县| 黎平县| 沛县| 旺苍县| 丰城市| 泾源县| 镇江市| 达孜县| 苗栗县| 汤原县| 即墨市| 金堂县| 来宾市| 墨竹工卡县| 舒兰市| 遂平县| 双流县| 贡嘎县| 河东区| 定西市| 台南县| 宜州市| 汉川市| 曲周县| 伊吾县| 宣城市|