hns - 日記自動生成システム - Version 2.19.7

void GraphicWizardsLair( void ); //

otsune GWL
FreeBSD, AfterEffects, RETAS, animo, DigitalAnime, Linux, Mac OS, Win2k

[Who is otsune?] [title] [message] [Policy] [注目エントリー] [top]
Twitter Status :


Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい

検索式:

先月 2005年10月 来月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31


2005年10月02日() [長年日記]

#1 [unix] jail環境にtracをインストールするメモ

親環境にFreeBSDのjailを作って、jail内でApache2(mod_python3)とtracを動作させる。
まず適当な親環境のportsでtrac用のpackageを作る。
mkdir -p /usr/ports/packagesでディレクトリを作成しておく。/etc/make.confに「WITH_APACHE2=y WITHOUT_SSL=y WITHOUT_IPV6=y」を指定して
cd /usr/ports/www/trac
make package-recursive
とビルドすると芋づる式にインストールされてpackageが作られる。
またjailで動作するtracにインターネット側からアクセスさせる場合にpoundなどでリバースプロクシを経由させるときはmod_rpaf2も使う。
cd /usr/ports/www/mod_rpaf2
make package-recursive
出来たpackageの中から
lang/perl5
www/apache2
converters/libiconv
textproc/expat2
lang/python
textproc/py-docutils
www/mod_python3
www/trac
databases/py-PySQLite10
databases/db42
databases/sqlite2
www/clearsilver-python
devel/subversion-python
devel/swig13
devel/apr
www/mod_rpaf2
がtracの動作に必要なもの。

1 sysutils/jailctlを親環境でインストールする:

/usr/local/etc/jails.confを自分の環境にあわせて書き換える。例えば
 IF="em0"
 JAILS="trac.example.jp:192.168.1.2"
 RC_CONF='sendmail_enable="NO" sshd_enable="NO" portmap_enable="NO" rpcbind_enable="NO" network_interfaces="" tcp_keepalive="NO" tcp_extensions="NO" inetd_enable="NO" apache2_enable="YES" '
 NAMESERVER="192.168.1.1" 
など。trac.example.jpは設定したいホスト名に。JAIL_HOMEなどここに書いていないところも適切に。
${JAIL_HOME}addons/runme.shのpkg_add文はコメントアウトしておく。
/usr/srcでmake buildworldしておき
jailctl create trac.example.jp
するとJAIL_HOME以下にjailツリーがインストールされる。
次にpackageをjailにインストールするため親環境の/usr/portsをjailツリーにnullfsマウントする。
mkdir -p ${JAIL_HOME}/trac.example.jp/usr/ports
mount_null /usr/ports ${JAIL_HOME}/trac.example.jp/usr/ports
jailctl startでjailを起動しておく。(本来は/etc/rc.confにjail起動設定を書く方法が望ましい)

1 jailにtrac関連のpackageをインストールして設定する:

jlsでjail IDをみて、jexec 1 /bin/cshなどでjail内に入る。pkg_addでtracなどをインストールする。
cd /usr/ports/packages/All/
pkg_add trac
pkg_add py-docutils
pkg_add mod_rpaf2
pkg_add mod_python3
www権限でtracデータベースに書き込みが出来るようにjail環境にtracグループを追加してwwwをメンバーに入れておく。(-g 10000などでgidを親環境とバッティングしないように指定することを推奨)
pw groupadd trac -M www

1 tracの初期設定をする:

日本語翻訳されたテンプレートをダウンロードして伸張する。
fetch http://www.i-act.co.jp/project/products/downloads/trac-0.8.4-ja-2.zip
tar zxvf trac-0.8.4-ja-2.zip -C /usr/local/share/
Subversionレポジトリを作る
mkdir -p /usr/local/svn/
svnadmin create --fs-type fsfs /usr/local/svn/hoge_subversionrepo
trac-adminでtracをディレクトリを生成する。hogehogeはプロジェクト名なので適切に置き換える。テンプレートディレクトリは上記の日本語版を指定する。(trac-admin /usr/local/trac/hogehogeを実行して対話的に設定しても良い)
mkdir -p /usr/local/trac/
trac-admin /usr/local/trac/hogehoge initenv hogehoge /usr/local/svn/hoge_subversionrepo /usr/local/share/trac-0.8.4-ja-2/templates
Webサーバー権限で書き込みが出来るようにtracグループにして、パーミッションを変更する。
cd /usr/local/trac/hogehoge/
chgrp trac attachments db/trac.db log/trac.log
chmod g+w attachments db/trac.db log/trac.log
/usr/local/trac/hogehoge/conf/trac.iniのロゴなどを適当に設定する。

1 Apache2をtrac用に設定する:

/usr/local/etc/apache2/httpd.confをjail用に設定する。IPアドレスは適切に書き換える。
Listen 192.168.1.2:80 
/usr/local/etc/apache2/Includes/trac.confをtrac用に設定する。mod_pythonを使用している。
LoadModule python_module libexec/apache2/mod_python.so

Alias /trac "/usr/local/share/trac/htdocs"
<Directory "/usr/local/share/trac/htdocs">
    AllowOverride None
    Order Deny,Allow
    allow from all
</Directory>
<Location /projects/hogehoge>
   SetHandler mod_python
   PythonHandler trac.ModPythonHandler
   PythonOption TracEnv /usr/local/trac/hogehoge
   PythonOption TracUriRoot /projects/hogehoge
</Location>
親環境でpoundなどを使い、リバースプロクシ経由で外部に公開する。trac.example.jpは適切に書き換える。(trac.example,jpでIPアドレスが引けるように設定するのも忘れずに)
# aaa.bbb.ccc.ddd is Global IP
ListenHTTP aaa.bbb.ccc.ddd,80

UrlGroup ".*"
HeadRequire Host ".*trac.example.jp.*"
BackEnd 192.168.1.2,80,1
EndGroup
jail側の/usr/local/etc/apache2/Include/mod_rpaf.confにrpaf用の設定を書く。192.168.1.1はpoundのホストに書き換える。
LoadModule rpaf_module libexec/apache2/mod_rpaf.so
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 192.168.1.1
Permalink: http://www.otsune.com/diary/2005/10/02/1.html#200510021
trackback
このエントリーを含むはてなブックマーク del.icio.us livedoor Clip View blog reactions
Last Updated 2005-10-02 00:00:00 By otsune