RedHat Enterprise Linux ES4でtracを使えるようにする

| コメント(2) | トラックバック(0)

しかも全部RPMでインストール。aptとか使えると一発でインストールできるみたいですが・・・。
ちなみにRedHatLinuxでソースからビルドしようとすると大変苦労するみたいです・・。


tracとは何ぞや、というのがここのWikiによくまとまってます。

■何はともあれhttpdをインストール
apacheはソースからビルドして使う、というルール(慣例?)になっているんだけど、今回構築しようとしているのはかなり特殊な環境なので従わなくてもOKでしょ、ということでRPMに頼る。こういうことをやるヤツが退職すると後に残された管理者が大変な思いをするんだろうけど、まぁいいや。

apache2.0のRPMパッケージはRedHatES4のCD(Disk2)に収められているので

httpd-2.0.52-9.ent.i386.rpm
httpd-manual-2.0.52-9.ent.i386.rpm
httpd-suexec-2.0.52-9.ent.i386.rpm

の3つをインストールすればよろし。
サーバーにFTPで転送して、依存関係をチェック。

[user@host httpd]$ ls
httpd-2.0.52-9.ent.i386.rpm httpd-manual-2.0.52-9.ent.i386.rpm httpd-suexec-2.0.52-9.ent.i386.rpm
[user@host httpd]$ rpm -i --test --nosignature ./httpd-*.rpm
error: Failed dependencies:
libapr-0.so.0 is needed by httpd-2.0.52-9.ent.i386
libaprutil-0.so.0 is needed by httpd-2.0.52-9.ent.i386
Suggested resolutions:
apr-0.9.4-24.1.i386.rpm
apr-util-0.9.4-17.i386.rpm
[user@host httpd]$

aprに依存しているようなので、こっちを先にインストールする。
ちなみにaprはsubversionにも依存されているのでこちらのページから
apr-0.9.12-1.i386.rpm
apr-util-0.9.12-1.i386.rpm
の2つをダウンロードしてきた。

これをサーバー上に置き、再度RPMコマンドで依存関係をテスト。

[user@host installTrac]$ ls apr
apr-0.9.12-1.i386.rpm apr-util-0.9.12-1.i386.rpm
[user@host installTrac]$ ls httpd
httpd-2.0.52-9.ent.i386.rpm httpd-manual-2.0.52-9.ent.i386.rpm httpd-suexec-2.0.52-9.ent.i386.rpm
[user@host installTrac]$ rpm -i --test --nosignature ./httpd/httpd-*.rpm ./apr/apr-*.rpm
[user@host installTrac]$

問題ナシなので、rootユーザーになってインストールを実行する。
[root@host installTrac]# rpm -i --nosignature ./apr/apr-*.rpm ./httpd/httpd-*.rpm
warning: /etc/rc.d/init.d/httpd saved as /etc/rc.d/init.d/httpd.rpmorig
[root@host installTrac]#

warningが出たけど、インストール終了。

■subversionをインストール
先ほどのページに必要なものが全て揃っているので、以下を取ってくれば大丈夫。

subversion-1.4.0-1.i386.rpm
subversion-perl-1.4.0-1.i386.rpm
subversion-python-1.4.0-1.i386.rpm
subversion-tools-1.4.0-1.i386.rpm
neon-0.24.7-4.i386.rpm
swig-1.3.25-1.i386.rpm

このパッケージを全部サーバーに置いて、RPMコマンドで依存関係を調べると、


