64位系統升級subversion服務器手記

好東西就要轉。。。html

原文地址:http://www.zhuyanbin.com/?p=74sql

由於咱們的svn服務器的版本過低(1.4.2版本),而咱們須要用到1.6以上版本的目錄合併功能,所以,須要對咱們的svn服務器進行了升級。按照之前的安裝方法進行了安裝,發現出了很多問題。apache

緣由是之前安裝的時候操做系統是32位的系統,這次安裝的爲64位的系統。服務器

再次記錄上這次成功安裝的步驟:oracle

 1. 下載、編譯和安裝openssl [可選] ide

若是想讓svn服務器支持https等加密的ssl連接,須要編譯此模塊
[flavorzhu@self ~]$ wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
[flavorzhu@self ~]$tar -zxvf openssl-1.0.0d.tar.gz
[flavorzhu@self ~]$cd openssl-1.0.0d
[flavorzhu@self ~]$./config –prefix=/usr/local/openssl
[flavorzhu@self ~]$sudo make  && make install

2. 下載、編譯和安裝apachesvn

[flavorzhu@self ~]$wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.19.tar.gz
[flavorzhu@self ~]$tar  -zxvf  httpd-2.2.19.tar.gz
[flavorzhu@self ~]$cd httpd-2.2.19
[flavorzhu@self ~]$./configure –prefix=/usr/local/apache \
–enable-lib64 \
–enable-mods-shared=all
[flavorzhu@self ~]$ sudo make && make install
3. 下載、編譯和安裝 BerkeleyDB
好比我下載的是4.8.24版本
[flavorzhu@self ~]$tar -zxvf db-4.8.24.tar.gz
[flavorzhu@self ~]$cd db-4.8.24/build_unix/
[flavorzhu@self ~]$../dist/configure –/usr/local/BerkeleyDB.4.8
[flavorzhu@self ~]$sudo make && make install
將Berkeley DB的.so加入到ld.so.conf中
[flavorzhu@self ~]$sudo  echo /usr/local/BerkeleyDB.4.8 >> /etc/ld.so.conf
[flavorzhu@self ~]$sudo /sbin/ldconfig
svn的存儲有Berkeley DB(2001年開始支持) 和 FSFS(2004年開始支持)系統兩種存儲,默認使用的是FSFS模式的(若是沒有安裝Berkeley DB)。
4. 下載、編譯和安裝subversion依賴包
[flavorzhu@self ~]$wget  http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.gz
[flavorzhu@self ~]$tar zxvf subversion-deps-1.6.16.tar.gz
[flavorzhu@self ~]$cd subversion-1.6.16
4.1 安裝apr
注:Apache Portable Runtime
[flavorzhu@self ~]$cd apr
[flavorzhu@self ~]$./configure –prefix=/usr/local/apache LDFLAGS=」-L/lib6″
[flavorzhu@self ~]$sudo make && make install
4.2 編譯和安裝apr-util
[flavorzhu@self ~]$cd apr-util
[flavorzhu@self ~]$./configure –prefix=/usr/local/apache –with-apr=/usr/local/apache LDFLAGS=」-L/lib64″ –with-berkeley-db=/usr/local/BerkeleyDB.4.8
[flavorzhu@self ~]$sudo make && make install
4.3 編譯和安裝neon
注:neon是使得svn客戶端支持http和https協議的關鍵模塊
[flavorzhu@self ~]$cd neon/
[flavorzhu@self ~]$./configure –prefix=/usr/local/neon –enable-shared –enable-ssl –with-ssl=openssl LDFLAGS=」-L/lib64″
[flavorzhu@self ~]$sudo make && make install
4.4 編譯和安裝serf
[flavorzhu@self ~]$cd serf/
[flavorzhu@self ~]$./configure –prefix=/usr/local/serf –with-apr=/usr/local/apache –with-apr-util=/usr/local/apache –with-openssl=/usr/local/openssl LDFLAGS=」-L/lib64″
[flavorzhu@self ~]$sudo make && make install
4.5 編譯和安裝zlib
[flavorzhu@self ~]$cd zlib/
[flavorzhu@self ~]$./configure –prefix=/usr/local/zlib
[flavorzhu@self ~]$sudo make && make install
4.6 下載、編譯和安裝subversion
[flavorzhu@self ~]$wget  http://subversion.tigris.org/downloads/subversion-1.6.16.tar.gz
[flavorzhu@self ~]$tar zxvf subversion-1.6.16.tar.gz
[flavorzhu@self ~]$ cd subversion-1.6.16
將subversion依賴包中的sqlite-amalgamation拷貝到subversion-1.6.16裏
[flavorzhu@self ~]$./autogen.sh
[flavorzhu@self ~]$./configure  –with-ssl –with-zlib=/usr/local/zlib –with-apr=/usr/local/apache –with-apr-util=/usr/local/apache –with-serf=/usr/local/serf –with-neon=/usr/local/neon LDFLAGS=」-L/lib64″
[flavorzhu@self ~]$sudo make && make install
注:在make以前檢查一下,subversion裏的Makefile的BerkeleyDB的lib包使用引用正確的版本,具體搜索一下, 好比個人是「-ldb-4.8」
配置apache
修改httpd.conf,增長以下代碼
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath  /absolute/path/to/repository
AuthzSVNAccessFile  /my/svn/user/authz.conf
AuthType Basic
AuthName 「Subversion」
AuthUserFile  /my/svn/user/passwd/file
Require valid-user
</Location>
 
5. subversion倉庫的升級
5.1 方法一 upgrade方式
svnadmin upgrade / path/to/repository
5.2 方法二 dump/load方式
svnadmin dump your- repository > repository.dump
svnadmin create your- repository
svnadmin load your- repository < repository.dump
通過測試,使用dump/load方式比較靠譜,無論你使用那種方式升級你的倉庫,操做以前備份你的倉庫都是不可省略的步驟。
相關文章
相關標籤/搜索