CentOS6.x Subversion Submin2

Subversionサーバをブラウザで管理できるsubminをLinux(CentOS6)インストールします

Subversionサーバを立てたものの、リポジトリを追加したりアクセス権限を設定するときにコマンドを叩いたり設定ファイルを編集したりするのはとても面倒です

社内で運用したりすると、リポジトリの追加方法を説明したり、作ってあげたりしなければならなかったりでもうたいへんです

そこでSubminの登場です

Subminだとブラウザでリポジトリの追加や権限の設定、コミットメール通知などが直感で操作できます

さぁ、Subminを入れて面倒なことから解放されましょう

インストール環境

Linuxディストリビューションである、Redhat Enterprise6互換OSのCentOS6.x(64bit)に導入します

Subminは、現時点で最新の2.1.2をインストールします

インストールは、Submin付属のINSTALLテキストに従い行います

必要なパッケージのインストール

Subminのインストール及び実行に必要なパッケージをはじめにインストールしておきます

ApacheやSubversionが必要なのはあたりまえですが、インストールや実行にはPythonも必要です

rootにて以下を実行し、必要なパッケージをインストールします

# yum install httpd subversion python mod_dav_svn apr-util-sqlite

Subminソースのダウンロード

適当な場所に、Subminの最新ソースをダウンロードします

Subminオフィシャルサイトダウンロードページより最新のソースをダウンロードします

ここでは、rootユーザで作業し、~/submin/以下に現時点で最新のsubmin-2.1.2-0.tar.gzをダウンロードします

# mkdir ~/submin
# cd ~/submin
# wget http://supermind.nl/submin/current/submin-2.1.2-0.tar.gz

Subminのインストール

ダウンロードしたSubminソースを展開し、セットアップスクリプト(setup.py)を実行します

rootにて以下を実行します

# cd ~/submin
# tar xvzf submin-2.1.2-0.tar.gz
# cd submin-2.1.2-0
# python setup.py install
    :     :
    :     :
    :     :
running install_scripts
copying build/scripts-2.6/submin2-quickstart -> /usr/bin
copying build/scripts-2.6/submin2-admin -> /usr/bin
changing mode of /usr/bin/submin2-quickstart to 755
changing mode of /usr/bin/submin2-admin to 755
running install_data
copying man/submin2-admin.1 -> /usr/share/man/man1
running install_egg_info
Writing /usr/lib/python2.6/site-packages/Submin-2.0-py2.6.egg-info
#

/usr/bin/以下にsubmin2-adminコマンド等がインストールされました

Submin環境の作成

インストールが終わりましたので、続いてSubmin環境の設定を行います

ここでは、INSTALLテキストの内容に従い、/usr/lib/submin/以下に環境を作成することにします

rootにて以下を実行して環境を作成します

# submin2-admin /var/lib/submin initenv your@email.address

メモ

メールアドレスは、環境設定終了後に管理者用アカウントのパスワードリセットを通知するメールが送付されますので有効なものを指定して下さい

実行するといろいろと聞いてきますので答えて行きます

SVNリポジトリの位置

Please provide a location for the Subversion repositories. For new Subversion
repositories, the default setting is ok. If the path is not absolute, it will
be relative to the submin environment. If you want to use an existing
repository, please provide the full pathname to the Subversion parent
directory (ie. /var/lib/svn).


Path to the repository? [svn]> 

Subversionリポジトリの位置(Parent Directory)を指定します

あたらしく作るのであれば、規定値の"svn"でOKです

すでにSVNリポジトリがあの場合は、Parent Directoryの場所をフルパスで指定(例えば、/var/lib/svn や /home/svn/repos/等)します

ここでは新しく作るので、規定値のままとします

gitリポジトリの位置

Please provide a location for the git repositories. For new git repositories,
the default setting is ok. If the path is not absolute, it will be relative to
the submin environment. If you want to use an existing repository, please
provide the full pathname to the git parent directory (ie. /var/lib/git).

Path to the git repositories? [git]> 

SVNの時と同様、新規に作るか、既存場所をフルパスで指定します

gitをつかっていない場合、規定値のままでOKです

tracの位置

Please provide a location for the parent dir of Trac environments. For a new
installation, the default setting is ok. If you don't want to use Trac, the
default setting is also ok. For existing Trac environments, please provide
the full path.

Path to trac environment? [trac]> 

BTS(バクトラッキングシステム)で有名なtracの場所を指定します

git同様、使用していない場合は規定値のままでOKです

ホスト名の指定

Please provide a hostname that can be used to reach the web interface. This
hostname will be used in communication to the user (a link in email, links
in the web interface).

Hostname? [localhost.localdomain]> localhost:8080

Subminから送付されるメールに含まれるリンク等に使われるホスト名を指定します

この構築記録を各に当たって作成している私のCentOS6の環境はVirtualBoxのVMで稼働しており、ホストOSから http://localhost:8080/ で WEBにアクセスする様ポートフォワーディングの設定をしていますので、"localhost:8080" と指定しています

Submin管理ページへのパスの指定

The HTTP path tells Submin where the website is located relative to the root.
This is needed for proper working of the website. Submin will be accesible
from <http base>/submin, Subversion will be accessible from <http base>/svn.
If you use Trac, it will be accessible from <http base>/trac.

HTTP base? [/]> 

