❶ linux中編譯安裝SubversionSVN客戶端的教程
這篇文章主要介紹了Linux中編譯安裝Subversion(SVN)客戶端的教程,盡管版本控制工具方面Git近來風光無限,但SVN憑借簡潔的操作依然擁有不少忠實用戶,需要的朋友可以參考下Subversion(簡稱svn)是近年來崛起的版本管理軟體系統,是cvs的接班人。目前,絕大多數開源軟體都使用svn作為代碼版本管理軟體。
Subversion是一個版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。互聯網上免費的版本控制服務多基於Subversion。
Subversion的版本庫可以通過網路訪問,從而使用戶可以在不同的電腦上進行操作。從某種程度上來說,允許用戶在各自的空間里修改和管理同一組數據可以促進團隊協作。因為修改不再是單線進行(單線進行也就是必須一個一個進行),開發進度會進展迅速。此外,由於所有的工作都已版本化,也就不必擔心由於錯誤的更改而影響軟體質量—如果出現不正確的更改,只要撤銷那一次更改操作即可。某些版本控制系統本身也是軟體配置管理系統(SCM),這種系統經過精巧的設計,專門用來管理源代碼樹,並且具備許多與軟體開發有關的特性—比如,對編程語言的支持,或者提供程序構建工具。不過Subversion並不是這樣的系統。它是一個通用系統,可以管理任何類型的文件集。
Subversion 1.8中http客戶端基於neon已經被移除,改用self。如果要支持http方式需要在安裝svn前安裝serf,安裝serf推薦用serf-1.2.1,安裝是./configure;serf-1.3.0安裝是用scons(yum -y install scons)方式,安裝serf-1.3.0後安裝可能會報誤,Google沒找到解決方法,如下報錯
checking for serf-2 library... no
checking for serf-1 library... no
checking was serf enabled... no
An appropriate version of serf could not be found, so libsvn_ra_serf
will not be built. If you want to build libsvn_ra_serf, please
install serf 1.2.1 or newer.
configure: error: Serf was explicitly enabled but an appropriate version was not found.
安裝步驟:
(本文只基於LAMP一鍵安裝包環境部署好之後進行)
1. 安裝apr、apr-unit
2. 安裝serf-1.2.1
3. 安裝svn
4. 檢查是否安裝成功
安裝成功會在/usr/local/apache/conf/httpd.conf自己加入下面2行
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) moles are available:
* ra_svn : Mole for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Mole for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Mole for accessing a repository via WebDAV protocol using serf.
- handles 'http' scheme
- handles 'https' scheme
❷ Linux伺服器下安裝SVN,並添加SVN項目,自動更新項目文件到web目錄
在Linux伺服器上安裝和配置SVN伺服器並實現自動更新至web目錄的步驟如下,適用於對Linux版本和SVN版本有一定了解的用戶:
首先,需要通過yum命令安裝subversion。確保在執行此步驟前,已安裝了yum或同等包管理工具。
接著,運行svnadmin check命令檢查SVN版本,確保使用的是與伺服器兼容的版本。
然後,創建SVN版本庫。選擇一個適當地點進行創建,如/home/www/svn目錄。使用svnadmin create命令生成版本庫,如:svnadmin create /home/svn/newProjectName。此步驟將為新項目創建文件結構。
SVN目錄結構包括以下幾個關鍵部分:db(存儲版本控制數據)、hooks(存放腳本文件)、locks(監控文件庫訪問狀態)和conf(配置文件)。
注意停止SVN服務時,使用killall svnserve命令。
測試伺服器時,執行svn checkout以確保項目能正常checkout。添加新文件進行驗證。
進行本地SVN文件拉取操作。
實現自動同步到web目錄的關鍵步驟是配置post-commit鉤子腳本。在/home/svn/testHTML/hooks目錄下創建post-commit文件,並使用文本編輯器如vi進行配置。確保添加的腳本具備執行許可權。
在PC端使用SVN客戶端時,配置的svn地址應與伺服器上設置的目錄一致。在不同環境下的教程中,項目文件名可能有變動,如從testHTML更改為testSVN1,但實際操作中應保持與伺服器端一致。
❸ linux 已經安裝svn 怎麼配置
代碼庫創建
SVN軟體安裝完成後還需要建立SVN庫
[root@Linux moles]# mkdir -p /opt/svn/repo
[root@Linux moles]# svnadmin create /opt/svn/repo
執行上面的命令後,自動建立repo測試庫,查看/opt/svn/repo 文件夾發現包含了conf, db,format,hooks, locks, README.txt等文件,說明一個SVN庫已經建立。
配置SVN代碼庫
進入上面生成的文件夾conf下,進行配置
[root@Linux moles]# cd /opt/svn/repo/conf
用戶密碼passwd配置
[root@Linux password]# cd /opt/svn/repos/conf
[root@Linux conf]# vim passwd
修改passwd為以下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
root=raykaeso
用戶名=密碼
這樣我們就建立了root用戶, raykaeso密碼
以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.
許可權控制authz配置
[root@Linux conf]# vi + authz
目的是設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:
#設置[/]代表根目錄下所有的資源
[/] 或者寫成[repl:/]
root= rw
意思是root用戶對repo測試庫下所有的目錄有讀寫許可權,當然也可以限定。
如果是自己用,就直接是讀寫吧。
以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.
服務svnserve.conf配置
[root@Linux conf]# vim svnserve.conf
追加以下內容:
[general]
#匿名訪問的許可權,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫許可權
auth-access=write
#密碼資料庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示里顯示,並且作為憑證緩存的關鍵字
realm=/opt/svn/repositories
以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.
配置防火牆,SVN埠為3690
[root@Linux conf]# vi /etc/sysconfig/iptables
添加以下內容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
保存後重啟防火牆
[root@Linux conf]# service iptables restart
啟動SVN
svnserve -d -r /opt/svn/repo
啟動SVN服務
svnserve -d -r /opt/svn/
注意:如果在一台伺服器上同時啟動多個版本管理,那麼啟動路徑必須是所有項目倉庫的根路徑:比如
/opt/svn/project1 /opt/svn/project2 ——————-> /opt/svn/
參考:CentOS 6.2 SVN搭建 (YUM安裝)-http://www.leixuesong.cn/226