下載下面幾個(gè) RPM 文件:
sudo mkdir -p /opt/setups/subversion/ ; cd /opt/setups/subversion/wget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/mod_dav_svn-1.8.15-1.x86_64.rpmwget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/serf-1.3.7-1.x86_64.rpmwget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-1.8.15-1.x86_64.rpmwget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-gnome-1.8.15-1.x86_64.rpmwget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-javahl-1.8.15-1.x86_64.rpmwget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-perl-1.8.15-1.x86_64.rpmwget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-python-1.8.15-1.x86_64.rpmwget http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/x86_64/subversion-tools-1.8.15-1.x86_64.rpm安裝下載的 RPM 文件:
sudo rpm -ivh *.rpmsvn --versionDependency Overview):http://svn.apache.org/repos/asf/subversion/trunk/INSTALLsubversion-1.8.15.tar.gz/opt 目錄下創(chuàng)建一個(gè)目錄 setups 用來(lái)存放各種軟件安裝包;在 /usr 目錄下創(chuàng)建一個(gè) program 用來(lái)存放各種解壓后的軟件包,下面的講解也都是基于此習(xí)慣EPEL、RepoForge,如果你出現(xiàn) yum install XXXXX 安裝不成功的話,很有可能就是你沒(méi)有相關(guān)源,請(qǐng)查看我對(duì)源設(shè)置的文章sudo yum install -y gcc gcc-c++ autoconf libtoolwget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gzwget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gzwget http://zlib.net/zlib-1.2.8.tar.gzwget http://www.sqlite.org/2016/sqlite-amalgamation-3100200.zipwget http://apache.fayea.com/subversion/subversion-1.8.15.tar.gztar -zxvf apr-1.5.2.tar.gzmv apr-1.5.2/ /usr/program/cd /usr/program/apr-1.5.2./configuremakemake install/usr/local/apr/bin/apr-1-config,這個(gè)需要記下來(lái),下面會(huì)用到tar -zxvf apr-util-1.5.4.tar.gzmv apr-util-1.5.4/ /usr/program/cd /usr/program/apr-util-1.5.4/./configure --with-apr=/usr/local/apr/bin/apr-1-configmakemake install/usr/local/apr/bin/apu-1-config,這個(gè)需要記下來(lái),下面會(huì)用到tar -zxvf zlib-1.2.8.tar.gzmv zlib-1.2.8/ /usr/program/cd /usr/program/zlib-1.2.8/./configuremakemake installtar -zxvf subversion-1.8.15.tar.gzmv subversion-1.8.15/ /usr/program/unzip sqlite-amalgamation-3100200.zipmv sqlite-amalgamation-3100200/ /usr/program/subversion-1.8.15/cd /usr/program/subversion-1.8.15/./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-configmakemake installmkdir -p /opt/svn/repo/新建一個(gè)版本倉(cāng)庫(kù):svnadmin create /opt/svn/repo/
lockshooksdbconfformatREADME.txtconf 最為重要,常用的配置文件都在里面
svnserve.conf 是 svn 服務(wù)綜合配置文件passwd 是用戶名和密碼配置文件authz 是權(quán)限配置文件設(shè)置配置文件
vim /opt/svn/repo/conf/svnserve.confanon-access: 對(duì)不在授權(quán)名單中的用戶訪問(wèn)倉(cāng)庫(kù)的權(quán)限控制,有三個(gè)可選性:write、read、none
none 表示沒(méi)有任何權(quán)限read 表示只有只讀權(quán)限write 表示有讀寫權(quán)限auth-access:對(duì)在授權(quán)名單中的用戶訪問(wèn)倉(cāng)庫(kù)的權(quán)限控制,有三個(gè)可選性:write、read、none
none 表示沒(méi)有任何權(quán)限read 表示只有只讀權(quán)限write 表示有讀寫權(quán)限password-db:指定用戶數(shù)據(jù)配置文件authz-db:指定用戶權(quán)限配置文件realm:指定版本庫(kù)的認(rèn)證域,即在登錄時(shí)提示的認(rèn)證域名稱。若兩個(gè)版本庫(kù)的認(rèn)證域相同,建議使用相同的用戶名口令數(shù)據(jù)文件
realm = myrepo添加用戶
vim /opt/svn/repo/conf/passwd用戶名 = 密碼 的即可設(shè)置用戶權(quán)限
vim /opt/svn/repo/conf/authzr 表示可寫w 表示可讀rw 表示可讀可寫* = 表示除了上面設(shè)置的權(quán)限用戶組以外,其他所有用戶都設(shè)置空權(quán)限,空權(quán)限表示禁止訪問(wèn)本目錄,這很重要一定要加上[groups] 表示下面創(chuàng)建的是用戶組,實(shí)際應(yīng)用中一般我們對(duì)使用者都是進(jìn)行分組的,然后把權(quán)限控制在組上,這樣比較方便。使用組權(quán)限方式:@組名 = rw 啟動(dòng)服務(wù)
svnserve -d -r /opt/svn/repo/ --listen-port 3690
-d 表示后臺(tái)運(yùn)行-r /opt/svn/repo/ 表示指定根目錄--listen-port 3690 表示指定端口,默認(rèn)就是 3690,所以如果要用默認(rèn)端口這個(gè)也是可以省略掉的停止服務(wù)
killall svnserveservice iptables stopsudo iptables -I INPUT -p tcp -m tcp --dport 3690 -j ACCEPTsudo /etc/rc.d/init.d/iptables savesudo service iptables restartsvn://192.168.0.110/opt/svn/repo/hooks
vim /opt/svn/repo/hooks/pre-revprop-changeecho "$1 $2 $3 $4 $5" >> /opt/svn/repo/logchanges.log,改為:echo "$1 $2 $3 $4 $5" >> /你的倉(cāng)庫(kù)地址/logchanges.logpre-revprop-change.tmpl,這個(gè)其實(shí)就是 svn 提供給你模板,其他的那些你有興趣也可以研究下