トップ(最新) | <前 | 次>

nDiki : Apache

Apache - Apache HTTP Server

スポンサード リンク

Related term

2005年1月6日 (木)

m4s tkh再会新年会 このエントリーを含むはてなブックマーク

http://www.naney.org/img/2005/U/U2005-01-06-0001.jpg http://www.naney.org/img/2005/U/U2005-01-06-0004.jpg http://www.naney.org/img/2005/U/U2005-01-06-0003.jpg

年末に帰国して、また明日にはアメリカに行ってしまうtkh君との再会もかねて、集まれるメンバで m4s 新年会を開く。

今回のメンバはやまだ君、田圃君、tkh君と自分。

tkh君もそうだが、田圃君はかなり久しぶりの再会。 当初仕事の関係で参加できるかどうか微妙だったのだが、結局退社してこれたようだ。 神田駅前に先に集まっていた3人でお店を探してうろついいる間に電話で連絡が入って合流。

@ とんかつ おりべ 神田

まずは腹ごなしということで、食事処を探す。 呑屋ばかりでなかなかみつからないので、目についたとんかつ屋へ。

空いていたので、食べ終わってからもしばらく喋っていられたしそれなりに良かった。

http://www.naney.org/img/2005/U/U2005-01-06-0002.jpg

@ 炙りびすとろ まる座

お店をかえてまる座へ。 最近よくあるちょっと洒落た感じの呑屋。

http://www.naney.org/img/2005/U/U2005-01-06-0005.jpg http://www.naney.org/img/2005/U/U2005-01-06-0006.jpg

@ 話題

@ 仕事

tkh君と田圃君は以前に同じ会社に勤めていたので、いろいろ話がはずんでいた様子。 よいなよいな。

田圃君は現在、ビデオのコンピュータ処理関連他の仕事をしているようだ。 それなりに大きな規模の会社なので、いろいろスケールの大きいハイスペックな世界の話が聞けて興味深い。

IRIX の話などもちらほら。

@ iPod

アップルつながりで iPod の話題も結構多かった。 最近の機種はノイズが多いとか。

@ Vodafone 902SH

やまだ君が年末に機種変更。 「着うたを自作できない」等ちょっとご不満の様子。 「圃」が変換できなくて困っていた。

@ コンピュータ

4人中3人が Mac OS X ユーザなので、なかなか話についていけぬ。 やっぱり Mac OS X ユーザどんどん増えているなぁ。

@ ホスティングサービス

やまだ君はまだ今後の環境をどうするか未定の様子。

田圃君は私と同じホスティングサービスを利用しているのだが、メモリ制限でCGI プログラムが動かなくてやる気が出ない様子。 自分も契約時のホストはそうだったのだが、途中にホスト変更があったことによりApacheの設定が変わって制限がなくなったという経緯がある。

のりかえを検討しているとか。

@ tkh君の自宅サーバ

日本にきている間に、接続不能状態におちいっているらしい。 ルータは反応しているので、「部屋が全焼」という可能性はなさそうだという話。

@ tkhデジカメ欲しい

絞り優先・シャッター優先の設定ができる機種が希望とのこと。 実際それらを効果的に使うとするとやはりデジタル一眼レフでしょうという話になって、コンパクト系の候補はほとんど話題にならず。 CONTAX TVS DIGITAL などもちょっぴり話題に。

@ 銀塩カメラ

田圃君のハリネズミ110カメラ、LOMO、ホルガ、GR1v (v だっけ?)、GR21 の話とか、TC-1 の話とか。 あとはオリンパス Pen F シリーズの話や CONTAX G シリーズの話なども。

@ ハンググライダー

田圃君が始めたそうで。あいかわらず行動力があって感服。 話を聞くと面白ろそうだけれど、いざ自分がやるとなるとやっぱりこわいな。

@ mixi

足あとに関する話題とか。 田圃君は1ヶ月ぐらい毎に退会してしまったとのこと。 mixiつながりで社内にリアルコミュニティができたり、逆に会話が無くなったりとかいろいろ面白い現象も起きているようだ。

