ページ更新: 2008-08-29 (金) (3160日前)

関連: Trac Lightning (旧:Trac月), ../Windows, ../News, Windows/Apache

(2006-04-11 新規作成)

All-In-One-Tracとは、 Trac日本語版と、Tracに必要なソフトウェア (Python, Subversion, SQLite), Apache, mod_python, Subversionクライアント、 Subversionの資料 をまとめて、唯1つのインストーラでインストールするもの。

同様の物は他に Trac Lightning (旧:Trac月) がある。

  • 2008-08-29 プロジェクトの説明がSourceForge.jpのAll-In-One Project Wikiに移動していることに気がついたので、リンク先を修正した。
  • 2006-04-24 All-In-One Trac v0.1.1 がリリースされた。
    主なソフトウェア: Trac 0.9.5 (trac-0.9.5-ja-1), Subversion 1.3.0, Python 2.3.5, Apache 2.0.54, mod_python 3.1.3
  • 2006-03-23 All-In-One Trac v0.1.0 がリリースされた。

目次

[編集]

情報源 #

関連: ../News#All-In-One-Trac-v0-1-0, ../News#All-In-One-Trac-v0-1-1, ../Windows

[編集]

インストール (All-In-One Trac v0.1.0) #

[編集]

環境 #

  • Windows 2000 Professional SP4
    • VMware workstation 4.5.3 上にインストールした物。
    • インストール直後の物に、2006-04-11 21:00+0900 時点までの Windows Update/Microsoft Update を適用したもの。
  • 他に VMware tools, Lhaz (ファイル圧縮展開ツール), AVG Free Edition (アンチウイルス) をインストールしている。
  • WSH のバージョンを確認。Windows 2000 に標準で含まれているものを使ったので、WSH のバージョンは 5.6。(→Windows/WSH)
    all-in-one-trac-19.png
[編集]

ダウンロード直後 #

インストーラー all-in-one-trac-v0.1.0.setup.exe をダウンロードした直後。

(VMware workstation 4.5.3上の Windows 2000 Professional SP4)

all-in-one-trac-01.png

[編集]

インストーラーを起動 #

インストーラーを起動すると、以下の画面が表示される。

all-in-one-trac-02.png

[編集]

ライセンス契約書の確認 #

Trac について

all-in-one-trac-03.png

[編集]

インストール先を選ぶ #

インストール先を指定する。ここで指定したフォルダに全てのプログラムがインストールされる。 (Tracだけではなく、PythonやSubversionやApache2も)

all-in-one-trac-04.png

補足: 2006-05-07

  • All-In-One Tracを使用せず、これらのソフトウェアを単体で入手してインストールする場合、 デフォルトではそれぞれ C:\Python23、C:\Program Files\Subversion、C:\Program Files\Apache Group\Apache2 に インストールされる。よって、これらのソフトウェアを単体で入手してインストール済みであっても、それらとAll-In-One Tracは共存できる。
[編集]

プロジェクト名、ポート、スタートアップ #

Tracのプロジェクト名、Tracの通信ポート(ブラウザでアクセスするときのポート、Apacheの設定)、Windowsのスタートアップへ登録の有無を指定する。

all-in-one-trac-05.png

  • すでにApacheやIISなどのHTTPサーバを稼働させている場合、「All-In-One Tracが使用する通信ポート」は既存のHTTPサーバとは別のポートを指定する必要がある。確認手順は #d20070115 も参照のこと。
  • プロジェクト名は trac.ini に、通信ポートは httpd.conf に保存される。
    • ショートカットやバッチファイルに反映されるかどうかは、未確認。
[編集]

実際のインストール #

インストーラーによって、この段階で実際のインストール作業が行われる。

具体的には、ファイルの展開、指定フォルダへのファイルのコピー、Subversionリポジトリの作成、Tracの環境設定 (trac-admin)、プログラムメニューへの登録など。

ファイルの展開、指定フォルダーへのコピーが行われている。

all-in-one-trac-06.png

all-in-one-trac-07.png

