Submin 1.2.9をCentOS 5.4にインストール

2010-02-20 16:46 | tag: ,

Submin

Subminとは、Subversionサーバの管理をwebベースで行うためのツールです。リポジトリの作成、ユーザーの作成、リポジトリおよびリポジトリ内のパスに対するアクセス権限の設定などを行うことができます。

Subminを利用することにより、これまでコマンドライン上で行わなければならなかった作業をGUI画面で行えるようになりますので、Subversionサーバの運用の手間を軽減したり、リポジトリの管理をサーバ管理者以外の人に委譲したりすることができます。

CentOSへインストールする上での注意点

Subminのインストールおよび利用にはPythonが必要ですが、CentOSに含まれるPython 2.4.3ではインストーラ実行中にエラーが発生し処理が中断してしまいます。Python 2.xの最新版を自分でインストールする必要があります。

Python 2.4.3でインストーラを実行したときのエラー:

  File "install.py", line 16
    class Main():
               ^
SyntaxError: invalid syntax

インストール手順

Python 2.xの最新版インストール

下記URLからPython 2.xの最新版をダウンロードし、インストールを行います。

以下はPython 2.4のソースコードをダウンロードし、/usr/local以下にインストールした際に実行したコマンドです。

# wget http://www.python.org/ftp/python/2.6.4/Python-2.6.4.tgz
# tar zxvf Python-2.6.4.tgz
# ./configure 
# make
# make install

Python 2.6.4がインストールされたことを確認します。

# /usr/local/bin/python --version
Python 2.6.4

Apacheおよびmod_dav_svnのインストール

# yum install httpd mod_dav_svn

Subminのインストール

下記URLからSubminの最新版のソースコードをダウンロードし、インストールを行います。2010年2月21日時点での最新版は1.2.9です。

ダウンロードしたtarballを展開し、インストーラを実行してください。

以下のコマンド例はSubmin 1.2.9を取得し/usr/local以下にインストールした際のコマンド実行例です。

# wget http://supermind.nl/submin/current/submin-1.2.9.tar.gz
# tar zxvf submin-1.2.9.tar.gz 
# cd submin-1.2.9
# /usr/local/bin/python ./bin/install.py /usr/local

Subminの設定

まず、Subminの設定ファイルをsubmin-adminコマンドで作成します。

以下のようにsubminに対するコマンド「create」、作成する環境名(ファイル名の一部として使われます。例:default)を引数に指定してsubmin-adminコマンドを実行します。

# /usr/local/bin/python /usr/local/bin/submin-admin create default

生成された設定ファイルの一つ、/etc/submin/default.confに設定項目trac_base_urlを追加します。Submin 1.2.9では、Tracとの連携を行わない場合もtrac_base_urlを設定しておかないとリポジトリ作成時にエラーが発生しますので、ダミーの値を設定しておきます。

[www]
base_url = /submin
svn_base_url = /svn
trac_base_url = /trac

生成されたApache用の設定ファイルを/etc/httpd/conf.d/以下にコピーし、Apache起動時に読み込まれるようにします。

# cp /etc/submin/default-apache-cgi.conf /etc/httpd/conf.d/

Apacheを再起動します。

# /etc/init.d/httpd configtest
# /etc/init.d/httpd restart

Subminの動作確認

webブラウザでSubminをインストールしたwebサーバ上の/subminにアクセスします。インストール・設定ができていれば、以下のようなログイン画面が表示されます。

デフォルトのユーザー名admin、パスワードadminでログインできます。

ログインすると次のような画面が表示されます。この画面でリポジトリの作成、ユーザーやグループの作成、権限の設定を行うことができます。