[user@host subversion]$ rpm -i --test --nosignature ./*.rpm
file /usr/bin/swig from install of swig-1.3.25-1 conflicts with file from package swig-1.3.21-6


swigは既に1.3.21-6というバージョンがシステムに存在するようでエラーになるが、swig以外なら大丈夫そうだ。

[user@host subversion]$ rpm -i --test --nosignature ./subversion-*.rpm ./neon-0.24.7-4.i386.rpm
[user@host subversion]$

swigはアップデートでどうだろう?

[user@host subversion]$ rpm -U --test --nosignature ./swig-1.3.25-1.i386.rpm
[user@host subversion]$

問題なしなようなので、swigはアップデート、それ以外はrpmでインストールしてしまおう。

[root@host subversion]# rpm -U --nosignature ./swig-1.3.25-1.i386.rpm
[root@host subversion]# rpm -i --nosignature ./neon-0.24.7-4.i386.rpm ./subversion-*.rpm
[root@host subversion]#

何事もなく一瞬で終了。

■subversionのリポジトリを作成

まずはsubversionで管理するリポジトリのディレクトリを作成

[user@host ~]$ mkdir ~/svnrepo

svnadminコマンドでリポジトリを作成する

[user@host ~]$ svnadmin create ./svnrepo
svnadmin: warning: cannot set LC_CTYPE locale
svnadmin: warning: environment variable LANG is ja_JP.sjis
svnadmin: warning: please check that your locale name is correct

ここでは環境変数LANGにja_JP.sjisがセットされているためwarningが出てしまった。
エラーメッセージでぐぐるこちらのページに回答がある。

LANG を en_US のまま使うのは面倒だな・・・。
→ この件については結局 LANG=ja_JP.UTF-8 を使用することでクリアした。
なので、環境変数のLANGをja_JP.UTF-8に変更する。
一度リポジトリのディレクトリを全部削除してから再度作り直し、svnadmin createを実行。

[user@host ~]$ echo $LANG
ja_JP.UTF-8
[user@host ~]$ svnadmin create ./svnrepo
[user@host ~]$ ls ./svnrepo/
README.txt conf dav db format hooks locks
[user@host ~]$

問題なく実行できたようだ。

■作成したリポジトリをApache経由(WebDAV)で見れるようにする

参考になったのはこちらのページ。
http://www.gside.org/Gentoo/subversion/subversion.html

こちらにも詳しい解説が掲載されています。
http://subversion.bluegate.org/doc/ch06s04.html

情報が少々古いですが、@ITにも記事がありました。
http://www.atmarkit.co.jp/flinux/special/webdav03/webdav02b.html

suvbersion関連のパッケージをDLするときに
mod_dav_svn-1.4.0-1.i386.rpm
も取得しておけばよかったんですが、忘れちゃってたので合わせて取得。
これがないと動きません。
Apacheとsubversionがインストールできていれば依存関係は問題なしなので、インストールを実行。

[root@host subversion]# rpm -i --nosignature ./mod_dav_svn-1.4.0-1.i386.rpm
[root@host subversion]#


rpmでインストールしていると/usr/lib/httpd/modules以下にhttpdのモジュールがあるはずなので、mod_dav_svnが存在していることを確認する。

[root@host modules]# pwd
/usr/lib/httpd/modules
[root@host modules]# ls
mod_access.so mod_authz_svn.so mod_dir.so mod_info.so mod_proxy.so mod_unique_id.so
mod_actions.so mod_autoindex.so mod_disk_cache.so mod_ldap.so mod_proxy_connect.so mod_userdir.so
mod_alias.so mod_cache.so mod_env.so mod_log_config.so mod_proxy_ftp.so mod_usertrack.so
mod_asis.so mod_cern_meta.so mod_expires.so mod_log_forensic.so mod_proxy_http.so mod_vhost_alias.so
mod_auth.so mod_cgi.so mod_ext_filter.so mod_logio.so mod_rewrite.so
mod_auth_anon.so mod_dav.so mod_file_cache.so mod_mem_cache.so mod_setenvif.so
mod_auth_dbm.so mod_dav_fs.so mod_headers.so mod_mime.so mod_speling.so
mod_auth_digest.so mod_dav_svn.so mod_imap.so mod_mime_magic.so mod_status.so
mod_auth_ldap.so mod_deflate.so mod_include.so mod_negotiation.so mod_suexec.so
[root@host modules]#

いますね。


Apache2の設定ファイル(/etc/httpd/conf/httpd.conf)をviで開き、mod_dav_svnモジュールをロードする記述を追加。

LoadModule dav_module modules/mod_dav.so

dav_modueleをロードしている行の下に、

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so

こんな感じで記載すればOK。


そしてディレクティブ中に(とりあえず動作確認というレベルで)以下のような記述をすればWebDAV経由でsubversionにアクセスできるようになります。

<Location /svn>
DAV svn
SVNPath /home/****/svnrepo
</Location>


ブラウザでアクセスするとこんな感じ。


と、ここまででApacheとsubversionのインストールまでが完了。

■いよいよtracインストール
日本語が使えることにさほど魅力を感じないので、とりあえず英語版のRPMで入れる。
こちらのサイトにtracのES用RPMがあるので
trac-0.10-1.el4.rf.noarch.rpm
をダウンロードしてきた。

それと、Apache/subversion以外で必要なものもRPMで用意。

まずはclearsilver。
これはrpmfindで探せばみつかる。

clearsilver-0.9.13-1.2.el4.rf.i386.rpm

それからsqlite。これも同様にrpmfindで見つかる。RHEL4のは多少バージョンが古いがいたしかたない。

sqlite-2.8.17-1.el4.rf.i386.rpm


pyhon関連のインストールの前に、とりあえずこの2つを入れておくと楽。この2つだけなら特に依存関係のエラーは出ないので。

[user@host installTrac]$ rpm -i --test --nosignature ./clearsilver-0.9.13-1.2.el4.rf.i386.rpm ./sqlite-2.8.17-1.el4.rf.i386.rpm
[user@host installTrac]$
[root@host installTrac]# rpm -i --nosignature ./clearsilver-0.9.13-1.2.el4.rf.i386.rpm ./sqlite-2.8.17-1.el4.rf.i386.rpm
[root@host installTrac]#

