一.下載與安裝
(1)yum安裝
yum install subversion
(2)源文件編譯安裝
①下載svn源文件
subversion-xxx.tar.gz(subversion 源文件)
subversion-deps-xxx.tar.gz(subversion依賴文件)
文件版本必須一致
將其上傳到服務器上,執行tar?xfvz命令解壓,?解壓后生成?subversion-xxx子目錄,兩個壓縮包解壓后都會自動放到此目錄下;
②進入解壓目錄,執行?./configure --prefix=/opt/subversion 進行配置設定并指明安裝目錄;
configure命令用于檢查安裝平臺和目標特征,prefix用于指定路徑。
③執行make 編譯;
④執行make install 安裝;
⑤添加環境變量:
vi /etc/profile
在文件最后加入:
SVNPATH=$PATH:/opt/subversion/bin
export SVNPATH
二.查看svn版本
svnserve --version
三.建立版本庫目錄
建立版本庫目錄,命令如下:(目錄可自擬)
mkdir /www/svndata
創建一個新的版本庫baseData,命令如下:
svnadmin create /www/svndata/baseData
在svn版本庫目錄下啟動svn,命令如下:
svnserve -d -r /www/svndata
-d表示以后臺模式執行,svn默認在3690端口監聽;-r表示root,用來指定svn服務的根目錄,這樣用戶就可以使用相對路徑訪問,而不用提供完整路徑
四.修改版本庫配置文件
/www/svndata/baseData/conf下文件:
authz:配置權限文件
passwd:配置賬號密碼
svnserve:配置服務器文件
vi /www/svndata/baseData/conf/svnserve.conf
將注釋打開并修改內容:
anon-access:非授權用戶訪問權限
none無訪問權限,read只讀權限,write寫入權限
auth-access:授權用戶訪問權限
password-db:指明密碼文件路徑
authz-db:訪問控制文件
realm:認證命名空間,subversion會在認證提示里顯示,并且作為憑證緩存的關鍵字,其它采用默認配置。各語句都必須頂格寫,左側不能留空格,否則會出錯。
五.配置用戶
vi /www/svndata/baseData/conf/pwd.conf或者/www/svndata/baseData/conf/passwd
格式:
[users]
<用戶1> = <密碼1>
<用戶2> = <密碼2>
六.配置權限
vi? /conf/authz.conf 或/conf/authz
該配置文件采用“基于路徑授權”的策略,中括號里指定路徑,以下列出對各用戶的授權。沒有列出的用戶,則不允許訪問。可以對用戶分組。
用戶組格式:
[groups]
<用戶組名>=<用戶1>,<用戶2>
1個用戶組可以包含1個或多個用戶,用戶間以逗號分隔。
版本庫目錄格式:
[<版本庫>:/項目/目錄]
@<用戶組名>=<權限>
<用戶名>=<權限>
路徑為“/”表示根目錄(倉儲目錄)及以下,即對全部版本庫設置權限。
權限主體可以是用戶組、用戶或*,用戶組在前面加@,*表示全部用戶。
權限可以是w、r、wr和空,空表示沒有任何權限。
七.配置防火墻端口
vi /etc/sysconfig/iptables
添加以下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重啟防火墻:service iptables restart
八.啟動服務
svnserve -d -r? /www/svndata
svnserve -d -r /www/svndata
可以使用“–listen-port=”或者“–listen-host=”來指定其它端口
如果出現:
則需要關閉SVN服務:killall svnserve,然后再開啟。
可以換一個端口運行:
svnserve -d -r /opt/svn/ --listen-port 3391
九.查看SVN進程,殺死進程
ps -ef|grep svn
殺死主進程,殺死進程的命令用?
kill -9 進程id
如圖ID是3280,就使用 kill -9 3280 ,每個人程序不一樣所以id也是不一樣的
十.檢測SVN?端口
netstat -ln |grep 3690
可以在linux上輸入:svn checkout svn://127.0.0.1/測試配置。
客戶端或Eclipse連接svn地址:svn://ip/目錄
比如:我們在創建一個新的版本庫baseData,svnadmin create /www/svndata/baseData
訪問地址就是:svn://linux服務器部署地址IP/baseData 我們就可以在baseData這個大目錄下分割很多子,訪問地址:svn://ip地址/baseData/子文件夾名稱
十一.同步庫文件
方法一:
svn checkout svn://IP地址/baseData /www/wwwroot/165933.com
把baseData文件同步到對應的網站目錄,如圖,指定之后文件的內容也將同步。
方法二(建議使用此方案):
在 /www/svndata/baseData/hooks/ 目錄下新建 post-commit 文件(空白文件,沒有后綴)用于將svn中的文件同步到系統運行目錄下,代碼如下: