2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SVN Source Install

Posted at

Goal

* 最終的にUSVNをつかえるようにする目標で、まずはSVNのインストールをおこなう
* SVN1.8をソースからインストールする
* ApacheがSource Installされている前提

Milestone

* Apacheがソースインストールされている場合、USVNなどのツールを使うためにsvnもソースからインストールされる必要がある
* SVNインストールの際にsqliteが必要なためパッケージをダウンロードしてsvnビルド時に組み込む必要がある
* ビルド時にapacheのインストールパスを指定し、mod_dav_svn.soおよびmod_authz_svn.soをインストールする
* SVNはCentOSのパッケージがすでにインストールされているがこれを無視して新しいものを別のパスにインストールする
* SVNはリポジトリの保存形式にBerkely DBとFSFS(通常のフラットファイル形式)を選択できるが、現在はFSFSがデフォルトかつ主流のようなので、Berkely DBはビルド時に除外する

Preparation

$> uname -a
Linux *** 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$> cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

$> /usr/local/apache/bin/apachectl -V | head -n 1
Server version: Apache/2.4.7 (Unix)

Manual

Download SVN Source Code

## root user
cd /usr/local/src
wget "http://ftp.tsukuba.wide.ad.jp/software/apache/subversion/subversion-1.8.8.tar.gz"
  # http://subversion.apache.org/download/
  # DownloadするバージョンやURLは上記URLで確認
ls -l subversion-1.8.8.tar.gz
tar zxvf subversion-1.8.8.tar.gz
ls -l subversion-1.8.8

Download sqlite Source Code

## 
## このままビルドすると、sqliteのエラーメッセージが発生するため、
## エラーメッセージに沿ってパッケージをダウンロードして、svnソースディレクトリ内に配置
## 

cd /usr/local/src
wget "http://www.sqlite.org/sqlite-amalgamation-3071501.zip"
unzip sqlite-amalgamation-3071501.zip
mv -i sqlite-amalgamation-3071501 subversion-1.8.8/subversion/sqlite-amalgamation
  # /usr/local/src/
  #   |- subversion-1.8.8
  #      |- sqlite-amalgamation

sqliteバージョン不整合によるエラーメッセージ

get the sqlite 3.7.15.1 amalgamation from:
    http://www.sqlite.org/sqlite-amalgamation-3071501.zip
unpack the archive using unzip and rename the resulting
directory to:
/usr/local/src/subversion-1.8.8/sqlite-amalgamation

configure: error: Subversion requires SQLite

Build / Install

./configure --prefix=/usr/local/svn-1.8.8 \
  --without-berkeley-db \
  --with-apr=/usr/local/apache \
  --with-apr-util=/usr/local/apache \
  --with-apache-libexecdir=/usr/local/apache/modules \
  --with-openssl

make
make install

Check Install

ls -l /usr/local/svn-1.8.8
  # prefixに指定したパスにインストールされていることを確認
find /usr/local/apache -mmin -10
  # 過去10分以内にapacheディレクトリに対しておこなわれた変更を確認
  # 想定通り、mod_dav_svn.soとmod_authz_svn.soのみゲットできたことを確認
  # ./modules
  # ./modules/mod_authz_svn.so
  # ./modules/mod_dav_svn.so

Other Initial Setup

## 
## シムリンクはる
## 

cd /usr/local
ln -s svn-1.8.8 svn

## 
## パスを通す
## 

vi /etc/profile.d/svn.sh
  # 新規SVNのインストールパスで既存SVNのパスを上書き
  # PATH=/usr/local/svn/bin:$PATH
  # export PATH

##
## ログインし直して、バージョンがあがったことを確認
## 

svn --version | head -n 1
  # svn, version 1.8.8 (r1568071)

## 
## 新規SVNが問題なさそうだったら既存svnを削除
## 

yum remove svn

Others

## 
## --without-berkeley-dbオプションをつけてビルドしたため、
## bdb形式でリポジトリ作成しようとするとエラーになる
## (※ただ、エラーメッセージみるたところberkely DBはすでに非推奨になっているよう)
## 

svnadmin create --fs-type bdb bdb_repo
  # svnadmin: warning: The "bdb" repository back-end is deprecated, consider using "fsfs" instead.
  # svnadmin: E160033: ファイルシステム形式 'bdb' のモジュールをロードできませんでした

References

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?