そしてpython関連のライブラリをインストール。用意したのはこの3つ。

python-clearsilver-0.9.13-1.2.el4.rf.i386.rpm
python-docs-2.3.4-14.i386.rpm
python-sqlite-1.0.1-1.2.el4.rf.i386.rpm

別にdocsはなくてもいいと思う。

[user@host installTrac]$ ls ./python/
python-clearsilver-0.9.13-1.2.el4.rf.i386.rpm python-docs-2.3.4-14.i386.rpm python-sqlite-1.0.1-1.2.el4.rf.i386.rpm
[user@host installTrac]$ rpm -i --test --nosignature ./python/python-*.rpm

問題なしなのでインストール。


ここまでの手順を踏んで、やっとtracのインストールで依存関係のエラーが出なくなる。なげぇ・・・。

[user@host installTrac]$ rpm -i --test --nosignature ./trac-0.10-1.el4.rf.noarch.rpm
[user@host installTrac]$


[root@host installTrac]# rpm -i --nosignature ./trac-0.10-1.el4.rf.noarch.rpm
[root@host installTrac]#


やっとインストールできた!

[user@host installTrac]$ which trac-admin
/usr/bin/trac-admin

ちゃんとtrac-adminコマンドが/usr/binにインストールされている!


■tracをWEBブラウザで確認できるようにする

ここのページに詳しい。

とりあえず、trac用のディレクトリを一個作成。subversion用のリポジトリを作成したのと同じ階層に

[user@host ~]$ mkdir trac

としておいた。apacheユーザーで書き込みできる必要があるので、chmodコマンドで適当な権限をつけておく。

で、trac-adminコマンド実行。

[user@host ~]$ trac-admin /home/cult/trac initenv

対話形式でいくつかの質問に答えていけばいい。


Creating a new Trac environment at /home/****/trac

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

Please enter the name of your project.
This name will be used in page titles and descriptions.

Project Name [My Project]>

ここではプロジェクト名称を聞かれているので、プロジェクトの名前を入力。

Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).

Database connection string [sqlite:db/trac.db]>

利用するDBはデフォルトのSQLiteでOK。
PostgreSQLを利用する場合は事前に設定をしておく必要があるらしい。面倒なのでパスしてデフォルトのままいけば難しくない。


Please specify the type of version control system,
By default, it will be svn.

If you don't want to use Trac with version control integration,
choose the default here and don't specify a repository directory.
in the next question.

Repository type [svn]>

tracで利用するリポジトリの種類を聞かれている。Subversion(略してsvn)がデフォルトなので、空白のままエンターを押せば大丈夫。


Please specify the absolute path to the version control
repository, or leave it blank to use Trac without a repository.
You can also set the repository location later.

Path to repository [/path/to/repos]> /home/****/svnrepo

subversionのリポジトリパスを聞かれているので、設定してあるパスを入力する。


Please enter location of Trac page templates.
Default is the location of the site-wide templates installed with Trac.

Templates directory [/usr/share/trac/templates]>

利用するテンプレートのパスを聞かれているので、これはデフォルトのまま(空欄のまま)エンターを押せばOK。


ここまでの手順が済むと、テンプレートファイルがコピーされて、tracが使えるようになる。

Creating and Initializing Project Installing default wiki pages /usr/share/trac/wiki-default/TitleIndex => TitleIndex /usr/share/trac/wiki-default/RecentChanges => RecentChanges (略) /usr/share/trac/wiki-default/TracChangeset => TracChangeset /usr/share/trac/wiki-default/WikiFormatting => WikiFormatting Indexing repository

---------------------------------------------------------------------
Project environment for '******' created.

You may now configure the environment by editing the file:

/home/****/trac/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

tracd --port 8000 /home/****/trac

Then point your browser to http://localhost:8000/trac.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

http://trac.edgewall.org/

Congratulations!

[user@host ~]$

これで一通りインストールが完了。ソースからbuildを一個もやらずに(笑)rpmパッケージだけで導入できた。
ほら。


あとは細かい設定をやりつつカスタマイズしていけばプロジェクトで使えるぞ、っと。

トラックバック(0)

トラックバックURL: http://somethingnew2.com/cgi/b/mt-tb.cgi/669

コメント(2)

TBありがとうございました。
実はまだソースからTracのみうまく動いておらず、挫折気味です。。

SVNはきれいに動くので、Tracのみの問題のようなのですが。

RPM参考にさせていただきます。

> Youasさま

コメントどうもありがとうございます。


Tracが動かないですかぁ・・・。
RPMで入れたものは今のところ全く問題ナシです。

うまく動くようになるといいですね!

コメントする

この記事について

このページは、SATO Yozoが2007年6月13日 20:00に書いた記事です。

ひとつ前の記事は「未来メール」です。

次の記事は「tracをmod_python経由で動かす」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 6.1.2