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