亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Ubuntu > 正文

ahjesus Ubuntu配置svn服務器

2024-06-28 13:26:02
字體:
來源:轉載
供稿:網友
ahjesus Ubuntu配置svn服務器轉載自http://www.CUOXin.com/ximu/articles/2119136.html 親測可用一、SVN安裝1.安裝包$ sudo apt-get install subversion2.添加svn管理用戶及subversion組$ sudo adduser svnuser$ sudo addgroup subversion$ sudo addgroup svnuser subversion3.創建項目目錄$ sudo mkdir /home/svn$ cd /home/svn$ sudo mkdir fitness$ sudo chown -R root:subversion fitness$ sudo chmod -R g+rws fitness4.創建SVN文件倉庫$ sudo svnadmin create /home/svn/fitness5.訪問方式及項目導入:$ svn co file:///home/svn/fitness或者$ svn co file://localhost/home/svn/fitness* 注意:如果您并不確定主機的名稱,您必須使用三個斜杠(///),而如果您指定了主機的名稱,則您必須使用兩個斜杠(//).//--下面的命令用于將項目導入到SVN 文件倉庫:$ svn import -m "New import" /home/svn/fitness file:///home/svnuser/src/fitness一定要注明導入信息//--------------------------//6.訪問權限設置修改 /home/svn/fitness目錄下:svnserve.conf 、passwd 、authz三個文件,行最前端不允許有空格//--編輯svnserve.conf文件,把如下兩行取消注釋passWord-db = passwordauthz-db = authz//補充說明# [general]anon-access = readauth-access = writepassword-db = passwd其中 anon-access 和 auth-access 分別為匿名和有權限用戶的權限,默認給匿名用戶只讀的權限,但如果想拒絕匿名用戶的訪問,只需把 read 改成 none 就能達到目的。//--編輯/home/svnuser/etc/passwd如下:[users]mirze = 123456test1 = 123456test2 = 123456//--編輯/home/svnuser/etc/authz如下[groups]admin = mirze,test1test = test2[/]@admin=rw*=r這里設置了三個用戶mirze,test1,test2密碼都是123456其中mirze和test1屬于admin組,有讀和寫的權限,test2屬于test組只有讀的權限7.啟動SVN服務svnserve -d -r /home/svn描述說明:-d 表示svnserver以“守護”進程模式運行-r 指定文件系統的根位置(版本庫的根目錄),這樣客戶端不用輸入全路徑,就可以訪問版本庫如: svn://192.168.12.118/fitness這時SVN安裝就完成了.局域網訪問方式:例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness-----------------------------------------------------------------------二、HTTP:// [apache]1.安裝包 [已安裝subversion]$ sudo apt-get install libapache2-svn創建版本倉庫:sudo svnadmin create /目錄地址目錄地址必須存在,這個就是保存版本倉庫的地方,不同的版本倉庫創建不同的文件夾即可,比如:sudo svnadmin create /home/svn/PRoject本來/home/svn/project這個目錄下什么都沒有,執行下面的命令之后再去看一下,多出一些文件和文件夾,我們需要操作的是conf這個文件夾,這個文件夾下有一個文件,叫做passwd,用來存放用戶名和密碼。然后把這個版本倉庫目錄授權給apache讀寫:sudo chown -R www-data:www-data /目錄地址然后來到打開apache配置文件:sudo gedit /etc/apache2/mods-available/dav_svn.conf加入如下內容:<Location /project>DAV svnSVNPath /home/svn/projectAuthType BasicAuthName “myproject subversion repository”AuthUserFile /home/svn/project/conf/passwd#<LimitExcept GET PROPFIND OPTIONS REPORT>Require valid-user#</LimitExcept></Location>location說的是訪問地址,比如上述地址,訪問的時候就是http://127.0.0.1/project其中有兩行被注釋掉了,以保證每次都需要用戶名密碼。最后一步就是創建訪問用戶了,建議將用戶名密碼文件存放在當前版本倉庫下conf文件夾下,這樣版本倉庫多的時候無至于太亂。因為conf文件夾下已經存在passwd文件了,所以直接添加用戶:sudo htpasswd -c /home/svn/project/conf/passwd test然后輸入兩遍密碼,laoyang這個用戶就創建好了。打開/home/svn/project/conf/passwd這個文件,會開到形如如下形式的文本:test:WEd.83H.gealA//后面是加密后的密碼。創建以后,再次需要往別的版本倉庫添加這個用戶,直接把這一行復制過去就可以了。重啟apache就可以了。sudo /etc/init.d/apache2 restart-----------------------------------------------------------------------三、同步更新 [勾子]