「C:\trac-0.1.0\setup.bat」が実行されている。 このバッチファイルからTrac自身のインストーラーが起動されたり、Subversionのリポジトリが作成されたり、Tracのプロジェクトの作成が行われているようだ。

all-in-one-trac-08.png

all-in-one-trac-09.png

[編集]

インストール完了 #

all-in-one-trac-10.png

all-in-one-trac-11.png

[編集]

All-In-One Tracの起動画面 #

インストーラーの終了時に「All-In-One Trac v0.1.0を実行」を選んだときに表示される画面。

このコマンドプロンプトではApache.exeが実行されている。

all-in-one-trac-12.png

[編集]

スタートメニュー #

all-in-one-trac-13.png

all-in-one-trac-14.png

[編集]

ブラウザで開く #

「プログラム(P)」→「All-In-One Trac」→「trac-project-page」を実行すると、ブラウザが起動し、プロジェクト選択画面を表示する。

all-in-one-trac-15.png

[編集]

Tracのプロジェクトのルート画面 #

プロジェクト一覧でプロジェクトをクリック(ここではインストール時に作成した「システム開発プロジェクトポータル」)をクリックすると、 そのプロジェクトが開く。

Trac自身だけではなく、All-In-One Tracの説明や同梱している他のソフトウェアや文書もこのページアクセスできる。よく読んでおくこと。

特にAll-In-One Trac自身が用意しているスクリプト(バッチファイルなど)があり、これらを使うことで作業が容易になるので、よく読むこと。

all-in-one-trac-16.png

[編集]

インストール時に作成されたディレクトリ #

インストール先フォルダの下の構造。

trac-0.1.0以下にTracや各種のソフトウェアがインストールされる。

  • admin ... TracやApacheの管理用スクリプト
  • apache ... Apache本体
  • diffutils ... cmp, diff, diff3, sdiff
  • install ... インストール、Trac, Subversion環境の設定用? Subversionリポジトリの初期のひな形(svn_repo_skeleton)もここにある。
  • python ... Python と Tracの一部 (python/share/trac, python/man/man1, python/Scripts)。
  • subversion ... Subversion本体
  • svn_repo
  • trac ... (Tracのインストールパッケージ作成時のコードが残ってる?)
  • trac_custom ... TracにAll-In-One Tracが追加した物やSubversionの資料、TortoiseSVN、追加されたWikiページ、同梱されたWikiマクロなど。
    • htdocs
      • archives Subversionクライアント、WinMergeなど。
  • trac_repo
    • projects
      • default ... インストーラが作成するTrac環境 (TracEnv)
        confディレクトリにプロジェクトごとの設定ファイル trac.ini がある。設定の修正・コンポーネントの追加・マイルストーンの追加などを行うときはこのファイルをエディタで編集する。UTF-8が扱え、BOMなしで保存が可能なエディタが必要。( Windows 2000/XPのメモ帳は使えそう 不可。UTF-8で保存できるがBOMが付加されるのでエラーが発生 (→Windows XP, Windows 2000のメモ帳でtrac.iniを修正すると、エラーが発生)。ワードパッドはUTF-8に対応していないので不可。

all-in-one-trac-17.png

[編集]

Windowsの再起動後 #

Windowsを再起動すると、「スタートアップ」でTrac(正確にはApache)がコマンドプロンプト(最小化)で起動される。

all-in-one-trac-18.png

[編集]

ごたくを並べる #

ごたくを並べてみる。(ほとんど裏を取ってないので、NOTEですらない)

[編集]

2006-04-12 環境変数とサービス化についての考察 #

  • システム環境変数、ユーザー環境変数は設定しないようだ。(未確認)
  • 代わりに、apacheやtrac-adminやバッチファイルやスクリプトで環境変数を設定して、apacheやtrac-adminを起動するようだ。(未確認)
  • メリットは「既存の環境変数の影響を受けない」
  • デメリットは「ApacheのNTサービスで動かすのが難しい?」。
    • でも、サービス化ツールで環境変数を設定できるものがあればできそう。cygrunsrv とか sexe あたり? srvany/instsrvは?
  • サービス化のデメリット
    • 扱いにくくなる(特に、簡単にエラーメッセージを画面に出せない)
    • アカウントとその権限を注意深く設定しないと動作しない)
    • Windows 98/SE/ME で動作しない (2006-05-07)
  • サービス化のメリット
    • OSにログインしなくても動作する(画面にウィンドウが出ない、ってのはサービスじゃなくても可能なので)
