« 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 »

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

Linux」カテゴリの記事

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


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

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

Tracked on 2008.11.25 08:30

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