由於公司新買了一臺服務器,然後要從新搭建svn服務器,這個任務落到了我的身上,都要過年了。好吧,抱怨是窮人的專利。不能這樣,打起精神開幹。前後用了一個多小時,不過還是安裝好了,期間遇到了好多問題,不過都一一的解決了!
準備工作
裝有Centos6.7系統的機器一臺
Xshell遠程工具 xftp 上傳文件的工具
subversion-deps-1.4.0.tar.gz
subversion-1.4.0.tar.gz
apr-util-1.5.4.tar.gz
apr-1.5.2.tar.gz
安裝
首先用自己的用戶登錄linux服務器,切記不要用root(防止權限太小,其他用戶都不能訪問)。登陸完成以後,用xftp 將文件傳輸到linux 服務器中。
然後我們分別解壓subversion-deps-1.4.0.tar.gz subversion-1.4.0.tar.gz
tar –zvxf subversion-1.4.0.tar.gz
tar –zvxf subversion-deps-1.4.0.tar.gz
解壓完成以後,cdsubversion-1.4.0 執行如下命令
./configure–prefix=/opt/svn –without-berkeley-db –with-zlib
(注:以svnserve方式運行,不加apache編譯參數。以fsfs格式存儲版本庫,不編譯berkeley-db)
makeclean
make
makeinstall
如果記的順利的話,在安裝期間一點錯誤都沒有的話 ,並且輸入svnserve–version 顯示如何信息,則表示svn安裝成功了。
svn測試svnserve –version
如果顯示如下,svn安裝成功:
svnserve,version 1.4.0 (r21228)
compiledOct 12 2006, 10:18:56Copyright (C) 2000-2006 CollabNet.
Subversionis open source software, see http://subversion.tigris.org/
Thisproduct includes software developed by CollabNet (http://www.Collab.Net/).
Thefollowing repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.,
那麼下邊你就不用看了,但是如果你出錯了, 而且還挺多,那麼你就需要好好看了。
錯誤1:缺少APR環境
如果出現如下信息
configure: Apache Portable Runtime (APR) libraryconfiguration
checkingfor APR... no
configure:WARNING: APR not found
TheApache Portable Runtime (APR) library cannot be found.
Pleaseinstall APR on this system and configure Subversion
withthe appropriate --with-apr option.
Youprobably need to do something similar with the Apache
PortableRuntime Utility (APRUTIL) library and then configure
Subversionwith both the --with-apr and --with-apr-util options.
configure:error: no suitable APR found
那麼你就需要將apr-util-1.5.4.tar.gz apr-1.5.2.tar.gz傳到服務器上,然後先解壓apr-1.5.2.tar.gz ,然後cd apr-1.5.1 執行./configure可能會出現這個提示:cannotremove `libtoolT’:No such file or directory。
解決方案
編輯 configure文件,查找 $RM "$cfgfile"這個地方,用#註釋掉,然後重新編譯安裝就可以了。安裝完以後再解壓apr-util-1.5.4.tar.gz並依次執行 ./configure , make , make install。
這樣APR環境就安裝好了!
錯誤2:subversionrequires zlib
解決完了錯誤1,我們繼續安裝,但是在執行的時候發現還是有錯誤,提示subversion requires zlib,這個比較簡單,一看就是沒有zlib造成的。
解決方案
cd subversion-1.4.3/zlib
./configure–shared
make
makeinstall
這樣我們就安裝好了,然後我們在用yum install zlib-devel 安裝一下zlib-devel ,這兩個文件一般都是一起用的。安裝好以後。我們又可以在嘗試一下了!
錯誤3: cannot find -lz
嘗試了以後,發現我們又失敗了。又出現瞭如下錯誤
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld:/app/software/subversion-1.4.3/neon/src/.libs/libneon.a(ne_request.o):relocation R_X86_64_32 against `a local symbol' can not be usedwhen making ashared object; recompile with -fPIC
/app/software/subversion-1.4.3/neon/src/.libs/libneon.a:could not read symbols: Bad value
collect2: ld returned 1 exit status
make: ***[subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1
解決方案
在subversion-1.4.0/neon/src/Makefie 的 CFLAGS中增加 -fPIC選項 一定要加到最前面,例如 CFLAGS = -fPIC -g -O2。
這樣我們就解決了。如果你跟我一樣幸運的話, 但現在基本上所有的問題都解決了。如果你不幸運的話,那麼你就在問baidu,google吧!