- blogs:
- cles::blog
Trac のユーザーをまとめて登録する
trac 「Linux に一撃で Trac をインストールする」で書いたとおり、先日から Trac と jenkins がパッケージになっている Kanon を使い始めました。インストールまでは非常に楽にできるのですが、その後のプロジェクトの設定をする際に大量にユーザー登録をする必要が出てくることがあります。もちろん全部ウェブからやることも可能なのですが、面倒なのでコマンドラインからユーザーの登録とロールの設定をいっぺんにやるためのシェルスクリプトを書いてみました。
例えば、下記のようなコマンドで SampleProject というプロジェクトに user というユーザーを、 password というパスワードで追加し、leader というロールを付けて追加するということができます。
これで追加するメンバーが多い場合にも気にせず Kanon を使い始めることができるようになりました。
[Trac のユーザーをまとめて登録する の続きを読む]
Linux に一撃で Trac をインストールする
trac 何も考えずにとりあえず Trac が使いたいというときにはサーバが Windows であれば Trac Lightningが便利ですが、Linux の場合にはそうもいきません。なにかうまい方法はないかなと思って探してみたら、Trac Lightningと同じ作者がKanonというプロジェクトを始めているのを見つけました。
Kanonは、プロジェクト管理のための総合ソリューションです。チケット(Trac)、バージョン管理(Git,Subversion,Mercurial,Bazaar)、CI(Jenkins)の3つの機能を統合して提供しています。
今回は RHELクローンのScientific Linux 6.1を新規にインストールしてその上にインストールしてみました。以下、インストールメモ。
[Linux に一撃で Trac をインストールする の続きを読む]
Tracのメールの通知先をプロファイルのEmail宛にする
trac Tracで前々から不便だなと思っていることとして、Notificationの送り先のカスタマイズ性が低いというものがあります。
具体的に述べると、Tracのメールの通知先はログイン名がメールアドレスになっていればそのアドレス、もしくは設定を変更することでログイン名+あるドメイン名をつけたもの宛にしかならないので、ユーザーが通知先を自由に変更することができません。また、ユーザーごとに通知のOn/Offを切り替えるような機能もありません。
ユーザーのプロファイルには折角Emailの欄があるので、このアドレス宛にメール通知を行なうように改造してみました。ちょっとやっつけなので、今回のパッチを当てると、ユーザーのプロファイル欄だけを通知先を見なすようになるので、ログイン名をメールアドレスにしていても、ユーザーのプロファイル欄が空であれば通知は行なわれないようになります。coalesce()を使えば、プロファイルのメールを優先するようにすることくらいは可能かもしれません。
[Tracのメールの通知先をプロファイルのEmail宛にする の続きを読む]
Trac のメール通知でSMTPSサーバを使う
trac
networking
windowsserver Tracの通知の設定をしようと思ったら、送信に使えるがサーバがSMTPSにしか対応していなかったので、じゃあSMTPSで設定すればいいやと思っていろいろ設定を変更してみたのですが、どうもうまくいかないのでして困ってしまいました。仕方がないので、いろいろと調べてみると、Tracのメール通知はSMTPS(465)には対応していないという衝撃的な事実が判明。
TracNotification – The Trac Project
You should not use smtp_port = 465. It will not work and your ticket submission may deadlock. Port 465 is reserved for the SMTPS protocol, which is not supported by Trac. See #7107 for details.
#7107 (Gmail does not work) – The Trac Project
It does not work with port 465, which is dedicated to SMTPS. SMTPS is not supported by Trac.
今回は TracLightning でインストールしたWindowsベースのサーバだったということもあり、今回は stone で SMTP -> SMTPS というトンネルを作ってこれを回避することにしました。最近はOSがlinuxで単純なポートフォワードする際はiptablesを使うようになっているので、stoneのお世話になるのは久しぶりです。
Simple Repeater `stone
stone は、アプリケーションレベルの TCP & UDP リピーターです。ファイアウォールの内から外へ、あるいは外から内へ、TCP あるいは UDP を中継します。
以下、設定メモ。
[Trac のメール通知でSMTPSサーバを使う の続きを読む]
Tracのdiffが文字化けするときは
trac
charset Tracのリポジトリに様々な文字コードのファイルを入れているとdiffが文字化けすることがあって困っていました。
本当はファイルの文字コードを統一すればベストなんでしょうが、プロジェクトの運営上、それはちょっと難しいのでなにかうまい回避策がないかといろいろ探してみたところ、対応方法が「文字コード混在の対処(Trac) | へっぽこメモ」にまとめられていたので、これを参考に作業してみたところ、文字コードが混在している場合でも文字化けしないようになりました。
ということで、以下作業メモ。
[Tracのdiffが文字化けするときは の続きを読む]
Tracで認証されていないときに認証画面にリダイレクトする
trac TracはOSS開発のプロジェクトを念頭に置いているのでしょうが、デフォルトでanonymounsユーザーに比較的沢山の権限が与えられています。社内など外部に公開する必要がないプライベートTracを運用する場合、anonymounsユーザーに割り当てられている権限をごっそり削除して運用をするということになると思いますが、そのときに認証していない状態でWikiやTicketを表示しようとすると画像のような「ログインしていません。操作を続けたければログインしてください」という画面に何度も遭遇することになります。このような場合にログインのリンクをいちいちクリックして認証を行うのが面倒だと常々思っていたのですが、認証に失敗したときに自動的にログイン画面に飛ばしてくれるプラグインがあることがわかりました。
PermRedirectPlugin - Trac Hacks - Plugins Macros etc. - Trac
Similar to the AuthRequiredPlugin, but considerably more intelligent in that it will only redirect on a failure.[Tracで認証されていないときに認証画面にリダイレクトする の続きを読む]
TracとVSSの連携
trac VSSのコミット時にTracのチケットに記録が残るようにする方法がないかなと思って探してみたら、VSSLog2Tracというプロダクトを見つけました。
etc/VSSLog2Trac - Shibuya.trac Wiki
VSSLog2Tracは、Visual SourceSafe 2005でファイルをチェックインする際に、XML-RPCを使って、指定したTracのチケットを自動的に更新するVSSのプラグインです。このツールを使うと、Visual Studioで開発する際などに、Tracでバグ管理し、そのバグに対してチェックイン履歴を関連付けて、バグトラッキングができるようになります。
これでVSSで管理されているプログラムでもTrac活用ができるようになりますね。
時間を作って後でテストしてみよう。
XML-RPCを使ってTracのチケットに添付ファイルを投げ込む(Ruby編)
ruby
trac
xml 以前に間に合わせで書いたTracにXML-RPCを投げるスクリプトがPerlだったのでRubyに書き換えようと思って作業を始めてみたら思ったより手間がかかってしまいました。
ブラウザはどちらも同じように認証用のダイアログを出してくるので分かりにくいのですが、TracLightningを使ってTracをインストールすると、認証はBasic認証ではなくてDigest認証になっています。このDigest認証をXML-RPC時にやるというのがかなりの曲者です。初めこれをすっかり忘れていて、XMLRPC::Clientを使って実装した後に認証が通らなくて色々調べる羽目になりました。
/usr/lib/ruby/1.8/xmlrpc/client.rb
If ((|user|)) and ((|password|)) are given, each time a request is send, a Authorization header is send. Currently only Basic Authentification is implemented no Digest.
上記の通り、rubyのXML-RPCライブラリであるXMLRPC::ClientはDigest認証に対応していません。
というか、僕の調べた限りではnet/httpなどのRubyの標準添付のライブラリでDigest認証に対応しているものはないようです。
TracLightningのチューニング
trac
tuning TracLightningを活用してプロジェクトを運営しているのですが、最近はすっかり空気のような存在なってしまっていて、みんな頻繁にアクセスするようになってきたせいか、デフォルトの設定のままだと運用がかなり辛くなってきました。
単に遅いだけならばちょっと待てば済む話なのですが、ページを開く際に「ページの読み込み中にサーバへの接続がリセットされました」というブラウザのエラーが出て、画面が開けなくなる現象が発生しており、これがチケットの更新時に発生すると、せっかく書いたチケットの内容がそのまま吹っ飛んでしまうので、とにかくこれが不評でした。
ということで、今回はTracLightningのチューニングに挑戦です。
[TracLightningのチューニング の続きを読む]
TracLightのバックアップをリストアする
trac 今日はTracサーバの引越をさせています。TracLightにはバックアップ用のスクリプトが付属している*1ので、コレを使うと簡単にバックアップがとれます。このファイルは基本的にはprojectsのコピーなので、新しく作ったサーバにコピーを突っ込んで起動させればOKと思っていたのですが、svn関連のエラーを吐いてうまく起動してくれません。
以前にリストアの練習をしたときにはインストール先のディレクトリが変わっていなかったので良かったのですが、今回はインストール先のPathが違うのが問題のようです。
Tracのリストアを行う場合にはプロジェクトごとに基本的に2つの作業が必要になるようです。
1.trac.iniに書かれているPathの変更
2.プロジェクトのresync
やっぱりちゃんとリストアの練習しておかないといけませんね。
- *1: デフォルトのインストールだとC:\TracLight\backup.bat
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5020)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4163)
4 . 年次の人間ドックへ(4090)
5 . 2023 年分の確定申告完了!(1つめ)(3946)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]

