トップ(最新) | <前

nDiki : Apache

Apache - Apache HTTP Server

スポンサード リンク

Related term

2006年3月8日 (水)

DHCPIP アドレスを割り当てられているノート PCWindows BOX からいろいろな名前でアクセスする このエントリーを含むはてなブックマーク

Debian GNU/Linux ノート PC 上で動かしているフレッシュリーダーWindows BOX からアクセスできるようにしたい。

しかしそのノート PCDHCPIP アドレスを割り当てているので Windowshosts ファイルに書くのも毎回書き換えが必要で面倒。 DNS がどうのこうのという大袈裟なこともしたくない。

何かいい手はないかなと考えていたら、nmbd の事を思い出した。 もともと Windows だと NetBIOS 名で URL のホストを解決できているので、これを使う手がある。

今回は Apache の名前ベースのバーチャルホスト 'freshreader' に置いてあるフレッシュリーダーに、Windows BOX からアクセスしたいので、 Samba の 'netbios aliases' 設定を使用する。 smb.conf で 'netbios aliases' としてバーチャルホストと同じ名前の指定しておいてあげれば OK。

スポンサード リンク


フレッシュリーダーブロガーライセンス取得 このエントリーを含むはてなブックマーク

申請していたフレッシュリーダーのラインスが発行された。

3日前から使い始めているのだがなかなかいい調子。 なので、会社にいる時に昼休みなど Windows BOX 上の Firefox からもアクセスできるように Apache の設定を修正しておく(ローカルホストから以外の時には、Basic 認証を必要とするように設定)。 サーバ型なのでこういう使い方をするには便利。


[ 3月8日全て ]

2006年6月10日 (土)

WiKicker における PageName 最長文字数 このエントリーを含むはてなブックマーク

WiKicker では PageName を エンコードした文字列を URI に埋め込んだり、サーバで保存する際のファイル名にしたりしている。 このため、PageName の最長文字数はそれらの最長文字数に依存しているはずである。

今まで確認を後回しにしていたのだが、新しい機能の追加の際に確認しておく必要があるので調査してみた。

@ WiKicker の実装

WiKicker の実装がらみとして最長を決める要素としては

がある。

@ 各仕様等による制約

  • HTTP では URI の長さには制限なし (RFC2616 3.2.1)
  • Web サーバは Request-URI が長いと 414 Request-URI Too Long を返す (RFC2616 10.4.15)。Apache は LimitRequestLine ディレクティブにより、URI を含むリクエスト行のサイズを制限することができる(配布時には 8190)。
  • Internet Explorer が扱える URL の長さは 2083文字。
  • ext2ファイル名は 255文字まで(増やすこともできる)。
  • 手元の Linux 2.6.15 で試したところ、パス名は 4095文字まで。

@ WiKicker で問題が出ない PageName 最長文字数

上記の中ではファイル名による制約が一番大きい。

WiKicker 内部でファイル名として base64 (の亜種) でエンコードしたものを使っているので、元の文字列はは最長 189バイトまでなければならない。base64 だと3バイトで4文字になるため、189バイトで 252文字となる。

WiKicker ではここでさらにファイル名に ',v'、'-lock' をつける事があるので、実際には元の文字列は最長 186 バイトまでとなる。

PageName が 186 バイトまでだとすると、URL エスケープしたとして558バイト。 WikiEngine のスクリプトの URL や他のパラメータとあわせても、これぐらいなら大丈夫のはずである。

ということで WiKicker では Linux 上だと通常 PageName は 186 バイトが最長と言ってよさそうだ。 日本語の文字はだいたい UTF-8 で3バイトになるので、62 文字までということになる。

そのうち、WiKicker に制約チェックを入れることにしよう。 そのうち。


[ 6月10日全て ]

2006年7月3日 (月)

自前 PPM リポジトリの管理 このエントリーを含むはてなブックマーク

Windows Perl アプリケーション用に PPM リポジトリを久しぶりに整理。