同步程序思路:用戶提交程序到SVN,SVN觸發hooks,按不同的hooks進行處理,這里用到的是post-commit,利用post-commit到代碼檢出到SVN服務器的本地硬盤目錄,再通過rsync同步到遠程的WEB服務器上。

知識點:1、SVN的hooks# start-commit 提交前觸發事務# pre-commit 提交完成前觸發事務# post-commit 提交完成時觸發事務# pre-revprop-change 版本屬性修改前觸發事務# post-revprop-change 版本屬性修改后觸發事務通過上面這些名稱編寫的腳本就就可以實現多種功能了,相當強大。2、同步命令rsync的具體參數使用3、具有基個語言的編程能力bash python perl都可以實現

post-commit具體實現細節post-commit腳本

編輯文件:sudo vim /home/svn/fitness/hooks/post-commit

注意:編輯完成post-commit后,執行:sudo chmod 755 post-commit

內容:

#!/bin/shexport LANG=zh_CN.UTF-8sudo /usr/bin/svn update /var/www/www --username mirze --password 123456

#Set variableSVN=/usr/bin/svnWEB=/home/test_nokia/RSYNC=/usr/bin/rsyncLOG=/tmp/rsync_test_nokia.logWEBip="192.168.0.23"export LANG=en_US.UTF-8#update the code from the SVN$SVN update $WEB --username user --passwordpassword#If the previous command completed successfully, to continue the followingif [ $? == 0 ]thenecho "">> $LOGecho `date` >> $LOGecho "##############################" >> $LOGchown -R nobody:nobody /home/test_nokia/#Synchronization code from the SVN server to the WEB server, notes:by the key$RSYNC -vaztpH--timeout=90--exclude-from=/home/svn/exclude.list $WEB root@$WEBIP:/www/ >> $LOGfi以上是具體的post-commit程序注意事項:1、一定要定義變量,主要是用過的命令的路徑。因為SVN的考慮的安全問題,沒有調用系統變量,如果手動執行是沒有問題,但SVN自動執行就會無法執行了。2、SVN update 之前一定要先手動checkout一份出來,還有這里一定要添加用戶和密碼如果只是手動一樣會更新,但自動一樣的不行。3、加上了對前一個命令的判斷,如果update的時候出了問題,程序沒有退出的話還會繼續同步代碼到WEB服務器上,這樣會造成代碼有問題4、記得要設置所屬用戶,因為rsync可以同步文件屬性,而且我們的WEB服務器一般都不是root用戶,用戶不正確會造成WEB程序無法正常工作。5、建議最好記錄日志,出錯的時候可以很快的排錯6、最后最關鍵的數據同步,rsync的相關參數一定要清楚,這個就不說了。注意幾個場景:這里的環境是SVN服務器與WEB服務器是開的把SVN服務器定義為源服務器 WEB服務器為目的服務器場景一、如果目的WEB服務器為綜合的混雜的,像只有一個WEB靜態資源,用戶提交的,自動生成的都在WEB的一個目錄下,建議不要用–delete這個參數上面這個程序就是這樣,實現的是源服務器到目的服務器的更新和添加,而沒有刪除操作,WEB服務器的內容會多于源SVN的服務器的場景二、實現鏡像,即目的WEB服務器與源SVN服務器一樣的數據,SVN上任何變化WEB上一樣的變化,就需要–delete參數場景三、不需要同步某些子目錄,可能有些目錄是緩存的臨時垃圾目錄,或者是專用的圖片目錄(而不是樣式或者排版的)要用exclude這個參數注意:這個參數的使用不用寫絕對路徑,只要目錄名稱就行 aa代表文件 aa/ 代表目錄 ,缺點就是如果有多個子目錄都是一樣的名稱那么這些名稱就都不會被同步建議用–exclude-from=/home/svn/exclude.list 用文件的形式可以方便的添加和刪除exclude.list.svn/.DS_Storeimages/利用SVN的鉤子還可以寫出很多的程序來控制SVN 如代碼提交前查看是否有寫日志,是否有tab,有將換成空格,是否有不允許上傳的文件,是否有超過限制大小的文件等等。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情国产精品| 一区二区国产精品视频| 欧美另类69精品久久久久9999| 国产精品com| 亚洲а∨天堂久久精品9966| 亚洲国产成人久久综合| 国产精品久久久av| 精品福利免费观看| 久久久免费精品视频| 91精品国产高清久久久久久| 亚洲欧美999| 国产91精品久久久久| 亚洲国产97在线精品一区| 日韩一中文字幕| 美女福利精品视频| 一区国产精品视频| 久久九九免费视频| 国产婷婷色综合av蜜臀av| 国产一区二区久久精品| 国产精品主播视频| 国产精品色午夜在线观看| 日韩国产欧美区| 国产精品久久久久久久久免费看| 国产精品女视频| 国产女人18毛片水18精品| 国产欧美一区二区三区视频| 久久夜色精品国产欧美乱| 亚洲天堂av在线播放| 色青青草原桃花久久综合| 国产视频999| 国内精品久久久久影院 日本资源| 免费99精品国产自在在线| 亚洲第一视频网| 国产中文字幕91| 精品美女国产在线| 日韩在线www| 欧美视频在线观看免费| 国产午夜精品麻豆| 神马久久久久久| 中文字幕国产精品久久| 亚洲va欧美va国产综合久久| 国产欧美久久久久久| 国内精品国产三级国产在线专| 日韩最新免费不卡| 97不卡在线视频| 欧美一区三区三区高中清蜜桃| www.国产一区| 亚洲精品www久久久| 日本精品久久久久影院| 欧美激情一区二区久久久| 成人夜晚看av| 久久久亚洲天堂| 久久久成人的性感天堂| 激情久久av一区av二区av三区| 亚洲一区二区三区视频播放| 国产成人精品久久亚洲高清不卡| 羞羞色国产精品| 国产欧美日韩视频| 久久精品小视频| 日韩在线观看av| 欧美成人免费全部| 综合欧美国产视频二区| 亚洲一区国产精品| 欧美性猛交xxxx富婆弯腰| 久久精品国产综合| 日韩电影视频免费| 亚洲日本中文字幕免费在线不卡| 日本成人精品在线| 中文字幕精品一区二区精品| 久久综合久久88| 中文字幕在线看视频国产欧美| 国产精品va在线播放| 国产欧美日韩视频| 国产精品成av人在线视午夜片| 欧美国产亚洲视频| 欧美综合国产精品久久丁香| 视频在线观看99| 欧美日韩综合视频网址| 综合欧美国产视频二区| 亚洲天堂免费视频| 欧美性黄网官网| 久久精品男人天堂| 亚洲国产成人精品久久久国产成人一区| 91精品国产自产在线观看永久| 精品亚洲永久免费精品| 亚洲欧美国产精品| 91久久精品一区| 亚洲精品99久久久久中文字幕| 久久久久久久久久久网站| 中文字幕不卡在线视频极品| 伊人伊成久久人综合网小说| 日韩网站在线观看| 欧美巨乳美女视频| 成人免费激情视频| 国产成人亚洲综合91精品| 97在线视频免费看| 国产suv精品一区二区三区88区| 亚洲无亚洲人成网站77777| 精品国产乱码久久久久久婷婷| 日韩电视剧在线观看免费网站| 色综合久久天天综线观看| 欧美国产日韩视频| 成人天堂噜噜噜| 欧美一级电影在线| 亚洲第一页在线| xvideos亚洲人网站| 91精品国产高清久久久久久久久| 国产精品九九久久久久久久| 国产精品久久久久久久久久尿| 最近2019年手机中文字幕| 亚洲精品少妇网址| 日韩成人免费视频| 国产成人免费av电影| 国产成人精品视频在线观看| 中文字幕欧美日韩精品| 91国内免费在线视频| 亚洲国产精品人久久电影| 中文字幕欧美精品日韩中文字幕| 色噜噜狠狠狠综合曰曰曰88av| 日韩精品视频观看| 亚洲成成品网站| 欧美国产日韩一区| 富二代精品短视频| 欧美自拍大量在线观看| 亚洲激情成人网| 欧美激情在线有限公司| 狠狠综合久久av一区二区小说| 欧日韩不卡在线视频| 97av在线影院| 九色精品美女在线| 26uuu日韩精品一区二区| 久久天天躁夜夜躁狠狠躁2022| 97精品伊人久久久大香线蕉| 欧美乱大交做爰xxxⅹ性3| 日韩精品久久久久| 国产精品亚洲片夜色在线| 国产精品视频一区二区三区四| 欧美成人四级hd版| 成人激情电影一区二区| 色爱精品视频一区| 亚洲人成电影网站色| 亚洲欧洲日韩国产| 精品偷拍各种wc美女嘘嘘| 国产伊人精品在线| 亚洲国产成人久久综合一区| xxx一区二区| 蜜月aⅴ免费一区二区三区| 91高清视频在线免费观看| 亚洲欧美一区二区三区四区| 91国产视频在线播放| 久久久97精品| 尤物yw午夜国产精品视频明星| 裸体女人亚洲精品一区| 91精品免费看| 国产精品av网站| 国产一区二区久久精品| 欧美精品国产精品日韩精品| 午夜精品久久久久久99热| 国产伦精品免费视频| 亚洲免费视频观看| 在线成人激情视频| 亚洲人精选亚洲人成在线| 成人中文字幕+乱码+中文字幕| 亚洲四色影视在线观看|