svn搭建以及可能遇到的問題解決方案

Svn服務器的安裝和配置php

 

注意,必定要切換到最高管理權限:  su root  經過這個命令就能夠完成!web

1.安裝svn服務器端軟件
從鏡像服務器或者YUM源下載安裝SVN服務器軟件:yum install subversion
mkdir /usr/local/svn //建立SVN安裝目錄
chmod -R 777 /usr/local/svn/      //修改目錄權限爲777
svnadmin create /usr/local/svn/sunny //建立一個SVN版本倉庫sunny(sunny能夠自定義)
cd /usr/local/svn/sunny/conf //進入sunny版本倉庫下的配置文件目錄vim

下面要修改這個目錄下的三個配置文件服務器


(1)vi svnserve.conf //配置版本庫信息和用戶文件和用戶密碼文件的路徑、版本庫路徑,把
# anon-access = read
# auth-access = write
# password-db = passwd
//這四行,前面的#號和空格去掉(注意去掉#要頂格寫,不要留有多餘空格),變成
anon-access = none //匿名訪問,改爲none
auth-access = write
password-db = passwd
realm = sunny //改爲本身的版本庫名稱
保存退出svn

 

(2)vi authz //文件,建立SVN組和組用戶的權限
[groups]
sunny = gep,wce //建立一個sunny的組,並指定兩個用戶gep和wcepost

[/] //制定根目錄下的權限
@sunny = rw //sunny組用戶權限爲讀寫
* = r //其餘用戶只有讀權限
保存退出測試

 

(3) vi passwd //建立或修改用戶密碼
[users]
gep = 123456 //用戶名爲gep的用戶的密碼爲123456
wce = 123456 //。。。
保存退出spa


啓動SVN服務器:
//這裏採用多版本庫的方式啓動
svnserve -d -r /usr/local/svn/rest


若是是單版本庫能夠添加一行
svnserve -d -r /usr/local/svn/sunnyblog


而後要設置自啓動
vi /etc/rc.local 打開自啓動文件添加
/usr/bin/svnserve -d -r /usr/local/svn/

到此爲止能夠從服務端檢出文件了.

svn命令:
netstat -tnl |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 LANG=en_US.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顯示報錯(已啓動)狀況或者當項目的時候出問題解決:
cd etc
cd sysconfig
vim iptables(仿照句子寫一句3690的端口號的句子)
重啓防火牆service iptables restart

 

 

 

最後我要着重描述一下svn自動更新的問題:

 1.首先找到 版本庫的{ hooks },在hooks下建立 post-commit文件 不須要後綴.
2.vim post-commit  加入以下代碼:
#!/bin/sh
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn     // 你去 cd 一下看看你服務器有沒有這個路徑 
WEB=/procject/w-project     這個是你項目路徑  
$SVN update $WEB --username svn {用戶名} --password svn {密碼}   //這裏面的這個{}是不須要的 至關於註釋符號
wq 保存
重啓svn  
測試  
 
svn重啓命令:
 killall  svnserve
svnserve -d -r  /usr/local/svn/   這樣是啓動svn下全部的版本庫的
 
 
若是上述不行  試着把post-commit改爲這樣的內容
#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update /phpstudy/www --username gxf --password 123456
看到了嗎?只須要改紅色部分!
 
注意:我是在www下使用的  svn checkout命令  因此直接指向www就能夠了!!!!
相關文章
相關標籤/搜索