2009-01-01から1年間の記事一覧

最後に

Apacheについては、コアと拡張モジュールという構成を土台として、ドキュメントに対する処理(ハンドラ、フィルタ)とその範囲(コンテキスト)という縦軸横軸が張られている、そんな風にイメージすると分かりやすいのじゃないか。そこさえ押さえていれば、…

6. Apacheの設定

Apacheの設定はサーバ本体側に設定ファイルとドキュメントディレクトリ側に置く設定ファイルの二種類からなる。 本体側(FeeBSDなら/usr/local/etc/apache22配下)に置かれる設定ファイルには、メインとなるhttpd.confと拡張機能用の設定ファイルがある。拡…

5. Apacheの処理

Webサーバの根本を考えると、しょせん、WebサーバはURLとファイルシステム上のドキュメントを紐づけるクダに過ぎない。したがって、DocumentRootやAliasやVirtualHostといったディレクティブはまさにその紐付けとして基本の役割を担っているわけだ。 しかし…

4. Apacheのプロセス

Apacheのプロセスの形態は選択するmpmにより異なる。unixのデフォルトはApacheの旧バージョンを引きずった、スレッドを使わない形式mpm_prefork_moduleを組み込んでいる。 これは親プロセスと子プロセスに分かれており、親プロセスは、子プロセスの起動、リ…

3. モジュールの組み込み

モジュールを組み込む方法としては、静的モジュールの組み込みと動的モジュールの組み込みと二通りある。別にapache特有の考え方ではなく、C言語におけるライブラリの考えがベースにある。 静的モジュールの組み込みは、httpdのコンパイル時にconfigureスク…

2. Apacheの実体

Apacheのパッケージは本体であるhttpd、管理インターフェースであるapachectl、及びその他の補助ツールからなる。 httpdはバイナリファイルであり、スタンドアロンのデーモンプロセスとして起動し、HTTPリクエストの処理を担当する。 apachectlはシェルスク…

1. Apacheの設計

必ず押さえておくべき点として、Apacheは基本部分であるコアと拡張機能を提供するモジュールから成り立っているということ。コアは基本的なHTTPリクエストの処理を行い、SSLやCGIといった機能は拡張モジュールを組み込むことによって実装される。 Apacheのバ…

はじめに

とても良いマニュアルがあるので、読み慣れればきっと活用できると思います。 http://www.apache.jp/manual/

apacheサーバのログローテーション

apacheのメインのログはアクセスログとエラーログ。アクセスログの出力先はCustomLogディレクティブ(あるいはTransferLogディレクティブ)にて指定され、エラーログはErrorLogディレクティブで指定される。ログをローテーションしたい場合、apache停止時に…

apacheサーバの統計情報と設定情報

今イチ巷で使われている感の薄いmod_status(サーバ統計情報表示)とmod_info(サーバ設定情報表示)の二つのapacheモジュール。 両方ともコアが標準で備えているハンドラを利用できるので、httpd.confの設定はURLの位置とハンドラを指定するだけ。 # サーバ…

WebDAVクイックスタート

WebDAVに必要なapacheのモジュールはmod_davとav_fs_module。 これはDSOとしてデフォルトで組み込まれているので、後はhttpd.confの設定のみ。DavをOnにする他に最低限決めるのはURLとファイルシステム上のディレクトリの指定。 と、ファイルロック用のデー…

yumからのapacheインストール

Fedoraのインストール時のソフトウェアセットに、ウェブサーバーを含めなかった場合、 # su # yum search apache ~ httpd.i386 : Apache HTTP Server ~ # yum install httpd.i386 ~ ======================================================================…

*MySQLの共有ライブラリ

FreeBSDにMySQL 6.0.9とPHP 5.2.8(あとApache2.2.9-5)を入れたら、Apache起動時や以下のコマンドを叩いた時にエラーが発生。 # php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/mysql.so' - Shared object…

wiki便利

今年からwikiを作業記録やtodoとして使い始めたけど超便利。ちなみにpwiki。最初は使いづらいし出力結果は不格好だしと思ってたけど、情報量が溜まってくると質的にも変化するみたいで「あ、こんな書き方でいいじゃん」とか 「こんなカテゴリで分けたら見や…

CoLinux0.7.3上のDebian etchにswapファイルを追加

CoLinux0.7.3上で動かしていたDebianに日本語ロケールをインストールしようとしたら、out of memory エラーが発生したため、swapを追加することにした。1) Windows上でswapファイルを作成する2) CoLinuxのconfファイルを修正し、swapを指定する cobd1="\" 3)…

プロキシサーバを越えてapt-get

Debian etchで、LANからプロキシサーバを越えてapt-getを行う方法。 環境変数http_proxyにプロキシサーバとポート番号を設定する。 # export http_proxy=http://myproxy:myport # apt-get install hogehoge 以下のメッセージが出て失敗する場合は(プロキシ…