うちの会社のスタッフについては「GAKU(ケロロ軍曹ネタ他いろいろ)」「グレイプ(いろいろ、うさぎネタ)」「ぐら(かごネタ他いろいろ)」の日記やまだ君の研究室でウケているらしい。

スポンサード リンク


[ 1月6日全て ]

2005年2月13日 (日)

Tor で hidden service このエントリーを含むはてなブックマーク

Tor: An anonymous Internet communication system を試してみる。 Torは匿名接続を提供するシステム。 アプリケーションで Tor クライアント(あるいはサーバ)をSOCKSサーバとして指定すると、いくつかの Tor サーバを経由して目的のサービスに接続されるようになる。 途中の経路は時間とともにどんどん変わっていく(らしい)。

@ インストール

Debian パッケージになっているので apt-get。

@ Privoxy と連携させて Web閲覧

もともと普段から使用している Privoxy の config に、

 forward-socks4a / localhost:9050 .

という設定を追加して再起動Privoxy がローカルサーバで動いている Tor 経由で接続するようになる。

 Firefox -> Privoxy(localhost:8118) -> Tor(localhost:9050)
         -> Tor server -> ... -> Tor server -> Web サーバ

という感じに複数の Tor サーバを経由して目的にサーバに接続されるようになる。

Web サーバアクセスログを見ながら何度かHTTPアクセスをしてみると、IP アドレス(経路の最後の Tor server)が変わっていくのがわかる。

@ 使用感

かなりレスポンスが悪くなる。 現状では常時設定しておくのは辛い感じ。

Tor では名乗りを上げない限り(待ち受けポートを開けた上で、ディレクトリサーバに登録する)サーバにはならない。 このため、Tor server が絶対的に足りていないのかもしれない。

@ hidden service

Tor の面白い機能の一つに匿名サービスを提供する機能がある。 Web サーバSSHサーバなどを匿名で晒すことができる。

この時動かす tor は Tor サーバである必要はなく Tor クライアントでかまわない。

/etc/tor/torrc に

 HiddenServerDir /var/lib/tor/hidden_http_service/
 HiddenServicePort 80 127.0.0.1:80

を追加して、tor を再起動

/var/lib/tor/hiden_http_service/hostname というファイルに ****************.onion というホスト名が書かれているので、Tor + Privoxy 経由で http://****************.onion/ にアクセスすると、先ほどの tor が動いているサーバの Web サーバのページが見える。 hidden service を提供している tor は NAT の中にいてもOK(のようだ)。

閲覧者側に Tor (とPrivoxyなど)がインストールしてあれば、ダイナミックDNSに登録したりしなくても好きなタイミングで Web サーバにアクセスしてもらえるようになる。 面白い。

ローカルの Apache に 「ServerAlias *.onion」な Virtual Host の設定を追加して、Tor 経由専用のWebサイトも実験的に準備しておいてみた(例によって Wiki)。


[ 2月13日全て ]

2005年4月10日 (日)

Windows 上での Apache 2.0.53 では PATH_INFOシフト JIS このエントリーを含むはてなブックマーク

WiKickerWindows 上での動作確認の続き。 WiKickerPPM パッケージを作成して ActivePerl 5.8.6.811 上にインストール。 依存するモジュールで、ActivePerl に入っていないものは以下の通り。

既に手元で PPM パッケージ化済みなので、これもインストールしておく。

後は RCS をパスの通っているディレクトリに入れてタイムゾーンを設定。

 TZ=JST-9

CGI プログラムとして実行。 お、表示できた。 書き込みはと。

エラー

予想していたけれど、sendmail に依存していたところ。 sendmail が見つからない場合はメールの送信をスキップするように修正。

これでうまく動くかなと思ったら、日本語名のページを作るとうまく表示できない問題を発見。

@ PATH_INFOシフト JIS で渡される

WiKicker では UTF-8 文字列をURIエスケープして WikiPageURLを生成している。 このURIにアクセスされると WiKicker は、PATH_INFO から WikiName を取り出す。 この文字列がシフト JIS になってしまっている。

