CentOS 6.5 源碼安裝subversion-1.8.8,附加mod_dav_svn模塊


題記:第一次寫如此實踐類的博文,都是親身經歷,折騰了大半天,僅記錄供參考。(新手實踐,有錯誤之處歡迎糾正。)

安裝前准備:

  1.已安裝JDK1.7,並配置好環境變量。

  2.已安裝apr、apr-util、apr-iconv(可選),我全部安裝在/usr/local/apr目錄下。

  3.已安裝Apache HTTP Serve,我安裝在/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/serf
3 # 仔細查看編譯輸出,確認無誤后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 --version
3 # 報錯,提示 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.conf
3 # 添加serf的庫目錄路徑 /usr/local/serf/lib
4 # 保存退出
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.4
15   - 處理“http”方案
16   - 處理“https”方案

可以看到svn支持http、https 訪問。

查閱文檔,發現安裝 serf 的時候可以把庫文件直接安裝到系統目錄下/usr/lib64,使用參數:LIBDIR=/usr/lib64,可以試試,這樣就不會提示 libserf-1.so找不到的問題。

svn的配置這里就不詳說了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM