Apache

2009年8月27日 (木)

FancyIndexing

TracLightningをちょっとカスタマイズして使っている
程度なのでApacheのこともそんなに知らないのですが、
httpd.confにドキュメントディレクトリを登録して
ました。

Alias /doc "f:\trac_pj\doc"
<Directory "f:\trac_pj\doc">
    Options Indexes
    Allow from all
</Directory>

のような感じで。

で、1年以上たった今頃になって、ドキュメントディレクトリを
表示した時に日時やサイズが出ないのはちょっと不便と思いました。
そこで検索したら、FancyIndexingというのを使えば
アイコン、日時、サイズ、コメントをつけられるんですね(常識なんでしょうけど)。

そこで下記のようにしました。

Alias /doc "f:\trac_pj\doc"
<Directory "f:\trac_pj\doc">
    Options Indexes
    IndexOptions +FancyIndexing +NameWidth=* +SuppressDescription +SuppressIcon
    Allow from all
</Directory>

+FancyIndexing…これがないとアイコン、日時、サイズ、コメントの機能が付きません。
+NameWidth=*…ファイル/ディレクトリ名を全部表示。*の代わりに数字を書くとそのバイト数分表示。
+SuppressDescription…コメントは不要なのではずしてます。
+SuppressIcon…アイコンは私の場合必要ないのと、登録するのが面倒なのではずしてます。

| | コメント (0) | トラックバック (0)

2009年3月20日 (金)

ネットワークドライブで失敗

win2000-P3-800MHzから XPSP2-P4-3GHzにtracサーバを
変更することになったので、
ネットワークドライブにドライブ文字(ドライブレター)を割り当てTracLightningから使う方法
で、apacheを動かしてやろうとしましたが、失敗。
どうやってもサービス開始でこけます。
イベントビューアで見ると、

The Apache service named  reported the following error:
>>> Syntax error on line 512 of C:/TracLight/CollabNetSVN/httpd/conf/httpd.conf: 

The Apache service named  reported the following error:
>>> Invalid file path F:\\xxx\\trac.htdigest

のようなエラーが(F:がネットワークドライブ)。

2000でしかできない技だったのかな?
まだ解決できてません。

よく見ていくと、
serviceインストールでもhttpd.confを
見ているようで、ネットワークドライブにF:を割り当てないまま
コマンドプロンプトからserviceインストールすると
F:\xxx\trac.htdigestがだめとメッセージ表示するが、
イベントビューアには出ない。

しかしここはF:が定義してあれば問題なくserviceインストールは終了。
なぜstartだけだめなの?

| | コメント (0) | トラックバック (0)

2008年9月 6日 (土)

ネットワークドライブにドライブ文字(ドライブレター)を割り当てTracLightningから使う方法

http://sourceforge.jp/forum/forum.php?thread_id=19568&forum_id=11624
を投稿してから、少したちましたが、おととい思いつき、
試したらできました。(これはwin2000で確認、もしかするとXPとかはできないのかも…)

UNC形式で行う方法もあるのかもしれませんが、ドライブ文字に割り振ってる方が
プロジェクトをそのままローカルに持ってきても変更せずにすみそうだし、
別PCにコピーして使うときも楽なんじゃないかと。

適当な記号に割り振ってますので、適当に変更して試してください。

-----------------
あらかじめファイルサーバなどのネットワークドライブ(ここでは\\abcdとする)への
アカウント(ここではIDをefgh,パスワードをijklとする)と同じアカウントを
winでも,「コントロールパネル」の「ユーザーアカウント」などを使って
登録しておく。

「ネットワークドライブの割り当て」を行う。
ここではドライブを「D:」にフォルダを「\\abcd\mnop」とする。
「異なるユーザー名」のところをクリックし、上記ID、パスワードを入力、「OK」を押す。
「完了」を押すと割り当てられる。

プロジェクトをおくフォルダを指定する。
環境変数として「TL_PROJECT_HOME」を追加、「D:\tracpj」とする。
つまり\\abcd\mnop\tracpjがプロジェクトフォルダということになる。

ここでTracLightningのインストールを行う。
そして再起動。

TracLightningの「サービスのインストール」を行う。
このままではapacheがネットワークドライブにアクセスしようとして
アカウントが違うまま接続しようとして失敗する(のだと思う)。
でエラーになったところで
「管理ツール」の「サービス」で
「TracLightning」のプロパティを開き、
「ログオン」タブで「ローカルシステムアカウント」ではなく、
「アカウント」を選択、上記IDをユーザアカウントとして選択、
パスワードを再入力する(この入力は必ず必要)。適用する。
そして「サービス」のツリー表示にて「TracLightning」を選択、右クリック、開始する。
(この操作はTracLightningの「サービスをインストール」するごとに必要)

ここまでできたならおそらく普通に使えるはず。

あとは、必ずドライブの割り当てが上記アカウントで行われた後、
そのアカウントでTracLightningのサービスが開始されるようにすれば
よいはず。

で、次にwinを起動したときのことを考えると、たとえば

net use d: \\abcd\mnop ijkl /USER:efgh
net start TracLightning

のようにドライブ割り当てをしてから、サービスをスタートするような
バッチファイルを作っておくとよいかも。
(net startではアカウント指定ができないので
結局「管理ツール」の「サービス」…の部分は行う必要があるようだ。)

「スタートアップの種類」を「手動」にかえておくとwin起動時に無駄なアクセスを行わない(はず)。
さらにTracLightningの「サービスのインストール」で使われる「install-service.bat」
を編集して、

httpd.exe -n TracLightning -k start
if errorlevel 1 pause

を削っておけば、「サービスのインストール」の時毎回エラーが出るのを待つ必要がない(→と思ってたけど、エラーは出ますね、待ち時間が短くなりはすると思いますけど)。

| | コメント (0) | トラックバック (0)