Windowsファイル名に使用する charset にあわせて、Apache が変換してしまっているようだ。 調べてみると他の WikiEngine でも同様の問題にあっているという記事が見つかった。

将来の 2.0 系でパッチが取り込まれて修正されるとか、そうでないとか。

現状どうするかなぁ。 WiKicker 側でシフト JIS から UTF-8 に戻すというのもできない事はないけれど、あまりやりたくはないな。 いったんシフト JIS を介しているという時点で、シフト JIS に無い文字の扱いに関する問題をかかえてしまっているし(Apache が)。

対策案:

  • Apache 1.x 系を使う (まだ未確認だが、こちらだと勝手に変換されないらしい)
  • WiKickerPATH_INFO を使わないオプションをつける(URI Query Component は勝手に変換されない)
  • WiKicker 側でシフト JIS から UTF-8 に変換する

[ 4月10日全て ]

2005年4月15日 (金)

PATH_INFO のかわりに REQUEST_URISCRIPT_NAME を使う このエントリーを含むはてなブックマーク

結局 Apache 1.3.33 でもやはり PATH_INFOUTF-8 では無くなってしまうようだ。

ということで WiKicker 側で対処。 SERVER_SOFTWARE 環境変数を見て Win32Apache だった場合、PATH_INFO を使わず REQUEST_URISCRIPT_NAME 環境変数を使って PATH_INFO にあたる文字列を取り出すようにした。

これで期待するページにアクセスできるようになった。

ただし別件で、ページ書き込み時に失敗する問題が発覚。 ページの補助情報を保存している部分の処理がこけるらしく、一度エラーになると以降のアクセスがエラーになってしまう。 要調査。


[ 4月15日全て ]

2005年5月11日 (水)

WiKicker 0.26 と ActivePerl 5.8.6.811 (Win32) このエントリーを含むはてなブックマーク

0.26 での依存モジュールの再確認。 ActivePerl 5.8.6.811では、追加で

が必要。 それから RCS。動作確認は Apache で。

ロックまわりがうまく動いているかちょっと不安なのでテストが必要だが、一人でメモ用に使う分には問題なく使えるようになったかな。


[ 5月11日全て ]

2005年10月1日 (土)

mixipressコミュニティ掲示板もチェック このエントリーを含むはてなブックマーク

この週末 mixi で遊びのついでに mixipress も試してみることにした。

mixipressPerlで書かれたCGI プログラムで、アクセスするとmixi にログインして「最新のマイミクシィ日記・参加しているコミュニティのBBSへの投稿・以前コメントした日記日記へのコメント・メッセージ・足あとのダイジェスト」を含むRSSを返してくれる。

ローカルの Apachemixipress 0.31 をインストール。 0.31 が出た後、 mixi 側で URL の変更があったのでそれに対応するように一部正規表現を修正。

Sage でアクセス。 ふむふむ、これだと面倒で見ていなかった掲示板のチェックも楽だ。


[ 10月1日全て ]

2006年2月15日 (水)

ドキュメンテーション大全 このエントリーを含むはてなブックマーク

開発の現場 Vol.003 効率UP&スキルUP ドキュメンテーション大全

プロジェクトの後半で納品用ドキュメントの整備を始めるのだが、その時はたいがいもう切羽詰りはじめていて構成やら体裁やらマネジメントやらを工夫する余力が無かったりする。 ついつい(次回は改良しようと思っていつも思っている)前回のプロジェクトの手法を踏襲してしまいがちだ。 ともすれば劣化コピーになりかねない。

やはり、忙しくても日頃からの改善は重要である。

最近はアジェンダ議事録開発メモなどを、積極的に WikiSubversion で共有するようにし、その点では以前より改善してきている。

今後はさらに、出荷ドキュメントのレビュープロセスなどを確立し品質を高めていきたいところである。 現状でもチームメンバでのピアデスクチェックやパスアランドを非形式的に行っているのだが、「チェックの程度」やその後の「修正」および「修正の確認」については、まだなんとなくやったかなという具合。この辺りを工夫したい。

