linux 安裝SVN

1.環境
centos6.4php

2.安裝svn
yum -y install subversionweb

3.配置apache

創建版本庫目錄
mkdir /www/svndatacentos

svnserve -d -r /www/svndata--開啓服務緩存

4.創建版本庫服務器

建立一個新的Subversion項目
svnadmin create /var/www/svndata/njlrxxtcp

配置容許用戶jiqing訪問
cd /var/www/svndata/njlrxx/confsvn

vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwdpost

anon-access = read日誌

auth-access = write

password-db = passwd

authz-db = authz

realm = My First Repository

各參數定義以下:

anon-access :定義非受權用戶的訪問權限,有三種方式: none 、 read 、 write ,設置爲 none 限制訪問,read 爲只讀, write 爲具備讀寫權限,默認爲 read 。

auth-access :定義受權用戶的訪問權限,有三種方式: none 、 read 、 write ,設置爲 none 限制訪問, read爲只讀, write 爲具備讀寫權限,默認爲 write 。

password-db :定義保存用戶名和密碼的文件名稱,這裏爲 passwd ,和該文件位於同一目錄。

authz-db :定義保存受權信息的文件名稱,這裏爲 authz ,和該文件位於同一目錄。

realm :定義客戶端鏈接是的「認證命名空間」, Subversion 會在認證提示裏顯示,而且做爲憑證緩存的關鍵字。 

 

最後操做是關閉服務然再打開服務:

svn服務的關閉:

killall svnserve

svn開啓:

svnserve -d -r /var/www/svndata

 

檢查防火牆,是否添加svn端口規則

查看: iptables -L -n

1) 重啓後生效 
開啓: chkconfig iptables on 
關閉: chkconfig iptables off 

2) 即時生效,重啓後失效 
開啓: service iptables start 
關閉: service iptables stop 

須要說明的是對於Linux下的其它服務均可以用以上命令執行開啓和關閉操做。 

在開啓了防火牆時,作以下設置,開啓相關端口, 
修改/etc/sysconfig/iptables 文件,添加如下內容: 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

 

 

 

實現SVN與WEB同步,能夠CO一個出來,也能夠直接配在倉庫中

1)設置WEB服務器根目錄爲/var/www/webroot

2)checkout一份SVN

svn co svn://localhost/njlrxx /var/www/webroot/njlrxx

修改權限爲WEB用戶

chown -R apache:apache /var/www/webroot/njlrxx

3)創建同步腳本

cd /var/www/svndata/njlrxx/hooks/

cp post-commit.tmpl post-commit

編輯post-commit,在文件最後添加如下內容

複製代碼
REPOS="$1"
REV="$2"

BASEPATH=/var/www/webroot/njlrxx
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache
複製代碼

 

增長腳本執行權限

chmod +x post-commit

===============================================================

SVN自動同步程序執行流程:一、用戶提交文件到SVN服務器,提交操做成功後觸發post-commit腳本二、在post-commit版本文件中使用php_script.php執行PHP腳本三、在PHP腳本中經過exec系統調用更新服務器上的版本庫工做副本四、根據更新操做結果日誌,對另外一個SVN版本庫進行對應的操做處理

相關文章
相關標籤/搜索