OSS探訪

Web配信・TLS・仮想ホスト・リバースプロキシをモジュール構成で運用する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
4,035
主要言語
C
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02
ページ内ナビ

概要

Apache HTTP Serverは、静的コンテンツ配信からTLS終端、VirtualHost、reverse proxy、load balancingまでを扱うWeb serverです。MPMと多数のmoduleを組み合わせ、用途に応じてprocess/threadモデルや機能を構成できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

VirtualHostとmoduleでWeb serverの役割を組み立てる

名前ベース・IPベースのVirtualHostで複数siteを分離し、rewrite、authentication、proxy、cacheなど必要なmoduleを有効化してserver構成を組み立てます。

出典:[1][3]

reverse proxyとload balancingでbackendへ中継する

mod_proxy系moduleを使うとHTTP系backendなどへrequestを中継でき、複数workerへ振り分けるload balancerとしても構成できます。application serverの前段でTLS終端やroutingを担当させる用途に使えます。

出典:[5]

MPMでprocessとthreadの実行モデルを選ぶ

Multi-Processing Moduleはconnection処理のprocess/threadモデルを定義します。platformや利用module、負荷特性に合わせてevent、worker、preforkなどのMPMを選びます。

出典:[6]

向いている用途

複数site・TLS・proxyを一つのserver層で管理したい環境に向く

静的file配信、企業内site、既存applicationへのreverse proxy、複数domainのVirtualHostなどを同じ設定体系で運用したい場合に適しています。

出典:[1][3]

導入前の確認

最新安定版は2.4.69で2.2系はEOL

2026年10月1日公開の2.4.69が現在のstable releaseです。2.2系は2017年にEOLとなっており、security updateは提供されません。

出典:[2]

source buildはAPR・APR-Util・PCRE2などの前提を確認する

Unix系でsourceからbuildする場合はC compiler、make、APR/APR-Util、PCRE2などが必要です。OS packageを使う場合は設定fileの場所やmodule構成がupstream documentと異なることがあります。

出典:[4]

設定変更前にsyntax checkとgraceful operationを使う

production設定ではhttpd -tまたはapachectl configtestでsyntaxを確認し、必要に応じてgraceful restartを使って既存connectionへの影響を抑えます。

出典:[7]

参考にした公式資料

  1. [1]Apache HTTP Server(2026-10-03)
  2. [2]Apache HTTP Server download(2026-10-03)
  3. [3]Apache HTTP Server 2.4 documentation(2026-10-03)
  4. [4]Compiling and Installing(2026-10-03)
  5. [5]mod_proxy(2026-10-03)
  6. [6]Multi-Processing Modules(2026-10-03)
  7. [7]httpd program reference(2026-10-03)
編集部からの補足

静的配信だけでなく、TLS終端やリバースプロキシ、複数サイトのVirtualHostまで一台でまとめたい場合に比較しやすいWeb serverです。OS packageを使う場合は公式source buildと設定ファイル配置が異なるため、運用手順はdistribution側の資料も合わせて確認してください。

3ステップで試す

  1. 1

    Apache HTTP Server 2.4.69を取得する

    公式releaseのsourceを展開します。production利用ではdownload pageの案内に従ってPGPまたはchecksumも検証してください。

    curl -LO https://dlcdn.apache.org/httpd/httpd-2.4.69.tar.gz && tar xzf httpd-2.4.69.tar.gz
  2. 2

    8080番port向けにbuildしてホームディレクトリへinstallする

    root権限を避ける最小例です。APR/APR-Util、PCRE2、C compiler、makeなどのbuild prerequisiteが必要です。

    cd httpd-2.4.69 && ./configure --prefix="$HOME/apache2" --with-port=8080 && make && make install
  3. 3

    serverを起動してlocalhostを確認する

    default documentが返れば最小動作確認は完了です。停止するときは$HOME/apache2/bin/apachectl -k stopを実行します。

    $HOME/apache2/bin/apachectl -k start && curl http://localhost:8080/
公式READMEで確認

成長

成長の推移 · 直近30日

4,035 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
119
Open PR
84

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • httpd
Stars
4,035
Forks
1,358
Watchers
255
Open Issues
0
Contributors
53
所有者種別
Organization
主要言語
C
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?