mailmanの入れ直し

VPSに引っ越しした時に放置していたメーリングリストサーバ「Mailman」を入れ直した。

会社のメーリングリストサーバでもMailmanを使っていますが、構成が少し違っただけでハマったのでメモ。
(ほとんどsatospoを参照w)

ちなみに会社の構成は楽して作ったので全てRPMで導入、設置してるから気づかなかったw

VPSではApacheをソースインストールしてるが、Mailmanをインストールしたらsetguiがnobody(ApacheをRPMでインストールした時のユーザー)を指定しないと動かなかったから、しょうがなくMailmanをソースからインストール(2011.8.21時点での最新は2.1.14+j6)

Mailmanはpythonプログラムだが、2.1.14以降でpython2.5以上でしか動かなくなったっぽいので、さらにpythonをソースからインストール。

Redmineのcsvエクスポートに更新履歴も出力させる

またRedmineネタ。

上司殿が会議の場で「Redmineにエクスポート機能があるから、それ使ってバックアップ取ればいいんじゃね?」って発言をしたらしい。

その話聞いて、「Redmineはチケット一覧しかエクスポートできませんよ?」って答えると、「えーっ、なんとかしてよ!」って・・・orz

プラグインで対応出来るか、グーグル先生に聞いたが適切な物がなかった。
XLS Exportでは、標準のCSVエクスポートをエクセルで出力できるだけだった)

さらに調べると、標準のCSVエクスポートのソースをいじる事で対応出来そう。

徒然さめざめ Redmine hack! – チケット一覧のcsv出力に履歴も載せる –

内容は2009年の物だが、 Redmine 1.1.2と1.1.3でもちゃんと動作した。

いつも思うが、こうゆう先駆者のブログとかすごく役に立つなぁ。

一応、変更後のissues_helper.rbをアップしておく。
issues_helper.rb

Redmineのviewカスタマイズ

redmine1.1.3(1.1.2でもOK)で、プロジェクトの見せ方を変更した。

(1)プロジェクトメニューのチケットボタンの遷移先をカスタマイズクエリで表示させる。
せっかくカスタマイズクエリ作っても、「チケット一覧」→「クエリ選択」とかめんどくさい。

lib/redmine.rbを変更
menu.push :issues, { :controller => ‘issues’, :action => ‘index’}, :param => :project_id, :caption =>
:label_issue_plural

   ↓

menu.push :issues, { :controller => ‘issues’, :action => ‘index’, :query_id => ‘1’ }, :param => :project_id, :caption => :label_issue_plural

app/views/projects/show.rhtmlも変更
<%= link_to l(:label_issue_view_all), :controller => ‘issues’, :action => ‘index’, :project_id => @project, :set_filter => 1 %>

   ↓

<%= link_to l(:label_issue_view_all), :controller => ‘issues’, :action => ‘index’, :project_id => @project, :query_id => 1 %>

(2)チケットの変更履歴に区切り線を入れる。
変更履歴が多すぎると見辛くなるって意見があったみたい。

public/themes/alternate/stylesheets/application.cssに以下を追加(themesは今使ってる奴)
 /* history */
 div#history {
   border: solid 1px #cccccc;
   background-color: #ffffff;   (ここで変更履歴の色を指定。ウチは白w)
   padding: 5px;
 }

 div#history > h3 {
   border-bottom: none;
 }

 div#history > .journal {
   border-top: solid 1px #cccccc;
   padding-right: 5px;
   padding-left: 5px;
 }

 div#history > .journal > h4 {
   border-bottom: none;
   margin: 0px;
 }

変更が終わったらApacheを再起動する。

dfコマンドの結果

今更気づいたが、なぜかbootに13GBも割り当てていた事が判明。

[root@mario /]# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/hda3             4.8G  3.9G  607M  87% /
/dev/hda6              13G  1.5G   11G  13% /usr/local
/dev/hda5             4.8G  618M  3.9G  14% /var
/dev/hda1              13G  177M   12G   2% /boot
tmpfs                 379M     0  379M   0% /dev/shm

bootってfsck出来なかったと思うから、再インストール決定!・・・orz

ruby-garoon2icalをruby1.9で動かす

以前、ruby-garoon2icalを利用させて頂き、会社のサイボウズガルーンとgoogleカレンダー経由でiphoneのカレンダーに表示させていたが、ruby1.9.2にアップデートしてからプログラムがエラーを吐くようになった。

エラー箇所は「csv = CSV.parse(result3.body.toutf8)」の部分で、調べると改行コードがCR+LFだとエラーになるっぽい。

仕事のスケジュールが見えないと、何かとめんどくさいのでruby1.9で動くように改修。

たぶん上手い書き方があると思うけど、とりあえず動けば良いので、一旦改行コードがCR+LF形式のCSVを出力してから改行コードを置換すると言った幼稚な書き方をしています。

icalはちゃんと作成されたっぽいので、後はgoogleカレンダーの設定をやり直して待つだけ。

ちゃんと読み込むといいなぁ。

【追記】
cronで回したら以下のようなエラーが発生。
 /usr/local/lib/ruby/1.9.1/csv.rb:2027:in `=~': invalid byte sequence in US-ASCII (ArgumentError)
    from /usr/local/lib/ruby/1.9.1/csv.rb:2027:in `init_separators'
    from /usr/local/lib/ruby/1.9.1/csv.rb:1570:in `initialize'
    from /usr/local/lib/ruby/1.9.1/csv.rb:1335:in `new'
    from /usr/local/lib/ruby/1.9.1/csv.rb:1335:in `open'
    from /usr/local/apache2/htdocs/garoon2-sync/garoon2ical.rb:65:in `<main>'

ruby1.9から文字コードの取り扱いが厳格になった(ruby1.8を知らんが)らしいので、実行時に文字コードを指定する。

ruby -Ku garoon2ical.rb

【追記2】
同期したら文字化けしてた。
どうやらicsを直接見に行かせると、
charsetを送っていないらしい。
icsを吐くディレクトリに.htaccessを作成して

AddType “text/calendar; charset=utf-8” ics
を記載。

続きを読む ruby-garoon2icalをruby1.9で動かす

さっそくCentOS5.6に上げてみた

4月8日付けで、CentOS5.6がリリースされました。

CentOS 5.6 リリースノート

手順はリリースノートに書いてある通り。

(めんどくさかったので、僕はそのままyum updateを実行w)

【結果】
Install       5 Package(s)
Upgrade     114 Package(s)
Remove        2 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

[root@hoge ~]# cat /etc/issue
CentOS release 5.6 (Final)
Kernel \r on an \m