自分が使用する PPM パッケージは以下の理由から、以前より基本的に自前でビルド/保存し PPM リポジトリをローカルに作成するようにしている。

  1. 後でオフラインインストールできるようにする。
  2. 「公開リポジトリが無くなった」あるいは「公開リポジトリに欲しいパッケージが無くなった」時に困らないようにする。
  3. 動作確認された組み合わせでの PPM パッケージセットを作成・保持できるようにする。
  4. ライセンス的にクリアなものだけを含むリポジトリを用意する。 (芋蔓式インストールで、ライセンス的にクリアでないパッケージが入ってしまうのを防ぐ)。

@ 手元では以下のように管理

 PPM
  |-- <category>
  |   `-- 8xx
  |       |-- <projects A> [ 公開 / export ]
  |       |   |-- module1.ppd -> (A)
  |       |   |-- module1.tar.gz -> (B)
  |       |   `-- ...
  |       `-- ...
  `-- pool
      |-- module1-x.yy
      |   |-- module1.x.yy.tar.gz
      |   |-- some documents...
      |   `-- build817
      |       |-- module1.ppd (A)
      |       `-- module1.tar.gz (B)
      `-- ...
@ pool
  • pool ディレクトリに「[モジュール]-[バージョン]」ディレクトリを作成する。同じバージョンでも、異なるバージョンは両方とも別々にキープしておく。
  • その下にソース tarball を置く。
  • ライセンス情報ファイルなども置く (touch Perl-License 等空のファイルを作成しておく)
  • PPM パッケージPPM::Make で作成し、その時に使用した ActivePerlビルド番号別にサブディレクトリを作って .tar.gz と .ppd を置く。
@ リポジトリ
  • ActivePerlビルド番号別にリポジトリを作成する。基本的には 6xx 系、8xx 系それぞれの中ではバイナリ互換性がある (PAR などは、ビルド番号に1対1でしか互換性がない)。
  • 必要に応じてカテゴリ別サブディレクトリを用意 (アクセス制限の都合などにより)
  • 必要に応じてプロジェクト毎にサブディレクトリを用意 (プロジェクト毎にパッケージセットを作るため)
  • リポジトリディレクトリからは pool 内の .ppd、.tar.gz へシンボリックリンクを張る。欲しいモジュールのバージョン、ビルド番号を選んでリンクする。
@ 公開
  • SambaApache などで、PPM ディレクトリ全部あるいは特定のリポジトリ部分を公開する。
  • 必要なら export して別サーバに置く。rsync や cp の -L オプションでシンボリックリンクを実ファイルに置き換えてアーカイブを作成する。

[ 7月3日全て ]

2006年7月12日 (水)

Windows 上の Apache からリモートの共有フォルダにアクセス このエントリーを含むはてなブックマーク

  1. 共有フォルダにアクセスできるアカウントを作成する。
  2. [コントロール パネル]-[管理ツール]-[サービス] でダイアログを開く。
  3. Apache2 のプロパティの、ログオンタブで「ローカル システム アカント]となっているところを、「アカウント」を選択し、作成したアカウントを指定する。

[ 7月12日全て ]

2006年7月14日 (金)

はじめての WebDAV このエントリーを含むはてなブックマーク

WebDAVシステム構築ガイド

テストとして手元のノート PC (Debian GNU/Linux sid) で WebDAV を使えるようにしてみた。

@ 必要なパッケージを追加

 apt-get install libapache2-mod-encoding

@ mod_dav を有効に

 a2enmod dav
 a2enmod dav_fs

@ mod_encoding の設定

/etc/apache2/mods-available/encoding.conf を新規作成して

 <IfModule mod_encoding.c>
   EncodingEngine    on
   NormalizeUsername on
   SetServerEncoding UTF-8
   DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
 </IfModule>

とし

 a2enmod encoding

@ バーチャルホストでの mod_dav 設定

Windows からアクセスできるように、Samba で公開しているホスト名と同じ名前の ServerName を指定したバーチャルホストを一つ作って、

 <Location /dav>
  <IfModule mod_dav>
    Dav on
  </IfModule>
 </Location>

とする。

で、Apache をリスタート。

これで Windows から http://サーバ名/dav を Web フォルダとして扱えるようになる。


[ 7月14日全て ]

2006年7月15日 (土)

一般ユーザで Apache 2.0 を起動する最小限の httpd.conf このエントリーを含むはてなブックマーク

Perl CGI プログラムのテストの自動化には

などがある。 Apache を使うのがより実際の環境に近いテストができるのだが、通常動いている Apache を使って make test でテストできるようにするとすると「どこに配置するか」などの問題がでてくる。

となればいっその事、自分(一般ユーザ)で専用に Apache を起動した方が良さそうだ。 httpd.conf を用意するのが面倒だが、highperformance.conf 等をみる限り実はそれほど必須の設定は多くないようである。

@ httpd.conf を書く

ということで Debian GNU/Linux sidApache (2.0.55-4) で必要な設定は何か試してみた。少なくとも以下の設定は書いておく必要があるようだ。

 # httpd.conf for Debian GNU/Linux Apache 2.0.55-4
 Listen       9100
 ServerRoot   .
 DocumentRoot /home/naney/htdocs
 ErrorLog     error_log
 TypesConfig  /etc/mime.types
 PidFile      apache2.pid

これを httpd.conf として保存して、

 /usr/sbin/apache2ctl -f httpd.conf

で起動すればアクセスできるようになる。

 /usr/sbin/apache2ctl -f httpd.conf -k stop

で停止。

ServerRoot は起動時の -d オプションでも指定できるのだが、httpd.conf に書いておかないとうまく起動してくれなかった (-X を一緒に指定してデバッグモードにする場合は ServerRoot 無しに -d 指定だけでも動く)。

@ CGI プログラムを動くようにする。

CGI プログラムを動くようにするとすると例えば次のような感じ。

 # httpd.conf for Debian GNU/Linux Apache 2.0.55-4
 Listen       9100
 ServerRoot .
 DocumentRoot /home/naney/htdocs
 ErrorLog     error_log
 TypesConfig  /etc/mime.types
 PidFile      apache2.pid

 LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so
 Options +ExecCGI
 AddHandler cgi-script .cgi

@ make test で動くようにするには……

ディストリビューション独自のパッケージングなどに対応するように、多少泥臭く環境検出する必要があるが、なんとか make test から呼べそうだな。

最近は WWW::Mechanize::CGIお気に入りなのだが、2つ以上の CGI プログラムにまたがるようなアプリケーションのテストには向かなさそうなので、今度この方法でも試してみたい。


[ 7月15日全て ]

2006年12月17日 (日)

USB メモリPerl を入れて持ち歩きたい このエントリーを含むはてなブックマーク

ポータブルアプリケーション詰め込み。

自分の場合エディタPerl があれば随分できることが増えるので、何とか Perl を入れておきたい。 しかし定番の WindowsActivePerl はセットアップが必要であり、持ち歩きには向かない。

何かいい Perl ディストリビューションがないかなと探してみたところ、インストール不要Apache ディストリビューションが目についた。 そういえばこれらには Perl が含まれていてインストール不要で使えるものがあるらしいので、それらが使えるかもしれない。

@ XAMPP for Windows 1.5.5

標準の XAMPP では Perl インタプリタしか入っていなかった。 さすがにこれでは使い物にならない。

@ XAMPP for Windows ADD-Ons Perl 5.8.8-2.2.3

XAMPP で実用的な Perl 環境を用意するにはこちら。ActivePerl 5.8.8.817 上に Web アプリケーションに必要そうな パッケージが用意されている。 そのかわり 200MB (!) 近い容量が必要。 でかすぎ。

README には setup_xampp.bat に実行の指示がある。

@ Uniform Server 3.3

ActivePerl 5.8.7.815 が含まれている。 Perl インタプリタと、いくつかのパッケージが含まれている。 パッケージは結構少なめにおさえてあるので、容量はかなり少ない。 しかし

 perl -MConfig -e "print Config::myconfig()"

が動かないなどそのまま使えるわけではなさそうだ。

@ やっぱり ActivePerl?

試した2つとも結局は ActivePerl を使っているようである。 ActivePerl の部分のライセンスはどうなっているのだろう?

もしかしたら ActivePerl の AS package を展開して、不要なファイルを削除すれば (インストーラで設定されるリポジトリなどの情報を使う部分は駄目にしろ)、ある程度動くのかな。

それと Installer.bat の中で、一部ファイル(.bat、Config.pm、Config_heavy.pl、perllocal.pod、.packlist、config.h) のリロケーションをしているので、このあたりがポイントになりそう。

要確認。


[ 12月17日全て ]

2007年2月9日 (金)

XAMPPWiKicker を動かしてみた。PPM インストール OK。 このエントリーを含むはてなブックマーク

Perl で書いた Web アプリケーションのポータブルな Win32 デモ環境として XAMPP を使ってみるとどんな感じになるか試してみた。

使ったバージョンは以下。

(http://www.apachefriends.org/jp/xampp-windows.html)

@ C: ドライブで試す

それぞれ 自己解凍型 7-ZIP アーカイブをとってくる。 最初に XAMPP を展開し、次にその xampp ディレクトリの中で Perl アドオンを展開。 xampp ディレクトリを c: の直下に移動する。

次にコマンドプロンプトを開き c:\xampp\perl\bin へ移動後 ppm コマンドを起動して作成済みの PPM パッケージインストールする。 インストール先は \xampp\perl 以下とドライブ無しのパスで指定されているようで、問題なく必要な Perl ライブラリをインストールできた。

次に \xampp\xampp-control.exe を実行して GUI 管理ツールを立ち上げ、その画面から Apache を起動。 普通の Win32Apacheインストールしてある PC だったため、xampp-control から Apache を起動したらそちらが立ち上がってしまったが、これは Svc にチェックが入っていたからだった。Svc を外せば \xampp 以下の Apache がきちんと起動する。

あとは \xampp\htdocs 以下で WiKicker CGI プログラムの配置や設定ファイルを作成すれば OK。 もともと WiKicker は相対パスだけで動くようになっている*1ので、問題なく実行することができた。

*1多分

@ 他のドライブに移す

一度セットアップできた \xampp ディレクトリを TrueCrypt 仮想ドライブにコピーして起動してみた。

こちらも問題なく OK。

ということで XAMPP でお手軽に Perl CGI プログラムの動く Web サーバ環境を作れることを確認できた。

問題があるとすれば XAMPP + Perl アドオンが馬鹿でかいところか。400MB オーバー。 今回何が一番時間がかかったかって、XAMPP + Perl アドオンを展開した直後の xampp ディレクトリを、後でまた使えるように 7-ZIP の最高圧縮する処理に時間がかかった。 使っている PC では 50分以上かかったよ。


[ 2月9日全て ]

2007年9月11日 (火)

Linux 上で Flex 2 SDK を使った Flash コンテンツ開発を開始 このエントリーを含むはてなブックマーク

Flash コンテンツ開発については以前から興味があったんだけれど、手元 (Debian GNU/Linux BOX) で開発環境が構築できないので、ほとんど手をつけていなかった。 Ming を試してみたこともあったのだが、全然使いやすくなかったし。

しかしながらここ最近では Flex 2 SDK によって、Linux 上でも Flash コンテンツ開発できるようになった。 ということで技術調査をかねて開発環境構築と、コード書きを始めてみた。

まずはエディタとコンパイラと単体テストフレームワークがあれば開発できる。 Debian GNU/Linux sid 上で用意した環境は以下。

エディタは素直に Emacs で。単体テストフレームワークは、FlexUnit (.85) をチョイス。

今回はビルドツールを何にするか迷ったけれど Apache Ant にすることにした。最初は Makefile を使ってサンプルをビルドしていたりしたけれど、今後 Autotools 使うのもどうかなと思って。

ドキュメントについては Adobe から結構な量で提供されているのでこれを見ればたいがい足りそう。

ということでぽちぽちプロジェクト作成。とりあえず SWF ファイルと同じところにあるテキストファイルを読み込んで表示するだけの MXML ファイルを作成して、build.xml を構築。

ほとんどの時間は build.xml 書きと、Subversion リポジトリセットアップに費された。

後は別途ちょっとサンプルで試してみた FlexUnit をプロジェクトに組み込めば発進できそうだ。


[ 9月11日全て ]

2008年1月8日 (火)

sarge からetch へのアップグレードで危うくサービス壊すところだった このエントリーを含むはてなブックマーク

APT ラインが stable だったため中途半端に etch が混ざっているのが気になっているサーバがある。 セットアップした管理者がしばらく不在にしているので、アップグレードすることにしたが、やはりすんなりとはいかなかった。

@ Python 2.3 から 2.4

Python を使っているパッケージより先にインタープリタが削除されたため、そのパッケージが削除できなくなった。

依存関係無視して一旦削除して、更新。

@ Dovecot は設定がそのまま使えず、ダウングレード

Dovecot はアップデートしたら、設定ファイルの項目が変わったのか、エラーメッセージを吐いてデーモンがあがらなくなった。 MySQL 使ってたり、いろいろ苦労して設定してたものなので、いじるのは危険。 sarge からパッケージ持ってきてダウングレード。

@ Linux kernel もアップデートできず

kernel も 2.4 から 2.6 へアップデートしたが、再起動したら md まわりでエラーRAID のところがそのままでは駄目っぽい。 慌てて元に戻す。

一旦 udev にしたのも hotplug に戻した。

@ Apache は a2ensite・a2enmod しなおし

こちらは、バーチャルホストといくつかのモジュールの有効化がリセットされてサイトが見られなくなっていたので、それぞれ有効化しなおして復帰。


[ 1月8日全て ]

Related web page

Apacheの負荷の状況を監視できる、apachetop - Unix的なアレ
Unix/Linux系OSの場合で、負荷監視のツールといえばtopが有名ですが、<strong>apache</strong>の詳細までは監視することができません。 とくに、ある程度のアクセス数のあるWebサイトを運用したことのある方ならわかると思いますが、攻撃と思われるような負荷に出くわすことはあると思います。 そんなときに、簡単に<strong>apache</strong>の状況を調べることができるのが<strong>apache</strong>topです。 どんなときに使う? <strong>apache</strong>topと
http://d.hatena.ne.jp/wadap/20080113/1200221517
[を] Webサイトをケータイからのみアクセス可能にする方法
ケータイ(およびモバイル検索用クローラ)からのみ アクセス可能にする方法のメモ。 私のモバイルサイトでやっている方法ですので、 完璧なものではないし、完璧に近いものでもありません。 とはいえ、実はこのくらいで十分な気がします (モバイルまわりは良く分からないので根拠なしですが)。 ■ .htaccess SetEnvIf User-Agent &quot;J-PHONE&quot; jph SetEnvIf User-Agent &quot;SoftBank&quot; sb SetEnvIf User-Agen
http://chalow.net/2008-01-09-4.html
cl.pocari.org - XAMPP に含まれる Apache,MySQL,PHP のバージョンの遷移
http://cl.pocari.org/2007-11-04-1.html
徒然なるままにBlog - Apacheチューニング: ロギングを高速化する
あまり知られていません(と思われる)が<strong>Apache</strong>2(2.0.41以降)にはアクセスログの書き出しをメモリにバッファリングし高速化させるという機能があります。 今回はその機能を有効にするとどれぐらい速くなるのか調べてみました。 設定方法はhttpd.confに
http://www.tsujita.jp/blojsom/blog/default/Linux/2007/01/17/Apache%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0-%E3%83%AD%E3%82%AE%E3%83%B3%E3%82%B0%E3%82%92%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%99%E3%82%8B.html
daily dayflower - mod_speedycgi2 on Apache 2.2
SpeedyCGI を使ってみようと思って cpan install CGI::SpeedyCGI したら,怒られました。のであれこれ調べてなんとか動くパッチを作ってみました。 原因は <strong>Apache</strong> 2.2 (APR-1.2) になって, APR_BRIGADE_FOREACH() というマクロが deprecated になった(参考) apr_filename_of_pathname という関数が apr_filepath_name_get になった(CHANGES-APR-1.2) という非互換性があるためでした。 でも CGI::SpeedyCGI は Perl 5.8.6 以降で
http://d.hatena.ne.jp/dayflower/20061205/1165309213
[戯] HTTP リクエストの処理完了までの所要時間をログに記録する
&nbsp;&nbsp;http://sonic64.com/2005-12-28.html &nbsp;&nbsp;<strong>Apache</strong> 2.x では,CustomLog に %D &nbsp;&nbsp;を指定してあげれば OK. &nbsp;&nbsp;<strong>Apache</strong> 1.3x では %T で秒単位で記録できるらしい (ほとんど意味なし).
http://cl.pocari.org/2006-01-06-4.html
[を] オンライン上で簡単に .htaccess ファイルを作成
.htaccess ファイルを簡単作成「.htaccess Editor」 http://www.htaccesseditor.com/ (via [N] オンラインで.htaccessを作成できる「.htaccess Editor」 http://netafull.net/web/017034.html) 「オンライン上でいとも簡単に .htaccess ファイルを作成」できる、 というサイトです。いちいち調べながら書かなくて良いのでかなり楽です。 多用する予感。 ただ、ベーシック認証の .htpasswd の作成は(JavaScriptでサーバ通信 し
http://nais.to/~yto/clog/2006-11-29-7.html
【レポート】開発者に求められるのはコミュニケーション能力--Apache共同創設者語る (MYCOMジャーナル)
http://journal.mycom.co.jp/articles/2006/07/01/osbc3/
Debian に RSS リーダ「フレッシュリーダー」をインストール
http://www.naney.org/diki/d/2006-03-06-Fresh-Reader.html
既存のApacheトラフィック制御モジュール - Netnice Project
<strong>Apache</strong> 1.3.x, 2.0.x用。サーバ全体のトラフィックに基づいて特定URIや特定コンテンツタイプに対する同時アクセス数を制限する。 mod_dosevasive <strong>Apache</strong> 1.3, 2.0用。DoS attach防御のために、特定アドレスからの時間当たりの接続を制限する。 mod_throttle <strong>Apache</strong> 1.3.x用。各クライアントホスト毎、またはリモートユーザ毎に同時アクセス数・連続アクセス数・アクセス頻度・転送レート等を制限する
http://www.netnice.org/pukiwiki.php?%B4%FB%C2%B8%A4%CEApache%A5%C8%A5%E9%A5%D5%A5%A3%A5%C3%A5%AF%C0%A9%B8%E6%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB

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

perl(47) windows(44) 提案書(43) ドラマ(39) cvs(36) debian(31) linux(27) ほぼ日手帳(27) torrent(24) x31(24) 書き方(23) 使い方(23) サンプル(23) ganttproject(20) java(19) wiki(18) thinkpad(17) tc-1(17) 壁紙(15) アジェンダ(15) 作り方(15) ノート(14) 動画(14) usb(14) アジェンダとは(13) google(13) 手帳(12) ヨドバシカメラ(12) subversion(12) apache(12) ウォーターボーイズ2(12) インストール(11) ssh(11) フリー(11) centos(11) 2008(11) 影舞(11) c#(10) 画像(10) 秋葉原(10) svn(10) rcs(10) 日本語(10) リフィル(10) ほぼ日(10) tortoisesvn(10) 修理(10) ボールペン(9) cgi(9) 本名(9) ポーター(9) dvd(9) usbメモリ(9) クラリチン(8) web(8) 2009(8) a6(8) make(8) ヨドバシ(8) ubuntu(8) truecrypt(8) gtd(8) 設定(8) 写真(8) so905ics(7) ガントチャート(7) activeperl(7) 万年筆(7) 無料(7) svn+ssh(7) 冷蔵庫(7) ツール(7) バッグ(7) porter(7) gantt(7) project(6) firefox(6) scons(6) eclipse(6) flash(6)

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

Process Time: 1.610937s / load averages: 0.40, 0.58, 0.64
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)