CentOS上SVN服務(wù)器端程序的安裝與使用教程

1.環(huán)境
centos6.4
2.安裝svn
yum -y install subversion
3.配置
建立版本庫(kù)目錄
mkdir /www/svndata
svnserve -d -r /www/svndata
4.建立版本庫(kù)
創(chuàng)建一個(gè)新的Subversion項(xiàng)目
svnadmin create /var/www/svndata/njlrxx
配置允許用戶jiqing訪問
cd /var/www/svndata/njlrxx/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否則啟動(dòng)svn server出錯(cuò)
vi passwd
[users]
#<用戶1> = <密碼1>
#<用戶2> = <密碼2>
jiqing=123456
5.客戶端連接
svn co svn://ip/njlrxx
用戶名:jiqing
密碼:123456
6.實(shí)現(xiàn)SVN與WEB同步,可以CO一個(gè)出來,也可以直接配在倉(cāng)庫(kù)中
(1)設(shè)置WEB服務(wù)器根目錄為/var/www/webroot
(2)checkout一份SVN
svn co svn://localhost/njlrxx /var/www/webroot/njlrxx
修改權(quán)限為WEB用戶
chown -R apache:apache /var/www/webroot/njlrxx
(3)建立同步腳本
cd /var/www/svndata/njlrxx/hooks/
cp post-commit.tmpl post-commit
編輯post-commit,在文件最后添加以下內(nèi)容
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
增加腳本執(zhí)行權(quán)限
chmod +x post-commit
最后操作是關(guān)閉服務(wù)然再打開服務(wù):
svn服務(wù)的關(guān)閉:
killall svnserve
svn開啟:
svnserve -d -r /var/www/svndata
7.如何支持匿名用戶訪問
方法一:
在svn安裝目錄下找到,conf/httpd.conf文件,如果是手動(dòng)集成apache的則找到apache的配置文件。
找到中的
Require valid-user
改為
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
重啟服務(wù),這樣設(shè)置以后,svn下的所有內(nèi)容都不在需要驗(yàn)證用戶,可以直接訪問。
缺點(diǎn):svn自身的訪問權(quán)限設(shè)置失效了。更多的時(shí)候我們希望用戶先用匿名方式嘗試訪問,如果不行,在輸入用戶名和密碼驗(yàn)證訪問。
方法二:
在配置文件中加入
Satisfy Any
加入了Satisfy Any的設(shè)置,其表示在同時(shí)啟用了Allow(允許)和Require的情況下,指定相關(guān)策略的,一共有兩個(gè)備選值,All表示用戶必須同時(shí)滿足Allow和Require的條件,而Any則是滿足其中之一即可。
Satisfy Any表示允許先用匿名方式嘗試訪問,并根據(jù)svnauthz對(duì)匿名用戶的控制給予訪問權(quán)限。
PS:SVN自動(dòng)同步程序執(zhí)行流程:
1、用戶提交文件到SVN服務(wù)器,提交操作成功后觸發(fā)post-commit腳本
2、在post-commit版本文件中使用php_script.php執(zhí)行PHP腳本
3、在PHP腳本中通過exec系統(tǒng)調(diào)用更新服務(wù)器上的版本庫(kù)工作副本
4、根據(jù)更新操作結(jié)果日志,對(duì)另一個(gè)SVN版本庫(kù)進(jìn)行對(duì)應(yīng)的操作處理
相關(guān)文章
虛擬機(jī)安裝CentOS后沒有網(wǎng)絡(luò)怎么辦
虛擬機(jī)安裝CentOS后沒有網(wǎng)絡(luò)了不能上網(wǎng),該怎么設(shè)置網(wǎng)絡(luò)呢?下面我們就來看看這個(gè)問題的解決辦法,詳細(xì)請(qǐng)看下文圖文介紹2024-01-18虛擬機(jī)怎么安裝CentOS? 安裝CentOS操作系統(tǒng)的保姆級(jí)圖文教程
虛擬機(jī)想要安裝CentOS操作系統(tǒng),但是CentOS操作系統(tǒng)已經(jīng)停止維護(hù)了,該怎么安裝呢?詳細(xì)請(qǐng)看下文圖文教程2024-01-18Centos7.8怎么更新openssh? Centos升級(jí)openssh的技巧
Centos7.8怎么更新openssh?Centos7.8系統(tǒng)想要安裝openssh,該怎么安裝呢?下面我們就來看看Centos升級(jí)openssh的技巧2023-09-02Centos7.8怎么更新openssl? CentOS升級(jí)OpenSSL的技巧
Centos7.8怎么更新openssl?Centos7.8系統(tǒng)想要升級(jí)OpenSSL,該怎么升級(jí)呢?詳細(xì)請(qǐng)看下文介紹2023-09-02- centos7沒有圖形化操作可能對(duì)很多人來說都不太習(xí)慣,下面我們來為centos7安裝圖形化界面,本文以安裝 GNOME 圖形化為例,需要的朋友可以參考下2023-06-29
- 今天小編在安裝RHEL7的時(shí)候,一步留神沒有安裝圖形化桌面,下面分享一下安裝圖形化桌面的過程,需要的朋友可以參考下2023-06-29
CentOS7各個(gè)版本鏡像下載地址及版本說明(包括Everything版)
下載CentOS-7.0-1406的時(shí)候,有很多可選則的版本,對(duì)于普通用戶來說,不知道選擇哪個(gè)好,下面做一下簡(jiǎn)單介紹,需要的朋友可以參考下2023-06-01Centos 7怎么手動(dòng)配置ip地址? Centos7配置IP地址的技巧
Centos 7怎么手動(dòng)配置ip地址?Centos 7系統(tǒng)想要自己配置ip地址,該怎么操作呢?下面我們就來看看Centos7配置IP地址的技巧2023-05-17- 這篇文章主要介紹了Centos 7 壓縮與解壓縮命令小結(jié),需要的朋友可以參考下2023-03-28
- 由于centos8 在2022年停止服務(wù),后繼版本為8-steam。在使用阿里云的 centos8 的 yum 時(shí)報(bào)錯(cuò),這篇文章主要介紹了CentOS8使用阿里云yum源異常的解決方法,需要的朋友可以參考2022-04-19