檢查已安裝版本
檢查是否安裝了低版本的SVN
rpm -qa subversion
卸載舊版本SVN
yum remove subversion
一.安裝SVN
yum -y install subversion
驗(yàn)證安裝
檢驗(yàn)已經(jīng)安裝的SVN版本信息
svnserve --version
代碼庫(kù)創(chuàng)建
SVN軟件安裝完成后還需要建立SVN庫(kù)
mkdir -p /www/svn/tata
svnadmin create /www/svn/tata
執(zhí)行上面的命令后行嗤,自動(dòng)建立tata庫(kù)纬黎,查看/www/svn/tata 文件夾發(fā)現(xiàn)包含了conf, db,format,hooks, locks, README.txt等文件疫鹊,說(shuō)明一個(gè)SVN庫(kù)已經(jīng)建立睹簇。
配置代碼庫(kù)
進(jìn)入上面生成的文件夾conf下,進(jìn)行配置
cd /www/svn/tata/conf
用戶(hù)密碼passwd配置
vim passwd
修改passwd為以下內(nèi)容:
[users]
# harry = harryssecret
# sally = sallyssecret
tata=123456
權(quán)限控制authz配置
vim authz
目的是設(shè)置哪些用戶(hù)可以訪(fǎng)問(wèn)哪些目錄累澡,向authz文件追加以下內(nèi)容:
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=tata,company
[/]
@admin=rw
服務(wù)svnserve.conf配置
vim svnserve.conf
追加以下內(nèi)容:
[general]
#匿名訪(fǎng)問(wèn)的權(quán)限署鸡,可以是read,write,none,默認(rèn)為read
anon-access=none
#使授權(quán)用戶(hù)有寫(xiě)權(quán)限
auth-access=write
#密碼數(shù)據(jù)庫(kù)的路徑
password-db=passwd
#訪(fǎng)問(wèn)控制文件
authz-db=authz
#認(rèn)證命名空間住练,subversion會(huì)在認(rèn)證提示里顯示瞳氓,并且作為憑證緩存的關(guān)鍵字
realm = My First Repository
啟動(dòng)SVN
svnserve -d -r /www/svn/tata
查看SVN進(jìn)程
ps -ef|grep svn|grep -v grep
檢測(cè)SVN 端口
netstat -ln |grep 3690
停止重啟SVN
另外提供關(guān)閉svn的命令:killall svnserve
開(kāi)啟是svn的命令:svnserve -d -r /www/svn/tata
二.設(shè)置鉤子自動(dòng)更新
實(shí)現(xiàn)SVN與WEB同步,可以CO一個(gè)出來(lái),也可以直接用自動(dòng)更新web目錄的方法策彤,我們要在svn版本庫(kù)中配置鉤子來(lái)實(shí)現(xiàn),就是創(chuàng)建一個(gè)post-commit的配置文件顿膨,對(duì)其進(jìn)行簡(jiǎn)單的配置锅锨,簡(jiǎn)簡(jiǎn)單單的四步就可以實(shí)現(xiàn)Linux下SVN自動(dòng)更新web目錄配置叽赊。
第一步:建立你的web程序目錄
mkdir /var/www/html/tata
進(jìn)入你建立的web程序目錄(svn checkout可以簡(jiǎn)寫(xiě)為co),寶塔一般在wwwroot目錄
svn checkout svn://localhost/svntest //不重命名文件夾恋沃,直接在當(dāng)前目錄下檢出
svn checkout svn://localhost/svntest test //檢出文件并且重命名文件夾
第二步:在項(xiàng)目庫(kù)的 hooks/ 目錄下將post-commit.tmpl文件復(fù)制一份并命名為 post-commit 文件 【鉤子腳本】
添加腳本內(nèi)容如下
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
SVN_PATH=/usr/bin
WEB_PATH=/www/wwwroot/test
SVN_USER=userName
SVN_PASS=userPwd
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache
第一行必須加上,不然會(huì)報(bào)錯(cuò):post-commit hook failed (exit code 255) with no output.
其中SVN=右邊改成 svn 命令位置
WEB=右邊改成你實(shí)際的web目錄
第三步:讓post-commit有執(zhí)行的權(quán)限
chmod a+x post-commit