linux 下配置svn【轉】

svn配置php

1.安裝svn服務器端web

yum install subversion      從鏡像下載安裝svn服務器端服務器

cd /usr/local/              //進入目錄,準備建立svn目錄tcp

mkdir svn                   //建立一個svn目錄svn

chmod -R 777 svn            //修改目錄權限爲777post

svnadmin create /usr/local/svn/sunny  //建立一個svn版本倉庫sunny(sunny能夠隨便起名字)spa

cd svn/sunny/conf               //進入sunny版本倉庫下的配置文件目錄.net

下面要修改這個目錄下的三個配置文件rest

(1)vi svnserve.conf    //配置版本庫信息和用戶文件和用戶密碼文件的路徑、版本庫路徑blog

[

# anon-access = read

# auth-access = write

# password-db = passwd

//這四行,前面的#號和空格去掉(注意去掉#要頂格寫,不要留有多餘空格),變成

anon-access = none      //改爲none

auth-access = write

password-db = passwd

realm = sunny           //改爲本身的版本庫

保存

(2)vi authz     //文件,建立svn組和組用戶的權限

[group]

sunny = gep,wce //建立一個sunny的組,並指定兩個用戶gep和wce

[/]             //制定根目錄下的權限

@sunny = rw     //sunny組用戶權限爲讀寫

* = r           //其餘用戶只有讀權限

保存退出

(3) vi passwd   //建立或修改用戶密碼

[users]

gep = 123456    //用戶名爲gep的用戶的密碼爲123456

wce = 123456    //。。。

保存退出

啓動svn:

svnserve -d -r /usr/local/svn/      //這裏採用多版本庫的方式啓動  若是是單版本庫 能夠svnserve -d -r /usr/local/svn/sunny

添加一行

而後要設置自啓動

vi /etc/rc.local    打開自啓動文件添加

/usr/bin/svnserve -d -r /usr/local/svn/

svn命令:

netstat -tnlp|grep 3690   查看svn是否啓動

ps aux |grep 'svn'  查找全部svn啓動的進程

kill -9 2505    殺死2505這個查找到的svn進程

svn checkout svn://172.19.5.2/sunny /data0/htdocs/blog  //檢出一份版本庫文件到指定目錄

svn up                        //更新文件

自動更新

在vi /usr/local/svn/sunny/hooks/post-commit中加入

#!/bin/sh

#設置一些變量

SVN=/usr/bin/svn

WEB=/home/testsvn #要更新的目錄

export.UTF-8

$SVN update $WEB --username xxx --password xxx

其中SVN=右邊改爲 svn 命令位置 通常默認爲/usr/bin/svn

   WEB=右邊改爲你實際的web目錄

賦予可執行權限

chmod 777 /usr/local/svn/sunny/hooks/post-commit

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

其餘

#svn commit -m "註釋" xxx.php  //提交文件

svn ci -m'aaa' test.php       //提交文件

#svn add file               //新建文件並添加到svn

svn add *.php               //(添加當前目錄下全部的php文件)

svn delete test.php         //刪除test.php

svn log test.php            //查看test文件的log信息

svn cleanup                 //清理當前目錄

svn switch --relocate svn://192.168.1.253  svn://172.19.10.250      //從新定位SVN版本庫地址

// SVN版本庫起動方式,如今SVN下面有 sunny、test 兩個版本庫

1:單版本庫起動    svnserve -d -r /usr/local/svn/sunny

2:多版本庫起動    svnserve -d -r /usr/local/svn

區別在於起動svn時候的命令中的啓動參數-r指定的目錄。

限制不一樣的用戶對不一樣的版本庫操做權限,修改版本庫中的conf目錄下的 authz文件

以配置 sunny 版本庫爲例

vi authz

[groups]

teacher = sunny,sunny1

[sunny:/]             //指定版本庫跟目錄下的權限

@teacher = rw     //teacher組用戶權限爲讀寫

* = r           //其餘用戶只有讀權限

保存退出

vi passwd 設置組中用戶的帳號和密碼

[users]

sunny  = 123456

sunny1 = 123456


ps:

如發現svn進程已經打開,但遠程沒法鏈接,最多見解決方案:


分析:問題很是多是因爲防火牆形成,須要修改iptables:


1. 打開修改iptables:

vi /etc/sysconfig/iptables

該文件內容不過幾行,瀏覽一遍,找下有沒有3690端口(svn默認3690端口),如沒有,那麼添加一行;


2.在其中相似格式添加一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT


格式與前幾行基本相同,惟獨端口爲3690,若是懶且怕出錯,能夠直接複製一行,並修改端口爲3690便可;

以後用vi的wq命令保存並推出;


3.重啓iptables使之生效(不重啓等於沒改);

/sbin/service iptables restart


如此這般,90%的機率上你的svn已經能夠遠程鏈接了。


如還有問題歡迎提出交流。

相關文章
相關標籤/搜索