Midnightjapan

CentOS5.8 32bit にSVN管理をブラウザからできるSubminをインストールする

by jun on 9月.14, 2012, under Linux

SVNの新しいレポジトリなどを作成するために、私はコマンドラインからできても他の人はかなりきびしいはず、そこでブラウザからSVN管理ができるSubminの導入することになった。Subminを使うためにはオブジェクト指向スクリプト言語のPythonが必要となるようなので、Pythonのインストールからはじめる。

まずはPythonのバージョン確認から

# python
Python 2.4.3 (#1, Jun 18 2012, 08:55:31)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[Ctrl+D]でPythonから抜けれます

また、PerlやPythonではzlibをよく使うのであわせてライブラリもインストールします。

# yum install zlib zlib-devel

zlibはインストールされてました・・・が、zlib-develも必要なので無事に完了。
Pythonのソースをダウンロードしてきてコンパイルします。

#?wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
# tar zxvf Python-2.6.6.tgz
# cd Python-2.6.6

Configureします

#?./configure --with-threads --enable-shared

Make前にzlib設定部分を修正

# vi Modules/Setup
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz ←コメント解除

Makeとインストールを実行

# make
# make install

これでバージョンアップが終わりそうですが実行してみると共有ライブラリが無いぞとPythonが怒り出します。

# /usr/local/bin/python
/usr/local/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory

Pythonにconfigファイルを追加して修正してあげます。

# vi /etc/ld.so.conf.d/python2.6.conf
/usr/local/lib ←追加

共有ライブラリを反映します

# /sbin/ldconfig

Pythonの実行確認

# /usr/local/bin/python
Python 2.6.6 (r266:84292, Sep 14 2012, 08:25:36)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[Ctrl+D]でPythonから抜けます

無事にPythonは実行可能に。
しかし、Pythonをこんなふうに実行してみると、Pythonの2.4が残っていることがわかります。

# python
Python 2.4.3 (#1, Jun 18 2012, 08:55:31)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
[Ctrl+D]でPythonから抜けます

パスが通っていないんですね。
そんなわけでパスを通します。

# vi ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/bin ←ここに「:/usr/local/bin」を付記

export PATH
unset USERNAME

# export PATH ←設定を反映

このままでは変わらないのでAliasで「python」→「python2.6」に変えてあげます。

# vi ~/.bashrc
# .bashrc

# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias python='python2.6' → この行を追加

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

これで無事にpythonの実行環境が整いました。

以下はApache2とSVNがすでにインストールされていることを前提にSubminのインストールを進めます。

# 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に対するコマンド「create」、作成する環境名(ファイル名の一部として使われます。例:default)を引数に指定してsubmin-adminコマンドを実行します。

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

trac_base_urlを設定しておかないとリポジトリ作成時にエラーが発生するとのことで

# vi /etc/submin/default.conf
[svn]
authz_file = /var/lib/submin/authz
userprop_file = /var/lib/submin/userproperties.conf
access_file = /var/lib/submin/htpasswd
repositories = /mnt/html/svn →リポジトリの場所
[www]
base_url = /submin
svn_base_url = /svn
trac_base_url = /trac →この行を追加

生成されたApache用の設定ファイルをコピーしてApache起動時に読み込まれるようにします。

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

設定ファイルを編集してリポジトリの場所を設定します。

# vi /etc/httpd/conf.d/default-apache-cgi.conf
    Alias /submin /usr/local/share/submin/www

        Order allow,deny
        Allow from all
        Options ExecCGI FollowSymLinks
        AddHandler cgi-script py cgi pl
        SetEnv SUBMIN_CONF /etc/submin/default.conf

        RewriteEngine on
        RewriteBase /submin

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.+)$ submin.cgi/$1

        RewriteRule ^/?$ submin.cgi/

        DAV svn
        SVNParentPath /mnt/html/svn →ここを編集

        AuthType Basic
        AuthName "Subversion repository"

        AuthUserFile /var/lib/submin/htpasswd
        AuthzSVNAccessFile /var/lib/submin/authz

        Satisfy Any
        Require valid-user

Apacheを再起動して「http:// サーバー名 /submin/」にアクセスすると

Submin 初期ログイン画面

Submin 初期ログイン画面

初期ログインは Username:admin Password:admin でログインできます。

 

:, , , , ,

コメント返信

*



何かお探しですか?

以下にキーワードを入力してサイト内検索が可能です:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!