« ApacheのBasic認証情報をTomcatで取得する | Main | Trac&XML-RPC »

2007.10.24

CentOS5でTrac&XML-RPC

 最近のUbuntuは、標準でPython2.5がインストールされており、Tracで使用する他のライブラリ類も(ほぼ全て)パッケージで提供されているので、XML-RPCでアクセス可能なTrac環境を構築するのはすごく簡単です。

 で、別のディストリビューションであるCentOS5で、XML-RPCでアクセス可能なTrac環境を構築してみることに挑戦。

【CentOS5のインストール】
・VMWarePlayerのホストOSとして、RHEL5を選択。DVDブートでGUIインストーラを起動。
・CDチェックは「行わない」を選択。
・言語として「Japanese」を選択。
・キーボードとして「日本語」を選択。
・ディスクの初期化を行うかどうかを確認してくるので「はい」⇒「パーティションレイアウトの変更と確認」にチェックを入れると、ディスクのパーティション設定等を行う画面が表示される(チェックが入っていないと、デフォルトの設定のまま(今回の場合は1パーティションで全て)となるようだ)。
・swapが1024MBになっているのを512MBに減らし、その分を/に移動(swapの他は/以下1パーティション構成)。なお、LVMによる設定となっている。
・ブートローダは/dev/hdaにインストール。
・ネットワークデバイスはDHCP&アクティブ化。ホスト名もDHCPで自動設定。
・システムクロックでUTCを使用するの設定をオフに。
・rootのパスワードを登録。
・インストールする基本パッケージとして、Desktop-Gnomeのチェックを外し、Server-GUIをチェック。
・ソフトウェア選択は「今すぐカスタマイズする」を選択(追加に関しては、後で必要になったときに追加すればいいのかもしれないが・・・)。

・アプリケーション>テキストベースのインターネット:チェックを外す
・サーバー>サーバ設定ツール以外のチェックを外す
・ベースシステム>X Window System・ベース・管理ツール以外のチェックを外す。


・インストール完了後、再起動。

【初期設定】
・ファイアウォールは、http/https/sshの3つを解放。
・その他のポートとして、8080(tcp/udp)を追加。
・SELinuxは、とりあえずはオフにしておく。
・kdumpはオフのまま。
・ユーザ名/フルネーム、パスワードを登録。
・追加のCDはないので、そのまま終了&再起動。

【事前準備】

# chkconfig yum-updatesd off
# yum -y upgrade
# yum -y install compat-libstdc++-33
 ※Firefox2を動作させるために必要
# yum -y install yum-fastestmirror
# firefox &
 ⇒firefox2のアーカイブをダウンロード。
# tar zxvf firefox-2.0.0.7.tar.gz
# mv ./firefox /usr/local/share/
# ln -s /usr/local/share/firefox/firefox /usr/local/bin/

(コンパイル等で必要なライブラリ類を導入)
# yum -y install gcc
# yum -y install sqlite-devel
# yum -y install gcc-c++
# yum -y install apr-devel
# yum -y install apr-util-devel
# yum -y install zlib-devel
# yum -y install neon-devel
# yum -y install swig
# yum -y install httpd-devel

【Trac環境の構築】
CentOS5に初期状態で入っているPythonはバージョンが2.4なので、XmlRpcPluginが使用できず。なので、Python2.5をインストールすることとなります(その結果、それ以降のライブラリも基本的にパッケージが使用できなくなってしまう?)。
なお、フォルダ移動に関しては、一部記載を省略しています。

# wget http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tgz
# tar zxvf Python-2.5.1.tgz
# cd Python-2.5.1
# ./configure --prefix=/usr/local/share/python2.5.1
# make
# make install
# ln -s /usr/local/share/python2.5.1/bin/python /usr/local/bin/python

# wget http://initd.org/pub/software/pysqlite/releases/2.3/2.3.5/pysqlite-2.3.5.tar.gz
# wget http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz
# wget http://prdownloads.sourceforge.net/docutils/docutils-0.4.tar.gz
# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/mod_python-3.3.1.tgz
# wget http://downloads.sourceforge.net/silvercity/SilverCity-0.9.7.tar.gz
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py