[編集]

2006-04-17 Tracご意見・ご質問掲示板/7 - サービス化 #

BBS-Tracご意見・ご質問掲示板/7

  • サービス化が必須でない、つまり「ウィンドウを隠したい」だけであれば、 「コマンドプロンプトを隠し、タスクトレイにアイコンを表示、タスクトレイをクリックすると、コマンドプロンプトを表示。」 ……てな小さなプログラムを1個作ればよさそう。
  • でも、自分はWindowsのプログラミングをここ5年ほどやってないので……。
    • そういうことするフリーウェアはいくつかあったはず。(自分も以前使ってた)
    • タスクバーから消去するにはどうしたっけ?Windowの種類と親が関係したと思うのだが。 タスクトレイのメニューに「trac.iniを編集」とか「.htaccessを編集」とかもあるとさらに便利かなあ。
    • Pythonで作れないだろうか? Tk経由かな……。Python ライブラリリファレンス を眺めてみるか。
    • あるいはWSH (VBScript, JScript, PythonScript) で出来ないかなあ。
[編集]

2006-04-20 Tracご意見・ご質問掲示板/1 - AccountMangerPluginの全機能を使うにはPython2.4が必要だが… #

BBS-Tracご意見・ご質問掲示板/1

Python 2.4 が必要な理由は、再現不可能性を満たすために Python 2.4 の os.urandom を用いるため。 なお、AccountManagerPluginは os.urandom が無いときは代わりに /dev/urandom デバイスを使う。 しかし、このデバイスは Windows には用意されていない。

AccountManagerPluginの問題を改善するには:

  • Pythonを2.4に上げる(All-In-One Tracへの要求になる。ある意味一番まっとうな方法)
    • SubversionのPython binding は用意されているか? 自前でビルドしなきゃだめ? (2006-04-21)
      • TracInstall - The Trac Project - Trac#Requirements には「Python 2.4 is not supported on Windows since there are no Subversion bindings available for it.」だそうな。
      • TracInstall#インストール要件では「Python バージョン 2.4 は Windows でサポートされていません。利用できる Windows 用の Subversion bindings がありません。」
      • subversion: Subversion Packagesの 「Windows NT, 2000, XP and 2003」には「Please do not ask about Python 2.4 bindings for Windows. This message explains why.」とある。ここのリンク先の文書 Python 2.4 Bindings - 23 Jun 2005 で理由が書いてある。(ApacheがMSVCで、Python2.4がVS.NETでコンパイルされているので、バイナリ互換性が取れない)(2006-05-10)
      • 2006-07-18 BBS-Tracご意見・ご質問掲示板/29 -- Subversion Python bindingの2.3用バイナリを2.4対応にする方法 - バイナリにパッチを当てる (C Runtime Library差し替え)
      • 2006-09-13 ../情報源#re-guzy『…Subversion 1.4.0 のReleaseNote に svn-python-1.4.0-py2.4.exe を見つけた…』Subversion 1.4.0 を採用するなら、これで解決?
  • AccountManagerPlugin 側で解決する
    • Python 2.3にはos.urandomは無いけど、randomモジュール (import random; dir(random); help(random.random)) はMersenne Twisterを使ってる)を使ってdef urandomすれば良さそう。再現不可能性は確保できないけど。
    • この件、既にTicketが存在した。未解決のようだが。#63 (support htpasswd with Windows and Python 2.3) - Trac Hacks
  • AccountManagerPluginのパスワード変更機能をあきらめ、Apache2付属のhtpasswdコマンドを使う。
    • 使えると思うんだけどなあ。それに、この件はApacheのコミュニティの方が詳しいはず。
    • 手元ではDigest認証使ってるから(以前のtracdはBasic認証の機能がなかった)、htdigest使ってるけど、コマンドラインオプションはほぼ同じだったと思う。

