ひだまりのなか、想ふこと

日々の思いを徒然、ぼ〜っとしてます。
スポンサーサイト
この広告は60日以上更新がないブログに表示されております。
新しい記事を書くことで広告を消すことができます。
| スポンサードリンク | - | | - | - | pookmark |
お知らせ。
 もう5年くらいこのblogで書いているんだけど、
どうしても使いづらいので、別のblogも使ってみることにした。

しばらくは、http://prepro.wordpress.com を使ってみようかと。
| hikaru | - | 22:42 | comments(0) | trackbacks(0) | pookmark |
RHEL4にTrac0.11.1.ja1をインストール(1)
RHEL4にTrac0.11.1.ja1をインストール(1)いまここ。
RHEL4にTrac0.11.1.ja1をインストール(2)
RHEL4にTrac0.11.1.ja1をインストール(3)

TracInstallRHEL4 

  1. 概要
    1. はじめに
    2. ソフトウェア構成
    3. ディレクトリ構成
  2. 手順
    1. Pythonのインストール
    2. setuptoolsのインストール
    3. mod_pythonのインストール
    4. Pygmentsのインストール
    5. docutilのインストール
    6. Subversionのインストール
    7. Swigのインストール
    8. Swigバインディングのインストール
    9. mod_dav_svnのインストール
    10. Subversionのインストール
    11. sqlite3のインストール
    12. tracのインストール
    13. Tracの環境構築
  3. 続き
    1. etc...

概要

はじめに

RHEL4へTrac0.11系をインストールした手順のログ。
できるだけRPMを使ってインストールしていく。

とりあえず、馬鹿になってインストール作業したので無駄な手順も多いし、
失敗しているので事前に注意。

最終的には手順のみ抜き出してまとめるが、作業履歴のログが欲しかったのでupしておく。

ソフトウェア構成

  • Kernel:2.6.9.34.ELsmp
  • OS:RedHatEnterpriseLinuxES release4(Nahant Update 3)
  • Python2.5.2
  • Subversion1.5.1
  • trac0.11.1.ja1
  • httpd2.0????

ディレクトリ構成

あくまでも暫定案
ソースコンパイルするものとtrac/subversionのリポジトリのみ指定する方向で検討する。
tracとSubversionのディレクトリは同名とする。
このwiki作成後に検討したため、wiki上のログとは異なるケースがあるので注意すること。
※ローカルのtracのwikiから情報を抜いている。

後、いまいちLinuxよくわからないので構成自体がベターかは知らない。

  • Python = /usr/local/Python252
  • /var/data/...プロジェクト管理用のディレクトリ
    • ./trac...tracの親ディレクトリ
      • ./プロジェクトA
      • ./プロジェクトB
      • ./プロジェクトC...
    • ./svn...Subversionの親ディレクトリ
      • ./svnA
      • ./svnB
      • ./svnC...
    • ./conf...設定ファイル
      • ./share...共通ファイル。パスワードファイルなど
        • projects.passwd
      • ./trac...trac間の共通設定ファイル
        • trac.ini...全共通ファイル(サンプルは、後述するつもり)
        • pluginsDir...プラグイン用フォルダ
        • templatesDir...テンプレート用フォルダ(サンプルは、後述するつもり)
      • ./svn...Subversion間の共通設定ファイル
    • ./bin...各種実行ファイル(backupのshなど)
残りの手順は記事を分けます。
無駄に長いせいもあるだろうけど、投稿した記事が正常に反映されない。
前々から思っていたんだけど、このブログが使いづらい。

そろそろ、移行しようかなぁ。。。
続きを読む >>
| hikaru | 技術メモ | 16:42 | comments(0) | trackbacks(0) | pookmark |
MailArchivePluginを導入してみた
ちょっと諸事情により、サーバをクリーンインストールすることになった。
これを期にWindows→RHEL4になるのだが、
いい機会なのでプラグインの設定とか見直していた。

んで、一部のTracのプロジェクトがプロジェクト管理というより、
SNSちっくなコミュニティ運用をすることになりそう。

で、メーリングリストのメールなどもためていきたいなぁと思い、
 MailArchivePluginをインストールしてみた。

で、前置きは長くなったが、環境は以下の通り。
  • OS:RHEL4
  • trac:0.11.ja1
  • Subversion:1.50
以下は構築ログ。
基本的には、ここのまんま。感謝。
http://weekbuild.sakura.ne.jp/trac/wiki/TracDoc/MailArchivePlugin

一部、はまったのでそれだけ記述。

python setup.py install でインストール後、
とりあえず、問答無用でGmailのデータをPOP3でインポートしてみる
python /usr/bin/TracMailArchive-admin /var/trac/tracenv pop3
するとこんな感じで落ちた。
2008/10/05 19:54:48 Start Connction pop3 pop.gmail.com:XXXX@gmail.com ...
Traceback (most recent call last):
  File "/usr/local/share/python25/bin/TracMailArchive-admin", line 8, in 
    load_entry_point('TracMailArchive==0.1', 'console_scripts', 'TracMailArchive-admin')()
  File "build/bdist.linux-i686/egg/mailarchive/mailarchiveadmin.py", line 623, in run
  File "/usr/local/share/python25/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg/trac/admin/console.py", line 104, in onecmd
    rv = cmd.Cmd.onecmd(self, line) or 0
  File "/usr/local/share/python25/lib/python2.5/cmd.py", line 219, in onecmd
    return func(arg)
  File "build/bdist.linux-i686/egg/mailarchive/mailarchiveadmin.py", line 421, in do_pop3
  File "build/bdist.linux-i686/egg/mailarchive/mailarchiveadmin.py", line 521, in _import_from_pop3
  File "/usr/local/share/python25/lib/python2.5/poplib.py", line 96, in __init__
    raise socket.error, msg