先月発売されていて気になっていた「開発現場 Vol.003」に、何かヒントがあるかなと思って買ってみた。

パラパラと見た感じではテクニカルライティングの話はあまりなく、主にソフトウェア開発における中間成果物としてのドキュメントや開発者間ドキュメントをどうとりまとめていくかという話が中心のよう。 Wiki による開発資料のライトな共有など、うちのチームでも進めている話など。

「(最初から)完全なドキュメントを書こうとしない」というのはもっとも。 状況はほとんどの場合変わるし、最初の段階では未確定の部分も多い。 だからといって、いつまでたっても手元で温めていてもしょうがない。

技術的な話では PerlPod を活用しようという話。 Perl 以外の言語のコメント中に Pod 形式でドキュメントを書こうという提案や、Apache で動的に Pod ドキュメントを整形しようという話とか。

テキストフォーマットとしての Pod は =over / =item / =back によるリスト表現など、最近のフォーマットに比べてすごく読み易いわけではないが、たしかに他の言語のコメントに埋め込んでおいて処理するのは、標準の Pod 関連のモジュールでできるな。

自分も Pod でドキュメントを書くけれど、(Perl 以外は) 個人的には reStructuredText にしたいと考えている。 ただ Pod みたいに他のテキストの一部に埋め込んでその部分のみ処理する記法およびツールがが標準の reStructuredText / Docutils には見当らない。 実はどっかにあるのだろうか。


[ 書評 ]


[ 2月15日全て ]

2006年2月18日 (土)

Perl CGI プログラムのテストには WWW::Mechanize::CGI このエントリーを含むはてなブックマーク

CGI プログラムを書いていて、いつも困るのがリグレッションテスト

パッケージのビルド時に実行するテストスーツ (make check / make test 用テストプログラム群) に含めておきたいが、さすがにその場で Web サーバの下へセットアップするわけにもいかない。 ミニ Web サーバを同梱してテストスーツ内で起動する方法はちょっとおおがかかりだし、ポート番号の選択やらサーバの停止の問題もあって、かなり面倒。

結局、テストスーツの中で環境変数や標準入力など CGI リクエスト環境をセットアップして、CGI プログラムを実行するという王道(?)かつ泥臭いテストを書くことになったりする。

何かいいものはないかと探していたところ、WWW::Mechanize::CGI というものをみつけた。

LWP::UserAgent を継承した WWW::Mechanize モジュールは Web ブラウジングを容易にする有名どころのモジュールである。

WWW::Mechanize::CGI モジュールはさらにこれを拡張したモジュールで、HTTP リクエストを、仮想的に CGI プログラムやサブルーチンへの呼出しにしてくれる。 これを用いるとあたかも Web サーバ上の CGI プログラムにリクエストしレスポンスを受けとっているかのように、テストプログラムを書くことができる。

素晴しい。

さっそく WiKicker のテストを書き換えてみた:

 use Test::More tests => 2;
 use WiKicker::WikICGI::Controller;
 use WWW::Mechanize::CGI;
 use File::Temp qw(tempdir);
 use File::Spec;
 my $www_dir = tempdir(CLEANUP => 1);
 my $mech = WWW::Mechanize::CGI->new;
 $mech->cgi(sub {
              $ENV{PATH_INFO} = '' if $ENV{PATH_INFO} eq '/';
              WiKicker::WikiCGI::Controller->new->run});
 $mech->env($mech->env,
            SCRIPT_FILENAME => File::Spec
                                 ->catfile($www_dir . '/wiki'),
            SCRIPT_NAME => '/wiki');
 my $response = $mech->get('http://localhost/wiki');
 ok($response->is_success);
 like($response->content,
      qr|<title>WikiForum\[WiKicker\]: FrontPage</title>|);