関連:

[編集]

2006-04-28 trac.ini、UTF-8N、BOM #

[編集]

2006-07-01 #

[windows] コマンドプロンプトの言語設定 - メモの日々 (2006-06-30)

環境変数APR_ICONV_PATHを設定すれば直るかな? 未確認なので、まだコメントしないけど。

あるいはAll-In-One Trac自体にsvnadmin.exeをラップしたバッチファイルが用意されてるかもしれんし。

set APR_ICONV_PATH=C:\...\Subversion\iconv
svnadmin.exe %*
[編集]

2006-09-07 TCP LISTEN, クライアントからの接続確認 #

メモ。

All-In-One Trac v0.1.1 (Windows 2000)

C:\Documents and Settings\username>ipconfig

Windows 2000 IP Configuration

Ethernet adapter ローカル エリア接続:

        IP Address. . . . . . . . . . . . : 192.168.1.17
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1

C:\Documents and Settings\username>netstat -a -n | findstr ":80"
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
  TCP    192.168.1.17:1031      60.254.185.18:80       TIME_WAIT
  TCP    192.168.1.17:1034      60.254.185.18:80       TIME_WAIT

C:\Documents and Settings\username>

クライアント (Windows XP Professional SP2)

C:\>ipconfig

Windows IP Configuration

Ethernet adapter ローカル エリア接続 3:

        IP Address. . . . . . . . . . . . : 192.168.1.14
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1

C:\> telnet 192.168.1.17 80
Trying 192.168.1.17...
Connected to 192.168.1.17.
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Wed, 06 Sep 2006 15:16:46 GMT
Server: Apache/2.0.54 (Win32) SVN/1.3.0 mod_python/3.1.3 Python/2.3.5 DAV/2
Last-Modified: Sat, 11 Mar 2006 17:52:14 GMT
ETag: "5219-74-c505af80"
Accept-Ranges: bytes
Content-Length: 116
Connection: close
Content-Type: text/html

<html>
<head>
<meta http-equiv="refresh" content="0;url=/projects/">
</head>
<body bgcolor=#ffffff>
</body>
</html>
Connection closed by foreign host.

C:\>
[編集]

2007-01-11 プロジェクト一覧の表示を禁止する #

BBS-Tracご意見・ご質問掲示板/76 - "プロジェクトの一覧を表示させたくない。 より。

mod_rewriteを使って、 /projects や /projects/ にアクセスしたときだけF (=Forbidden, ステータスコード403)にしてやれば、 とりあえず解決する。

LoadModule rewrite_module modules/mod_rewrite.so
RewriteEngine on
RewriteRule ^/projects$ - [L,F]
RewriteRule ^/projects/$ - [L,F]

とはいえmod_rewriteは扱いが難しいので、より簡単な方法があればよいのだが。

あるいは、trac側にそういう機能があればいいのだけど。 (そのうち追加されそうな気もするが……、それとも既にあるかも知れないが、あんまり調べてないし。 本家のチケットにありそうな気もする)

[編集]

2007-01-15 ポートとプロセスID、サービスの対応を表示 #

ポート80番が使われているかどうか、そしてポートを使っているプログラムを特定するには、netstatコマンドとtasklistコマンドを使う。

ポート80番をLISTENしているプロセスのPIDを調べる。(以下の例では PID=976):

C:> netstat -ano  | findstr ":80" | findstr "LISTEN"
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       976

タスクの一覧から指定したPIDを持つプログラムを調べる(以下の例ではApache.exe):

C:> tasklist | findstr "976"
Apache.exe                   976 Console                 0        856 K

なお、試しにApache.exeを停止してみる。ポートが開放されるので、netstatに表示されなくなる。

C:> net stop apache2
Apache2 サービスを停止中です..
Apache2 サービスは正常に停止されました。

C:> netstat -ano  | findstr ":80" | findstr "LISTEN"

C:>
[編集]

コメント #

コメントは ソフト/Bug Tracking/trac#comment にて。