socket.error: (110, 'Connection timed out')
接続できていない感じだ。
とりあえず、ソースを見てみる。Pythonはよくわからないんだけど。。。
mailarchiveadmin.pyの521行目。。。
pop = poplib.POP3(pop_server)
ドキュメントで確認してみたが、SSLでなくPOP3固定でアクセスしているみたいだ。
http://www.python.jp/doc/2.4/lib/module-poplib.html

確かに、自分のgmailはSSL設定にしてます。

どうせなのでちょっと直してみる。
trac.iniに以下のパラメータを追記
[mailarchive]
# sslでアクセスする場合にtrue。デフォルトは通常アクセス。
pop3_ssl = yes
青色が追加。とりあえずSSLアクセスを有効化。
    def _import_from_pop3(self,author, db, mlid):

        pop_server = self.env.config.get('mailarchive', 'pop3_server')
        pop_user = self.env.config.get('mailarchive', 'pop3_user')
        pop_password = self.env.config.get('mailarchive', 'pop3_password')
        pop_delete = self.env.config.get('mailarchive', 'pop3_delete','none')
        pop_ssl = self.env.config.get('mailarchive', 'pop3_ssl','no')

        if pop_server =='':
            self.print_error('trac.ini mailarchive pop3_server is null!')
        elif pop_user == '':
            self.print_error('trac.ini mailarchive pop3_user is null!')
        elif pop_password == '':
            self.print_error('trac.ini mailarchive pop3_password is null!')

        self.print_info("%s Start Connction pop3 %s:%s ..." %
            (time.strftime("%Y/%m/%d %H:%M:%S",time.gmtime()),
            pop_server,pop_user))

        pop = None
        if pop_ssl == 'yes':
            self.print_info('POP3_SSL access...')
            pop = poplib.POP3_SSL(pop_server)
        elif pop_ssl = 'no':
            self.print_info('POP3 acces...')
            pop = poplib.POP3(pop_server)
        else:
            self.print_error('This config is not exist.')
Let's...
python /usr/bin/TracMailArchive-admin /var/trac/tracenv pop3
OKみたい。とりあえずMessage-IDを指定せずに
まとめて取り込んでみたが問題なく成功したようだ。

画面から確認してみる。
ん? Oopsになっている。。。以下、エラーログ。
Trac detected an internal error:IndexError: list index out of range
んで、TracBack詳細
File "/usr/local/share/python25/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg/trac/web/main.py", line 424, in _dispatch_request
File "/usr/local/share/python25/lib/python2.5/site-packages/Trac-0.11.ja1-py2.5.egg/trac/web/main.py", line 198, in dispatch
File "build/bdist.linux-i686/egg/mailarchive/mailarchive.py", line 198, in process_request
File "build/bdist.linux-i686/egg/mailarchive/mailarchive.py", line 437, in _render_list
む。mailarchive.pyの437行目で落ちている。
mls[-1]['yearmonths'].append(category_item)
以下プロパティの値
  • mls : []
  • category_item : {'count': '7', 'name': u'', 'month': u'10', 'href': '', 'year': u'2008', ...

空なのに最終行に追加しようとしているせいかな。
mailarchive.pyの443行目あたりが怪しい。
if pre_mlid != mlid:
    mls.append({'name':mlid,'yearmonths':[]})
    pre_mlid = mlid
以下は該当するプロパティ値
  • pre_mlid : ''
  • mlid : u''
pre_mlidの初期化を''で行っているせいで、mlidが空白のケースが素通りするっぽい。

とりあえず、415行目の初期化時の設定を変更
#pre_mlid = ''
pre_mlid = None
再度setup.pyして確認。 問題ないみたいだ。。。

これはバグって言うよりかは、仕様っぽいですね。
できればTracMailArchive-adminにMessage-IDが設定されていない場合にエラーにするか、
Messge-IDなしで登録できるかどちらかに設定する必要がありそう。。。


以下、感想。
Mailも検索できるし、wiki形式に変換されるし、スレッド形式で表示されるし、いい感じ。
あと、欲を言えば、折りたたみできたり
コメントを書き込めたり(wikiや、Ticketへのリンクを張りたい)
すると幸せになりそうだなと思う。

ありがたく使わせてもらいます。
| hikaru | 技術メモ | 01:29 | comments(0) | trackbacks(0) | pookmark |
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< October 2011 >>
なかのひと
+ SPONSORED LINKS
+ RECOMMEND
世界中が雨だったら
世界中が雨だったら (JUGEMレビュー »)
市川 拓司
前三篇からなる、短編集。
今までの市川拓司とはまったっく違った雰囲気を持つ。
+ RECOMMEND
いま、会いにゆきます
いま、会いにゆきます (JUGEMレビュー »)
市川 拓司
10/30から、公開されている同名映画の原作。人によっては黄泉返りと似ているという人も(私は全く違うと思いますけどね)。
最後の最後に泣きました。
+ RECOMMEND
恋愛写真―もうひとつの物語
恋愛写真―もうひとつの物語 (JUGEMレビュー »)
市川 拓司
淡い世界の中で、続く現実と夢。
淡々と過ぎる日常の中での出合いと、別れ、そして幸せを、綴った本。
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ MOBILE
qrcode
+ LINKS
+ PROFILE