WWW::Mechanize::CGI オブジェクトを new した後、cgi メソッドで CGI サブルーチンを指定するか、cgi_application メソッドで外部 CGI プログラムを指定する。 ここでは直接、CGI サブルーチン (WiKicker::WikiCGI::Controller->new->run を実行)を指定した。

なおここで WWW::Mechanize::CGI が使っている HTTP::Request::AsCGI 0.5 における PATH_INFO の扱いが Apache などとは違って、空でも必ず '/' が入るようになっている。 これだと WiKicker では困るので、サブルーチンのところで修正している。

後は必要ならば WWW::Mechanize::CGI::env で、追加の環境変数設定を行っておく。

セットアップが済めば通常の WWW::Mechanize と同様に get 等でリクエストを行いレスポンスを受けとることができるようになる。

いい。しばらく試してみて不具合がなさそうなら、定番のテストスタイルにしたい。

ちなみに Test::Harness 用の Test::WWW::Mechanize にあわせて、Test::WWW::Mechanize::CGI というものもある。 これらを用いるとさらにテストを書くのが楽になるが、依存するモジュールも多いので無理に使わないほうがいいかもしれない。


[ 2月18日全て ]

2006年3月2日 (木)

FreeBSDApache::Htpasswd このエントリーを含むはてなブックマーク

WiKicker認証ドライバの1つとして、まずは Apachehtpasswd パスワードファイル(AuthUserFile ディレクティブ用パスワードファイル)形式のものを作成することにする。 これなら htpasswd で作成することができるので、最悪最初の段階では WiKicker に登録・削除機能を入れないで済む。

Perl からこのパスワードファイルを扱うモジュールとしては Apache::Htpasswd や、Authen::Htpasswd がある。 CPAN にある CGI-Application-Plugin-Authentication は前者を、Catalyst-Plugin-Authentication-Store-Htpasswd では後者を使用している。

機能的にはほぼ同じか。 Authen::Htpasswd の方がユーザ名に対応するオブジェクトを取得するメソッドがあり便利といえば便利だが、まあなくても困らないだろう。

ということで今回は、依存モジュールの少ない Apache::Htpasswd を選択した。 Perl 5.005_03 にはない warnings プラグマが使われているが、Htpasswd.pm の

 use warnings;

1行を削除すれば問題無し。

FreeBSD 4.4-RELEASE #3 + Perl 5.005_03 + Apache-Htpasswd 1.7 だと、crypt 関連のテストケースが失敗する(not ok 17)のがちょっと気になるところ。 MD5 ベースのパスワードの読み書きは問題ないので、この環境ではこちらを使うことにしよう。


[ 3月2日全て ]

2006年3月6日 (月)

DebianRSS リーダフレッシュリーダー」をインストール このエントリーを含むはてなブックマーク

2006年3月1日にリリースされた RSS リーダ フレッシュリーダー(Fresh Reader)を昨日 Debian GNU/Linux sid 環境へインストールして試用を開始してみた。

@ Debian GNU/Linux sidインストール

ノート PC 上で動いている Apache2 にインストールPHP が必要なので、libapache2-mod-suphp をインストールしておく。

 apt-get install libapache2-mod-suphp

他のプライベートな Web サイトと分離するために、バーチャルホストを1つ作ってそこへインストールすることにする。 libapache2-mod-suphp を使って、自分のユーザ権限で db に書き込むように設定。 また自分だけが使えるようにアクセス制限しておくことにする。

/etc/apache2/sites-available/freshreader を作成:

 <VirtualHost *>
   ServerAdmin naney@naney.org
   ServerName freshreader
   SuexecUserGroup naney naney

    DocumentRoot /var/www/freshreader
    <Directory />
      Options FollowSymLinks
      AllowOverride None
    </Directory>
    <Directory /var/www/freshreader>
      Options Indexes FollowSymLinks MultiViews ExecCGI
      AllowOverride All
      Order deny,allow
      Deny from all
      Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    ErrorLog /var/log/apache2/error.log
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On
 </VirtualHost>

