最近はバージョン管理といえばGitが主流になりつつありますが、Subversion(SVN)に触れる機会がありましたので、Xserverにインストールしてみました。
通常LinuxにSVNを導入する場合はyumコマンドで楽にインストールできるようですがXserverではroot権限がないためそれができません。
そこでSVNをダウンロード、インストールする方法の紹介をしたいと思います。
これをやるにはXserverへのSSH接続が必要になります。
XSERVERとは
Xserverとはレンタルサーバーの一つで、当ブログでも使用されております。主な利点としては以下があげられます。
- 暗号化通信のSSL設定が無料でできる
- サイトの読み込みが高速にできる
- サーバーにSSH接続ができる
- データの自動バックアップがある
こんな風にサイトを運営するにはうれしい機能が揃っています。
使える言語や機能なんかも以下のページにまとめられています。
プログラム言語・コマンドパス|レンタルサーバー【エックスサーバー】
検討している方はXserverの申し込みページからどうぞ
SSH接続する
XserverにSubversionを導入するためにまずSSH接続することが必要になります。
Windowsの場合の、TeraTermを使ったSSH接続の方法についてはXserverの公式マニュアルページにて公開されておりますので参照してみてください。
Aprをインストールする
Subversionをいきなりインストールしようとすると「no suitable APR found」と怒られてしまうので、APRをインストールします。
まずはホームディレクトリに移動し、インストール用のディレクトリと作業用のディレクトリを作っておきましょう。
$ cd ~/
$ mkdir opt
#インストール用ディレクトリ
$ mkdir svnfiles
#作業用ディレクトリ
作業用ディレクトリに移動してAprをダウンロードします。バージョンは以下で確認してください。
http://ftp.jaist.ac.jp/pub/apache//apr/
$ cd svnfiles
$ wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-1.7.0.tar.gz
# apr-1.7.0.tar.gzというファイルがダウンロードされる
ダウンロードしたapr-1.7.0.tar.gzを解凍します。
$ tar zxvf apr-1.7.0.tar.gz
# apr-1.7.0というフォルダが展開される
展開されたフォルダに移動します。
$ cd apr-1.7.0
インストールするフォルダを指定しましょう。
$ ./configure --prefix=/home/サーバーID/opt
コンパイルし、インストールします。
$ make
$ make install
Expatをインストールする
次にExpatをダウンロード、インストールします。
Expatを作業用ディレクトリにダウンロードしましょう。バージョンは以下で調べられます。
https://ja.osdn.net/projects/sfnet_expat/releases/
$ cd ~/svnfiles
$ wget https://jaist.dl.sourceforge.net/project/expat/expat/2.2.9/expat-2.2.9.tar.xz
# expat-2.2.9.tar.xzというファイルがダウンロードされる
ダウンロードしたexpat-2.2.9.tar.xzを解凍します。
$ xz -dc expat-2.2.9.tar.xz | tar xfv -
# expat-2.2.9というフォルダが展開される
展開したファイルの中にexpat.hとexpat_external.hがありますので、ホームディレクトリにコピーしておきます。
$ cp ~/svnfiles/expat-2.2.9/lib/expat.h ~/expat.h
$ cp ~/svnfiles/expat-2.2.9/lib/expat_external.h ~/expat_external.h
展開されたフォルダに移動します。
$ cd expat-2.2.9
インストールするフォルダを指定しましょう。
$ ./configure --prefix=/home/サーバーID/opt
コンパイルし、インストールします。
$ make
$ make install
Apr-Utilをインストールする
次にApr-Utilをインストールします。作業用ディレクトリにApr-Utilをダウンロードします。バージョンは以下で調べてください。
http://ftp.jaist.ac.jp/pub/apache//apr/
$ cd ~/svnfiles
$ wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-util-1.6.1.tar.gz
# apr-util-1.6.1.tar.gzというファイルがダウンロードされる
ダウンロードしたapr-util-1.6.1.tar.gzを解凍します。
$ tar zxvf apr-util-1.6.1.tar.gz
# apr-util-1.6.1というフォルダが展開される
展開されたフォルダに移動します。
$ cd apr-util-1.6.1
先ほどのexpat.hとexpat_external.hを移動させます。
$ mv ~/expat.h ~/svnfiles/apr-util-1.6.1/include/expat.h
$ mv ~/expat_external.h ~/svnfiles/apr-util-1.6.1/include/expat_external.h
インストールするフォルダを指定しましょう。
$ ./configure --prefix=/home/サーバーID/opt --with-apr=/home/サーバーID/opt
コンパイルし、インストールします。
$ make
$ make install
Pythonをインストールする
Libxml2を入れる必要がありますが、それにはPythonが必要になります。以下ページに必要バージョンが書いてあります。
http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html
$ cd ~/svnfiles
$ wget https://www.python.org/ftp/python/2.7.17/Python-2.7.17.tar.xz
# Python-2.7.17.tar.xzというファイルがダウンロードされる
ダウンロードしたPython-2.7.17.tar.xzを解凍します。
$ xz -dc Python-2.7.17.tar.xz | tar xfv -
# Python-2.7.17というフォルダが展開される
展開されたフォルダに移動します。
$ cd Python-2.7.17
インストールするフォルダを指定しましょう。
$ ./configure --prefix=/home/サーバーID/opt
コンパイルし、インストールします。
$ make
$ make install
Libxml2をインストールする
次にLibxml2をインストールします。作業用ディレクトリに移動しダウンロードします。
$ cd ~/svnfiles
$ wget http://xmlsoft.org/sources/libxml2-2.9.10.tar.gz
# libxml2-2.9.10.tar.gzというファイルがダウンロードされる
ダウンロードしたlibxml2-2.9.10.tar.gzを解凍します。
$ tar zxvf libxml2-2.9.10.tar.gz
# libxml2-2.9.10というフォルダが展開される
展開されたフォルダに移動します。
$ cd libxml2-2.9.10
インストールするフォルダを指定しましょう。
$ ./configure --prefix=/home/サーバーID/opt --with-python=/home/サーバーID/opt
コンパイルし、インストールします。
$ make
$ make install
Subversionをインストールする
では作業用ディレクトリにSubversionをインストールします。バージョンは以下で調べてください。
http://ftp.meisei-u.ac.jp/mirror/apache/dist/subversion/
$ cd ~/svnfiles
$ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/subversion/subversion-1.13.0.tar.gz
# subversion-1.13.0.tar.gzというファイルがダウンロードされる
ダウンロードしたsubversion-1.13.0.tar.gzを解凍します。
$ tar zxvf subversion-1.13.0.tar.gz
# subversion-1.13.0というフォルダが展開される
展開されたフォルダに移動します。
$ cd subversion-1.13.0
インストールするフォルダを指定しましょう。
$ ./configure --prefix=/home/サーバーID/opt \
--with-apr=/home/サーバーID/opt \
--with-apr-util=/home/サーバーID/opt \
--with-expat=/home/サーバーID/opt/include:/home/サーバーID/opt/lib:expat \
--with-lz4=internal \
--with-utf8proc=internal
すると「get the sqlite 3.8.11.1 amalgamation」と、SqLiteがないと怒られ、さらにダウンロード先のリンクも表示してくれますので、インストールします。
作業用ディレクトリに戻り、sqliteをダウンロードします。
$ cd ..
$ wget https://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip
# sqlite-amalgamation-3081101.zipというファイルがダウンロードされる
解凍し、できたフォルダを移動させます。
$ unzip sqlite-amalgamation-3081101.zip
# sqlite-amalgamation-3081101というフォルダができる
$ mv sqlite-amalgamation-3081101 subversion-1.13.0/sqlite-amalgamation
$ cd subversion-1.13.0
もう一度configureを実行しましょう。
$ ./configure --prefix=/home/サーバーID/opt \
--with-apr=/home/サーバーID/opt \
--with-apr-util=/home/サーバーID/opt \
--with-expat=/home/サーバーID/opt/include:/home/サーバーID/opt/lib:expat \
--with-lz4=internal \
--with-utf8proc=internal
コンパイルし、インストールします。
$ make
$ make install
ここでもし、「libgettextsrc-0.20.so」が見つかりませんと出た場合はgettextをインストールしてみるといいかと思います。
ここまで出来たら、あとはパスを通して完了です。
.bashrcを更新して保存します。
$ vi ~/.bashrc
# .bashrcの最後の行に以下を追加する
$ export PATH=$HOME/opt/bin:$PATH
保存したら読み直してみます。
$ source ~/.bashrc
そのあとに、以下コマンドでバージョン情報が出ればインストール完了です。
$ svn --version
# SVNのバージョン情報が出力されれば成功
最後に
ここまで長らく、お付き合いいただきありがとうございます。
導入ができたので、やっとSVNを使用してバージョン管理を始めていけますね。