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

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