題記:第一次寫如此實踐類的博文,都是親身經歷,折騰了大半天,僅記錄供參考。(新手實踐,有錯誤之處歡迎糾正。)
安裝前準備:
1.已安裝JDK1.7,并配置好環境變量。
2.已安裝aPR、apr-util、apr-iconv(可選),我全部安裝在/usr/local/apr目錄下。
3.已安裝ApacheHTTPServe,我安裝在/usr/local/httpd目錄下。
4.下載scons-2.3.1-1.noarch.rpm、serf-1.3.4.tar.bz2、subversion-1.8.8.tar.gz。
解釋:subversion-1.8需要使用serf軟件包支持訪問http協議的版本庫。
subversion源碼包解壓后自帶的serf,我configure成功后make報錯,折騰了老半天沒解決(可能是我的系統依賴包/庫lib的問題);我就重新下載了serf-1.3.4,但新版的只支持scons編譯安裝,所有就繞了一大圈。你可以直接使用subversion提供的serf試試。
apr 和 apr-util 就不說了,很多軟件依賴的。
安裝過程:(解壓及切換目錄就不詳寫了)
可以先切換至subversion-1.8.8 解壓的目錄下,用如下命令查看下依賴:
1 # ./get-deps.sh
缺少的可以直接進入subversion目錄下自帶的依賴包源碼編譯安裝,或自行單獨安裝。
安裝scons:
1 # rpm -ivh scons-2.3.1-1.noarch.rpm
安裝serf:
1 # scons PREFIX=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr 2 # scons install 3 # scons -c
安裝subversion:
1 # 先編譯,參數路徑可根據實際情況自行調整2 # ./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-mod-activation --with-apache-libexecdir=/usr/local/httpd/modules --with-apxs=/usr/local/httpd/bin/apxs --with-serf=/usr/local/serf3 # 仔細查看編譯輸出,確認無誤后make安裝4 # make && make install
準備充分順利的話上面的命令就可以成功搞定了,我在編譯后出現一些警告,一些提示未加載之類的信息,自行百度解決了。
ps:
1. 可以通過:
1 # ./configure --help
查看編譯時候可添加的參數信息,根據需要自行添加。
2. subversion源碼里自帶了mod_authz_svn、mod_dav_svn,無需另外獨自安裝,很方便;可以在編譯時指定參數加載到Apache下,安裝完成后可以查看Apache的modules目錄下的模塊文件和配置文件確認已加載svn模塊。
安裝到此結束,我打算查看下svn版本時候又出問題了:
1 # 切換至svn安裝目錄查看版本信息2 # ./svn --version3 # 報錯,提示 libserf-1.so 找不到4 ./svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or directory
顯然是由于安裝的 serf 庫文件未被找到,可以通過以下辦法解決:
1 # 在系統 ld.so.conf.d 目錄下新建conf文件2 # vi /etc/ld.so.conf.d/serf-1.3.4.conf3 # 添加serf的庫目錄路徑 /usr/local/serf/lib4 # 保存退出5 # /sbin/ldconfig -v
再次看下svn版本:
1 # ./svn --version 2 3 svn,版本 1.8.8 (r1568071) 4 編譯于 Mar 23 2014,16:50:59 在 x86_64-unknown-linux-gnu 5 版權所有 (C) 2013 Apache 軟件基金會。 6 此軟件包含了許多人的貢獻,請查看文件 NOTICE 以獲得更多信息。 7 Subversion 是開放源代碼軟件,請參閱 http://subversion.apache.org/ 站點。 8 可使用以下的版本庫訪問模塊: 9 * ra_svn : 使用 svn 網絡協議訪問版本庫的模塊。10 - 處理“svn”方案11 * ra_local : 訪問本地磁盤的版本庫模塊。12 - 處理“file”方案13 * ra_serf : Module for accessing a repository via WebDAV protocol using serf.14 - using serf 1.3.415 - 處理“http”方案16 - 處理“https”方案
可以看到svn支持http、https 訪問。
查閱文檔,發現安裝 serf 的時候可以把庫文件直接安裝到系統目錄下/usr/lib64,使用參數:LIBDIR=/usr/lib64,可以試試,這樣就不會提示libserf-1.so找不到的問題。
svn的配置這里就不詳說了。
新聞熱點
疑難解答