?????? linux下subversion+apache的配置我在網上看過很多關于subversion配置的blog,但是按照其

上操作并不能成功配置,也講的不是很清楚。在此向大家推薦《使用Subversion進行版本控制》一書,網上有中文電子檔,該書對subversion有很詳細的介紹,感興趣的朋友可以去看一下。這里我只介紹subversion基本使用方法,以及和apache的結合。

?????? 1.基本使用方法

apache怎么配置?????????svn 命令行客戶端程序

????????svnversion 此工具用來顯示工作拷貝的狀態

????????svnlook 直接查看subversion版本庫的工具

????????svnadmin 建立,調整和修復subversion版本庫的工具

apachemaven安裝與配置、????????svndumpfilter 過濾subversion版本庫轉儲數據流的工具

????????svnserver 一個單獨的服務器程序,可以作為守護進程或由ssh調用,這是另一種使版本庫可以通過網絡訪問的方式

????????svnsync 一個通過網絡增量鏡像版本庫的程序

????????svnadmin create /mnt/websvn #創建版本庫websvn

apache修改conf配置文件?????????svn import myfile file:///mnt/websvn/hello #將末版本化文件導入版本庫的最快方法,會跟據需要創建中介目錄

????????wKiom1PZ-XWj1ZeQAABNoCp-XTQ251.jpg

????????svn list file:///mnt/websvn/hello #列出版本庫中的文件

????????wKioL1PZ-qTDSI3tAAAajSf5VCg377.jpg

????????svn checkout file:///mnt/websvn/hello #將版本庫中的最新版本文件存儲在本地,執行后本地會生成一個hello文件夾(也叫工作拷貝),-r +版本號,可以取出指定版本號的工作拷貝,eg:svn

checkout -r 4 file:///mnt/websvn/hello

????????wKioL1PZ-ubgZ44vAABAnsA3BzU351.jpg

????????svn checkout file:///mnt/websvn/hello /tmp/hello ????#將版本庫中的最新版本文件存儲在本地指定的地方

????????svn update #更新你的工作拷貝與最新的版本同步svn add/delete/copy/move #作出修改

????????svn status/diff (-v) #檢驗修改

????????????A 表示預定加入到版本庫的文件,目錄或符號鏈

????????????C 表示文件發生沖突,在從服務器更新時與本地版本發生交迭

????????????D 表示文件,目錄或是符號鏈從版本庫中刪除

????????????M 表示文件內容被修改了

????????svn revert file #取消對file的一些修改

????????svn commit -m "txt" ????#提交你的更改到版本庫,當你提交修改時,你需要提供一些描述修改的一些日志信息,你的信息會附到這個修訂版本上,-m選項就是用來提供這種信息

????????svn log ????#提供你一條記錄,包括:誰對文件,目錄做了修改,哪些修訂版本做了修改,修訂版本的日期和時間,還有你當時提供的日志信息

##########以上為svn的常用命令行操令#############

##########一下為svn+apache的配置##############
1.安裝軟件
????yum install subversion mod_dav_svn httpd -y

2.配置apache

????cd /etc/httpd/conf.d/

????vim subversion.conf

????? ? LoadModule dav_svn_module ? ? /etc/httpd/modules/mod_dav_svn.so

????? ? LoadModule authz_svn_module ? /etc/httpd/modules/mod_authz_svn.so????

???????? <Location /svn> #apache代理所有url路徑部分為/svn的請求到svn的提供者DAV
? ????????DAV svn
? ????????SVNPath /mnt/hello/websvn?????? #注意路徑
? ? ? ????AuthType Basic
? ? ? ????AuthName "Authorization Realm"
? ? ? ????AuthUserFile "/etc/httpd/conf.d/authsvn" #基于httpd認證
? ? ? ????Require valid-user
????????</Location>
????wKiom1PZ-emyxWL1AAFlf56zZ2Q041.jpg ? ???

htpasswd -cm /etc/httpd/conf.d/authsvn test (輸入2次密碼) #生成認證文件

3.配置subversion

???? mkdir dir;cd dir

?????touch file{1,2,3}{a,b,c}

?????svnadmin create /mnt/hello/websvn

?????svn import dir file:///mnt/hello/websvn/qwg

?????svn list file:///mnt/hello/websvn/qwg

???? svn status -v

?????cd /mnt/hello/websvn/conf/
?????vi svnserver.conf
????????SVNPath /mnt/hello/websvn/qwg
????????anon-access = read
????????auth-access = write
????????password-db = passwd
????????authz-db = authz
???????? realm = websvn
?????vi passwd
???????? test = westos (用戶名=test,密碼=westos,和htpasswd執行的密碼相同)
?????vi authz
????????admin = test
????????[/]
??????? admin = rw
????????* = r
???? wKiom1PZ-gWy7LEeAACES-ruiKQ083.jpg

4./etc/init.d/httpd start

?? /etc/init.d/svnserver start

訪問http://127.0.0.1/svn即可看見版本庫的文件

????wKioL1PZ-32x3H0HAADDsKH6ftA932.jpg

以上只列出了subversion的一些簡單用法和配置方法,想要深入理解subversion的使用和配置方法,請參照推薦書籍,有什么錯誤歡迎大家指出