で、次にバーチャルホストを有効にする。

 #mkdir /var/www/freshreader
 #chown naney.naney /var/www/freshreader
 #a2ensite freshreader
 #emacs /etc/hosts                # 127.0.0.1 に freshreader を追加
 #/etc/init.d/apache2 reload

続けてフレッシュリーダーインストール。 基本的にはアーカイブを展開するのみ。

 $cd /var/www/freshreader
 $tar zxvfp ~/sffr10lin.tar.gz
 $chmod 700 db

Web ブラウザから

 http://freshreader/freshreader/index.html

にアクセスする。これで基本的なインストール終了。

それから1時間に1回自動巡回するようにしておく。 今回は自分のユーザアカウント (naney) でインストールしてあるので、自分の crontab 設定に追加する。 自分の場合は、1時間に1回 run-parts されるディレクトリがあるので、そこに

 #!/bin/sh
 /usr/bin/php5 -f /var/www/freshreader/freshreader/crawler.php

というファイルを作成しておく。

あとはマニュアルの通りWeb ブラウザでユーザを作成したり、巡回先を登録したりしていく。

@ 感想

現在のところ Web 巡回は

と用途ごとに分散してしまっている。

集約したかったのだが、なかなかこれというのが無かった。

フレッシュリーダーだと

  • MyRSS.jp のエンジンを使って、RSS フィードのないサイトも登録可能
  • ローカルで動かせるので、プライベットネットワーク上の RSS フィード、プライベートな RSS、ローカルホスト上の RSS を集約できる
  • Bloglines に同様の未読管理
  • Web ブラウザベース (記事中のリンクもそのまま Firefox 上で閲覧していける)

と望んでいる機能が入っている。

早速 Bloglines から登録一覧を OPML でエクスポートして、インポート。

動作も軽快だしいい感じだ。 「一度に表示する未読記事の数」が設定できるのが非常に気にいった。

未読記事を表示したらそのページ(タブ)を閉じる前に全部目を通さなければならない(でないと、読んでいないものも既読になってしまう)。 Bloglines だと前回見てからの未読が1度に全部表示されるので、間隔をあけてしまった時に辛い。 この点でフレッシュリーダーは便利。

現在「無制限」「約100件」「約1000件」が選べるが、ここは自由に数値で指定できるとなお嬉しい(50件づつぐらいにきざみたい)。

Web 巡回は、基本的にこれに集約しようかな。

ということでブロガーライセンス(自身でブログ/ホームページを運営されている方向けの優待ライセンス: 無料)を申請。


[ 3月6日全て ]

スポンサード リンク

■よく検索されるキーワード

torrent(109) x31(45) thinkpad(31) 動画(29) 提案書(26) mp980(24) 手帳(24) windows(23) linux(23) 画像(21) 使い方(21) リフィル(21) debian(20) usb(20) tc-1(19) perl(19) 筆まめ(18) 壁紙(17) ほぼ日手帳(16) 冷蔵庫(14) ドラマ(13) wiki(13) 書き方(12) ダイソー(12) システム手帳(12) 宮根誠司(12) ノート(11) so905ics(11) 無印(11) バッグインバッグ(11) 映画(11) 設定(10) 修理(10) 宮根(9) ssh(9) a6(9) ほぼ日(9) 黒田征太郎(9) バッグ(9) gmail(8) 感想(8) (8) f-01a(8) メモリ(8) gtd(8) ブログ(8) nikon(8) allinanchor:*.torrent(8) ボールペン(7) 方眼(7) ポイント(7) 4c(7) ヨドバシカメラ(7) ケース(7) twitter(7) apache(7) ht-01a(7) ヨドバシ(7) ubuntu(7) truecrypt(7) n-02a(7) 作り方(7) minolta(7) af(6) インストール(6) ガントチャート(6) mp3(6) zippo(6) hdd(6) emacs(6) レビュー(6) カバー(6) vq1005(6) 日本語(6) ハクキンカイロ(6) 無印良品(6) グレゴリー(6) 交換(6) nikkor(6) pixus(6)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.0808s / load averages: 0.11, 0.25, 0.26
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)