Ubuntuを少しさわれる程度の私が試行錯誤でCentOS 7にインストールした時のメモです。
今はgitなどありますが、まだ需要はあるはず。
Subversion Edgeとは、無料のウェブベースのSCMアプリケーションでブラウザ上からSubversionのリポジトリ作成や、ユーザー管理等が出来ます。
ダウンロードは下記サイトから(会員登録が必要です)
http://www.collabnet.jp/products/subversion
ですがいきなり問題発生
Windows7で普段作業しているのですが、ダウンロードページから
Subversion Edge 5.0.1 (Linux 64-bit) File Size: 90.78 MB
をWindows上でダウンロードすると、何故か165MBのファイルが落ちてきます・・・
しょうがないので私はUbuntuデスクトップからダウンロードしました。
ちゃんと90.78MBのファイルが落とせました。
一体何なのでしょう?
環境構築
OSのインストール
VirtualBoxにインストール前提で話をしていきます。
CentOS 7(64bit)を使用、メモリは1GB、ネットワークはブリッジアダプターに割り当ててOSのインストールを開始。
CentOSはCUIでWEBサーバーの設定、他は必要になりそうな物もチェック。
Subversion Edgeはroot以外のユーザで実行する必要があるので、
インストール中に新規にユーザーを作成します(今回は分かりやすく"hoge"にしてます)
必須アプリケーション
細かいバージョンは省きますが、この時はインストール当時の最新版を入れました。
- CollabNet Subversion Edge 5
- Java 1.7 JRE/JDK
- Python 2.7
- perl 5
VBoxGuestAdditionsをインストール
結局、共有フォルダぐらいしか使えなかったんですけど一応。
必要な物をインストールします。
# yum install gcc
# yum install make
# yum install kernel-devel
VirtualBoxのメニューから「Guest Additions CD イメージの挿入...」を押してCDをマウントします。
# mount -r /dev/sr0 /mnt
# cd /mnt
runスクリプトを実行してインストール
# sh VBoxLinuxAdditions.run
Subversion Edgeのインストール
ここから先はsuコマンドでrootになって作業をする前提で書いています。
1. 環境変数にJAVA_HOMEを設定
すでにJAVA_HOMEが設定されているならココは飛ばしてください、下のコマンドが通ればOKです。
$JAVA_HHOME/bin/java -version
Javaはalternativesと言うソフトで管理されていて、異なるバージョンのJavaを選択できます。
JAVA_HOMEに設定するパスは下記コマンドで確認(使用するバージョンの選択)できます。
# alternatives --config java
There is 1 program that provides 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79-2.5.5.2.el7_1.x86_64/jre/bin/java
Enter to keep the current selection[+], or type selection number:
パスが長い。exportでパスを環境変数に追加
export JAVA_HOME=/usr/lib/jvm/hogehoge
2. Subversion Edgeのパッケージをインストール
今回は /home/hoge/csvn に入れます。
本当は /opt の中が良いと思います。
どうにかしてパッケージファイルをユーザーホームに置いてください。
私は共有フォルダからコピーしてきた。
VirtualBoxの共有フォルダからコピーしてくる
VMの 設定->共有フォルダー から共有するフォルダを選択します。
フォルダー名は"shared"とし、マウントしてからコピーします。
# mount -t vboxsf shared /mnt
# cd /mnt
# cp CollabNetSubversionEdge-5.0.1_linux-x86_64.tar.gz ~/CollabNetSubversionEdge-5.0.1_linux-x86_64.tar.gz
3. Subversion Edgeのセットアップ
ここの作業は一度rootでなくhogeユーザーで作業する必要があります。
まずはパッケージをアンパックします。
$ tar zxf CollabNetSubversionEdge-x.y.z_linux-x86.tar.gz
アンパックしたフォルダー名が"csvn"になっていると思いますが、違う名前になっていたら"csvn"にリネームしてください。
パーミッションを設定してあげないとインストールが失敗するようなので権限を与えておきます。
$ sudo chmod -R a-rwx /csvn
インストールします。
$ cd csvn
$ sudo -E bin/csvn install
$ sudo bin/csvn-httpd install
確認の為セキュリティを一時的に無効にします。
CentOS 7はファイヤーウォールにiptablesではなくfirewalldが使用されています。
もしもiptablesが使われていたならこちらを停止させてください。
// SELinuxを停止
$ sudo setenforce 0
// firewalldを停止
$ systemctl stop firewalld
Subversion Edgeを開始させ、ブラウザで確認します。
URIは下記になります。
http://hostname:3343/csvn
adminユーザーのデフォルトのパスワードは"admin"になっています。
$ bin/csvn start
#その他
svn、viewvcが見れない
サーバー設定のポートが80になっていませんか?
デフォルトが18080なのですが、80になっている時があります。
80だとうまく起動できないようなのでデフォルトの18080に変更して、ポートを開けてください。
viewvcは起動するのにリポジトリが見れない
adminユーザーで見ていませんか?
リポジトリのアクセスルールにadminを追加してください。
OS起動時に自動実行させる
# vi /etc/rc.d/rc.local
// 下記を追記
service csvn start
sudo -u hoge /home/vcs/csvn/bin/csvn-httpd start