【あぱっち】

Apache とは?

最終更新:
💡 モジュールと設定を組み合わせるWebサーバ

Apache Software Foundationのプロジェクトが開発するオープンソースのWebサーバ。正式名称はApache HTTP Server。モジュールで機能を組み合わせ、許可された範囲では.htaccessでディレクトリ単位の設定もできる。

📌 このページのポイント
Apache HTTP Server ブラウザ Webサーバ 要求 応答 mod_rewrite モジュールと設定 で動作を決める HTMLなどを配信
要求と応答を受け持つWebサーバ。mod_rewriteは機能を組み合わせるモジュールの一例で、.htaccessの利用にはサーバ側の許可が必要。
ひよこ ひよこ
Apacheって何をするソフト?
ペンギン先生 ペンギン先生
ここではApache HTTP Serverのことだよ。ブラウザなどからHTTPリクエストを受け取り、設定に応じた内容を返すWebサーバなんだ。Apache Software Foundationには多数のプロジェクトがあるので、Apacheという名前だけでは別のソフトを指すこともあるよ。
ひよこ ひよこ
.htaccessを置けば設定を変えられる?
ペンギン先生 ペンギン先生
サーバ側のAllowOverrideやAllowOverrideListで許可されている必要があるよ。既定では.htaccessを読まない。許可された環境では、サーバ全体の設定を編集できない利用者も、ディレクトリごとに一部の動作を設定できるんだ。
ひよこ ひよこ
mod_rewriteは何に使うの?
ペンギン先生 ペンギン先生
URLなどの条件から、リクエストの扱いを変更するモジュールだよ。内部で処理先を書き換える場合と、ブラウザへ別のURLにアクセスするよう返すリダイレクトは違う。どの動作になるかは、書いたルールによるんだ。
ひよこ ひよこ
MPMって何?
ペンギン先生 ペンギン先生
接続をどのプロセスやスレッドで処理するかを担うモジュールだよ。preforkはスレッドを使わない方式で、workerやeventはスレッドも使う。Windowsではwinntなど、OSによって選択肢が異なる。動作中に使えるMPMは一つで、他のモジュールとの互換性も確認するよ。
ひよこ ひよこ
速くするには、設定を変えればいい?
ペンギン先生 ペンギン先生
まず負荷と待ち時間を測って、接続の処理方式やアプリ側の処理など、どこが詰まるかを調べよう。サーバ全体の設定を編集できるなら、.htaccessではなく主設定に書く方法が推奨されるよ。.htaccessの探索や読み込みには負担があり、設定を委ねる範囲の管理も必要なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Apache」って出てきたら「モジュールで機能を組み合わせるWebサーバ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Apache HTTP Server」 = Apacheという名前のHTTPサーバ
💬 ASFの公式な説明では、Apacheという名称は北米のApacheの人々への敬意に由来するよ。NCSA httpdへのパッチを持ち寄った開発の歴史もあるけれど、a patchy serverという語呂合わせを公式の由来と混同しないようにしよう。

参考資料

← 用語集にもどる