做者:zhoulf
出處:http://www.cnblogs.com/zhoulf/ sql
安裝環境:Red Hat Enterprise Linux
安裝方式:源碼安裝
軟件:apr-1.5.0.tar.gz、apr-iconv-1.2.1.tar.gz、apr-util-1.5.3.tar.gz、sqlite-amalgamation-201311181848.zip、subversion-1.8.4.tar.gz bash
安裝以前要安裝apr、apr-util、apr-iconv軟件 服務器
將subversion-1.8.4.tar.gz文件上傳到/usr/local中執行如下操做: svn
#!/bin/bash
#-------------------準備--------------------------
#安裝以前要安裝apr、apr-util、apr-iconv軟件
#檢查是否安裝了低版本的SVN
rpm -qa subversion
#卸載/刪除原有安裝
yum remove subversion
rm -rf /usr/local/svn
#-------------------------------------- 安裝 -----------------------------------------------------
#進入安裝目錄
cd /usr/local
#解壓壓縮包
tar -zxv -f subversion-1.8.4.tar.gz
#修改用戶權限
chown -R root:root /usr/local/subversion-1.8.4
#進入安裝目錄
cd subversion-1.8.4
#將sqlite-amalgamation-201311181848.zip上傳到/usr/local/subversion-1.8.4中,而後解壓安裝sqlite支持
mkdir -p sqlite-amalgamation
unzip -o -d sqlite-amalgamation sqlite-amalgamation-201311181848.zip
#配置
./configure \
--prefix=/usr/local/svn \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-zlib=/usr/local/zlib
#編譯安裝
make && make install
#----------------------驗證-------------------
#驗證
/usr/local/svn/bin/svnserve --version
#刪除安裝源文件
cd /usr/local
rm -rf subversion-1.8.4
#-----------------------配置環境變量--------------------------------
#添加環境變量
cat>>/etc/profile<<EOF
#----------------------------------
export SVN_HOME=/usr/local/svn
export PATH=\
SVN_HOME/bin:\
PATH
#----------------------------------
EOF
#配置生效
source /etc/profile
#驗證配置
svnserve --version
#-------------------------------------- 單個倉庫配置 -----------------------------------------------------
#創建版本庫(可創建多個,新建庫後如下各項都需從新配置。注意區別安裝目錄與版本庫目錄,如下講的都是版本庫目錄)
mkdir -p /var/svn/repos
chmod -R 775 /var/svn/repos
#創建svn版本庫(與上面目錄對應),執行命令後自動生成配置文件,文件夾發現包含了conf, db,format,hooks, locks, README.txt等文件,說明一個SVN庫已經創建
svnadmin create /var/svn/repos
#------------------------------------單個倉庫配置-----------------------------------------
#==> 注意:配置文件的行前的#和空格都要去掉,必須去掉
#生成密碼文件,配置用戶信息(能夠添加多個,用戶名密碼對的方式)
cat>/var/svn/repos/conf/passwd<<EOF
[users]
admin=123
zhoulf=123
test=123
EOF
#權限控制authz配置(只讀r,讀寫rw,沒有列出的用戶,則不容許訪問),[/svn/repos]指定資源文件路徑,只容許方位這個目錄下
cat>/var/svn/repos/conf/authz<<EOF
[/]
admin=rw
[/svn/repos]
zhoulf=rw
test=r
EOF
#修改配置
cat>/var/svn/repos/conf/svnserve.conf<<EOF
[general]
anon-access=none
auth-access=write
password-db=/var/svn/repos/conf/passwd
authz-db=/var/svn/repos/conf/authz
realm=/var/svn/repos
EOF
#啓動SVN
svnserve -d -r /var/svn/repos
#客戶端訪問路徑
admin/123 - svn://192.168.1.102/
zhoulf/123 - svn://192.168.1.102/svn/repos/
#鏈接成功後手動建立如下目錄,以保證標準化。
svn://192.168.1.102/svn/repos/trunk
svn://192.168.1.102/svn/repos/tags
svn://192.168.1.102/svn/repos/branches
#中止SVN服務
ps -aux |grep svn
#kill -9 xxx
#------------------------------------多倉庫配置運行-----------------------------------------
#若是一臺服務器上同時啓動多個版本管理,那麼啓動路徑必須是全部項目倉庫的根路徑
svnserve -d -r /var/svn/repos
#例如: /var/svn/repos1 /var/svn/repos2 -------------------> /var/svnorm