Submin管理ページへのパスを指定します

規定値(/)の場合、管理ページのURLは /submin/ となります

環境スクリプトの処理

環境実行スクリプトの処理が行われ、成功すると以下のようなメッセージが表示されます

Apache files created:
/var/lib/submin/conf/apache-webui-cgi.conf
/var/lib/submin/conf/apache-webui-wsgi.conf
/var/lib/submin/conf/apache-svn.conf
/var/lib/submin/conf/apache-trac-modpython.conf
/var/lib/submin/conf/apache-trac-cgi.conf
/var/lib/submin/conf/apache-trac-fcgid.conf
/var/lib/submin/conf/apache-trac-modwsgi.conf

   Please include the relevent files in your apache config. If you have
   selected to generate all files (recommended), do not include all files,
   but only select one version (e.g. svn and webui-cgi but not webui-wsgi).

   Also make sure that you have the appropriate modules installed and enabled.
   Depending on your choices, these may include: mod_dav_svn, mod_authz_svn,
   mod_authn_dbd, mod_dbd, mod_wsgi, mod_cgi, mod_cgid and mod_python
Could not find 'trac-admin' command. If you want to use Trac, please install trac and run: `submin2-admin /var/lib/submin trac init`

apache用の設定ファイル等が作成され、指定されたメールアドレス宛てにパスワードリセットメールの通知が送付されます

(*)まだapacheの設定が終わっていないのでメールのリンクをクリックしてもエラーとなります

なお、最後にtracまわりの警告がでていますが、tracを使用しなければ問題ありませんし、後からtracを使う場合はメッセージに従い `submin2-admin /var/lib/submin trac init` すれば良いです

環境作成後の状態

環境作成後のディレクトリの状態は以下の様になります

# tree /var/lib/submin/
/var/lib/submin/
├── auth
├── cgi-bin
│   └── submin.cgi
├── conf
│   ├── apache-svn.conf
│   ├── apache-trac-cgi.conf
│   ├── apache-trac-fcgid.conf
│   ├── apache-trac-modpython.conf
│   ├── apache-trac-modwsgi.conf
│   ├── apache-webui-cgi.conf
│   ├── apache-webui-wsgi.conf
│   ├── authz
│   ├── settings.py
│   ├── settings.pyc
│   ├── submin.db
│   └── submin.db-20131012115853
├── git
├── hooks
├── svn
└── trac

apacheの設定

Subminの環境が作成できましたので、apacheの設定を行います

apache用の設定ファイルが先程の環境作成でできていますので、それを利用します

Submin環境作成で自動生成された、apache用の設定ファイルは以下です

/var/lib/submin/
├── conf
│   ├── apache-svn.conf
│   ├── apache-trac-cgi.conf
│   ├── apache-trac-fcgid.conf
│   ├── apache-trac-modpython.conf
│   ├── apache-trac-modwsgi.conf
│   ├── apache-webui-cgi.conf
│   ├── apache-webui-wsgi.conf

このうち、以下のファイルに対するシンボリックリンクを /etc/httpd/conf.d/以下に作成します

apache-webui-cgi.conf
apache-svn.conf

具体的には以下の様にしてシンボリックリンクを作成します

# ln -s /var/lib/submin/conf/apache-webui-cgi.conf /etc/httpd/conf.d/z001_submin.conf
# ln -s /var/lib/submin/conf/apache-svn.conf /etc/httpd/conf.d/z002_submin-svn.conf
また、以下のapacheモジュールを読み込む様に、/etc/httod/conf.d/z000_submin-addModule.conf を新規に作成します
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule dbd_module modules/mod_dbd.so

注意

apache起動時に読み込むconfファイルの順番に注意する必要があるのでz000とかz001、z002といったファイル名にしています

順番を気にしたくないのであれば、シンボリックリンクではなく、Subminが生成したconfファイルをconf.dにコピーし、直接書き換えてもいいかと思います

シンボリックリンク作成後はapacheを再起動します

再起動後、/submin/ のパスでブラウザでアクセスし、Subminのログイン画面がでればひとまず成功です

管理者パスワードのリセット

Submin環境の作成時に送付されたメールに管理者のパスワードリセットのためのURLが記載されていますのでそのリンクにアクセスします

私の場合は以下のようなメールでした

You are receiving this email because someone requested a password reset for
your account. If you don't know what this is about, you can safely ignore it,
the reset request will expire automatically.

If you requested this passwod reset, you can reset your password by going to
the following URL:

http://localhost:8080/submin/password/admin/yXdsvpJxl71F9WiAvZ5hQ5ytHzPFU3zlrHiJsDkcI9IafAM7X1

Kind regards,
Submin

PS. The request was sent from submin2-admin

ブラウザでURLにアクセスすると、以下のような画面が表示されます


画面上の「submin」リンクをクリックすると、管理者でログインされた状態でSubmin管理画面が開きます(ユーザIDは'admin')

ここで、adminユーザのパスワードを変更します


ついでにNameとかも設定しても良いでしょう(日本語OK)

パスワードの設定が終わったら、念のためログアウトして、再度ログインできるか確認しましょう



これでSubmin2が使えるようになりました

続いて、リポジトリの作成などを行って行きます

目次

  • Page.1
    • Submin2のインストール
  • Page.2
    • Submin2によるSVNリポジトリの作成

関連ページ