# tar zxvf mod_python-3.3.1.tgz
# cd mod_python-3.3.1
# ./configure
# make
# make install

# tar zxvf pysqlite-2.3.5.tar.gz
# cd pysqlite-2.3.5
# python setup.py install

# tar zxvf SilverCity-0.9.7.tar.gz
# cd SilverCity-0.9.7
# python setup.py install

# tar zxvf clearsilver-0.10.5.tar.gz
# cd clearsilver-0.10.5
# ./configure --with-python=/usr/local/bin/python
# make
# make install

# tar zxvf docutils-0.4.tar.gz
# cd docutils-0.4
# python setup.py install

# wget http://subversion.tigris.org/downloads/subversion-1.4.5.tar.gz
# tar zxvf subversion-1.4.5.tar.gz
# cd cd subversion-1.4.5
# ./configure
# make
# make install
# make swig-py
# make install-swig-py
# ln -s /usr/local/lib/svn-python/svn /usr/local/share/python2.5.1/lib/python2.5/site-packages/svn
# ln -s /usr/local/lib/svn-python/libsvn /usr/local/share/python2.5.1/lib/python2.5/site-packages/libsvn

# unzip trac-0.10.zip
# cd trac-0.10.4-ja-1
# python setup.py install
# ln -s /usr/local/share/python2.5.1/bin/trac-admin /usr/local/bin

# mkdir /var/tracdata
# mkdir /var/tracdata/svn
# mkdir /var/tracdata/trac
# mkdir /var/tracdata/auth
# cd /var/tracdata/svn
# svnadmin create test --fs-type fsfs
# cd /var/tracdata/trac
# trac-admin test initenv
 ※テンプレートの場所は /usr/local/share/python2.5.1/share/trac/templates

# cd /var/tracdata/auth
# htpasswd -cm svn.passwd n-nishioka
# cd /var
# chown -R apache:apache tracdata

# cd /etc/httpd/conf.d
# touch svn.conf
# less svn.conf

# touch trac.conf
# less trac.conf

# cd /home/cent/temp
# mkdir webadmin
# svn co http://svn.edgewall.com/repos/trac/sandbox/webadmin/ webadmin
# cd webadmin
# python setup.py install

# mkdir xmlrpcplugin
# svn co http://trac-hacks.org/svn/xmlrpcplugin/ xmlrpcplugin
# cd xmlrpcplugin/0.10/
# python setup.py install

# mkdir /var/www/.python-eggs
# chown apache:apache /var/www/.python-eggs

なお、Apache用の各設定ファイルはUbuntuの時と基本的に同様なので省略。
注意点としては、SetHandler mod_pythonを行っているLocationディレクティブ内で、


SetEnv PYTHON_EGG_CACHE /var/www/.python-eggs

を行っておく必要があるということでしょうか(デフォルトだと、/root/.python-eggsとなるようです)。

【余談】
いろいろと試行錯誤して環境構築が終わった後、メモ/Mod_pythonでTrac - SaikyoLine.jpに一通りまとめられているのを見つけました。先に知っていればもっと楽だったのに・・・。ちなみに、このページでは、Apache2もビルドしているので、最新版のApacheを使用したいような場合(現時点では2.2.6・・・CentOSに入っているのは2.2.3)などに、また参考にさせていただくこととします。

|

« ApacheのBasic認証情報をTomcatで取得する | Main | Trac&XML-RPC »

Linux」カテゴリの記事

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/16831937

Listed below are links to weblogs that reference CentOS5でTrac&XML-RPC:

» CentOSのTrac環境のUpdate [気の向くままに・・・]
 今更ではありますがCentOS5でTrac [Read More]

Tracked on 2008.11.25 at 08:30

« ApacheのBasic認証情報をTomcatで取得する | Main | Trac&XML-RPC »