オープンソースのウェブサーバーソフトウェア
Apache HTTP Serverは、 Apache License 2.0 に基づいてリリースされた、 無料かつオープンソースの クロスプラットフォーム Webサーバー です。Apache Software Foundation の支援の下、開発者コミュニティによって開発および保守されています 。
Apache HTTP Serverインスタンスの大部分は Linuxディストリビューション [5] 上で動作しますが、現在のバージョンはMicrosoft Windows[6]、[OpenVMS]、[7]、そして様々なUnix系システム上でも動作します 。 過去 の バージョン は NetWare 、 OS / 2、その他のオペレーティングシステム[8]上でも動作し 、 メイン フレーム へ の 移植版も含まれています [9] 。
Apacheは元々 NCSA HTTPd サーバーをベースに開発され、NCSAコードの開発が停滞した後、1995年初頭に開発が開始されました。 [10] Apacheは ワールドワイドウェブ の初期の成長に重要な役割を果たし 、 [11] NCSA HTTPdを急速に追い抜いて HTTP サーバーの地位を奪いました。2009年には、1億以上の ウェブサイトに サービスを提供した最初のウェブサーバーソフトウェアとなりました。 [12]
2025年3月時点で [アップデート] 、 Netcraftは Apacheが最もアクセス数の多いウェブサイト100万件の17.83%を扱っており、その他の上位4社は Cloudflare が22.99%、 Nginx が20.11%、 Microsoft Internet Information Servicesが 4.16%と推定している。 [13] W3Techsによる全ウェブサイトのレビューによると、2025年4月時点でApacheは26.4%で2位、Nginxが33.8%で1位、Cloudflare Serverが23.5%で3位となっている。 [14]
名前
アパッチソフトウェア財団 によると 、その名前は「 優れた戦略スキルと尽きることのない忍耐力で知られる、総称して アパッチ と呼ばれる様々な ネイティブアメリカンの部族への敬意から」選ばれたとのことです。 [15]これは、オープンソースコードの自由な交換に基づくオープンインターネットが、プロプライエタリソフトウェアベンダーである マイクロソフト による一種の征服にすぐにさらされそうになった状況の中でのことでした。 アパッチの共同作成者であり、 名前の考案者である ブライアン・ベーレンドルフは 、自分の努力が最後の自由アパッチ族の族長 ジェロニモの努力といくらか似ていると考えていました。 [16] [17] しかし、財団は、その名前が「 一連の パッチ で作られたサーバーである「パッチだらけの ウェブサーバー」をかたどったかわいい ダジャレ でもある」とも認めています。
他の情報源によると、Apacheの名前は「patchy」をもじったものだったという。1995年のプロジェクトの公式文書には、「Apacheはかわいい名前で定着しました。既存のコードと一連のソフトウェアパッチに基づいており、「A PAtCHy」サーバーをもじったものです」と書かれていた。 [18] [19] この文書では、Apacheの名前の文脈でネイティブアメリカンの部族について言及されていなかった。
しかし、2000年4月のインタビューで、ベレンドルフはApacheの起源はダジャレではないと主張し、次のように述べています。 [20]
名前は文字通り、唐突に思いつきました。素晴らしいアイデアだと言いたいところですが、唐突でした。あるページに載せて、数ヶ月後、このプロジェクトが始まった時に、みんなにこのページを見せて「ねえ、このアイデアはどう思う?」と尋ねたんです。…ある人が、名前が気に入ったし、すごくいいダジャレだと言ってくれたんです。私は「ダジャレ?どういう意味?」と聞き返しました。彼は「だって、ソフトウェアパッチをいくつも使って サーバー を作っているんだもん。だから、パッチだらけのウェブサーバーってことでしょ?」と言いました。私は「ああ、いいわ」と答えました。…名前を思いついた時は、そうではありませんでした。ただ、「捕虜を取らない。アグレッシブに、そして果敢に挑め」という意味合いだったんです。
2023年1月、米国を拠点とする非営利団体Natives in Techは、Apache Software Foundationを 文化盗用 で非難し、財団の名称と、それに伴う同財団がホストするソフトウェアプロジェクトの名称も変更するよう求めた。 [21] [22]
ApacheがUnix で動作している場合 、そのプロセス名は「HTTP デーモン httpd」の略称である 。 [23]
機能の概要
Apacheは様々な機能をサポートしており、その多くは コア機能を拡張する コンパイル済み モジュールとして実装されています。これらの機能は、 認証スキームから、 Perl 、 Python 、 Tcl 、 PHP などの サーバーサイド プログラミング言語のサポートまで多岐にわたります 。一般的な認証モジュールには、mod_access、mod_auth、mod_digest、そしてmod_digestの後継であるmod_auth_digestなどがあります。その他の機能としては、 Secure Sockets Layer (SSL)および Transport Layer Security (TLS)のサポート( mod_ssl )、 プロキシ モジュール( mod_proxy )、 URL書き換え モジュール(mod_rewrite)、カスタムログファイル(mod_log_config)、フィルタリングサポート(mod_includeおよびmod_ext_filter)などがあります。
Apacheでよく使われる圧縮方法には、 HTTP 経由で配信されるWebページのサイズ(重量)を削減するために実装された外部拡張モジュールmod_gzipがあります。ModSecurity は 、 Webアプリケーション用のオープンソースの侵入検知および防止エンジンです。Apacheのログは、 AWStats / W3Perl やVisitors
などの無料スクリプトを使用してWebブラウザから分析できます。
仮想ホスティングにより、1つのApacheインストールで複数の異なる ウェブサイト を提供できます 。例えば、1台のコンピュータに1つのApacheをインストールすれば、同時に、、などを提供 example.comでき example.orgます test47.test-server.example.edu。
Apache は、設定可能なエラー メッセージ、 DBMS ベースの認証データベース、 コンテンツ ネゴシエーション を備えており、いくつかの グラフィカル ユーザー インターフェイス (GUI) をサポートしています。
パスワード認証と デジタル証明書 認証をサポートしています。ソースコードは無料で公開されているため、誰でも特定のニーズに合わせてサーバーをカスタマイズでき、Apacheアドオンの大規模な公開ライブラリも提供されています。 [24]
機能のより詳細なリストを以下に示します。
Apacheは単一のアーキテクチャを実装するのではなく、様々なマルチプロセッシングモジュール(MPM)を提供しています。これにより、 プロセス ベースモード、ハイブリッド(プロセスと スレッド )、イベントハイブリッドモードのいずれかで実行することができ、それぞれのインフラストラクチャの要求により適切に対応できます。そのため、MPMの選択と設定は重要です。
静的ページの配信に関しては、Apache 2.2シリーズは nginx や varnish よりも大幅に遅いと考えられていました。 [41]この問題を解決するために、Apache開発者はEvent MPMを作成しました。これは、 非同期 イベントベースのループ で複数のプロセスとプロセスごとに複数のスレッドの使用を組み合わせます 。 [42] [ 説明が必要 ] Jim Jagielski 氏や他の独立した情報源 によると、Apache 2.4シリーズで実装されたこのアーキテクチャは、少なくともイベントベースのWebサーバーと同等のパフォーマンスを発揮します。 [43] [44] [45] しかし、いくつかの独立した、しかしかなり古いベンチマークでは、nginxの半分の速度であることが示されています。例: [46]
ライセンス
Apache HTTP Serverの コードベースは2004年1月に Apache 2.0ライセンス (以前の1.1ライセンスから) に 再ライセンス され、 [47] Apache HTTP Server 1.3.31と2.0.49が 新しいライセンスを使用した最初の リリースとなった。 [48]
OpenBSDプロジェクト は この変更を気に入らず、Apache 2.0以前のバージョンの使用を継続し、事実上 Apache 1.3.x をフォークして独自に開発しました。 [49] [50] [51]当初は Nginx に置き換えましたが 、その後すぐにRelaydプロジェクトをベースにした独自の代替版であるOpenBSD Httpdを開発しました。 [52] [53] [54] [55]
バージョン
バージョン 1.1: Apache ライセンス 1.1 は、2000 年に ASF によって承認されました。1.0 ライセンスからの主な変更点は、「広告条項」(1.0 ライセンスのセクション 3) にあります。派生製品では、広告資料に帰属表示を含める必要がなくなり、ドキュメントにのみ帰属表示を含めればよくなりました。
バージョン 2.0: ASF は 2004 年 1 月に Apache License 2.0 を採用しました。ライセンスの目標として、ASF 以外のプロジェクトでもライセンスを使いやすくすること、GPL ベースのソフトウェアとの互換性を向上させること、ライセンスをすべてのファイルにリストするのではなく参照として含めることを可能にすること、貢献に対するライセンスを明確にすること、貢献者自身の特許を必然的に侵害する貢献に対して特許ライセンスを要求することなどが含まれていました。
発達
Apache HTTP Serverプロジェクトは、堅牢で商用グレード、豊富な機能を備え、自由に利用可能なソースコード実装のHTTP(Web)サーバーの開発を目指す共同ソフトウェア開発プロジェクトです。このプロジェクトは、世界中のボランティアグループによって共同で運営されており、インターネットとWebを介して、サーバーおよび関連ドキュメントのコミュニケーション、計画、開発を行っています。このプロジェクトは Apache Software Foundation の一部です。さらに、数百人のユーザーがアイデア、コード、ドキュメントをプロジェクトに提供しています。 [64] [65] [66]
Apache 2.4では BeOS 、 TPF 、 A/UX 、 NeXT 、 Tandem プラットフォームのサポートが廃止されました。 [8]
安全
Apacheの古いバージョンは、 Slowloris と呼ばれる サービス拒否攻撃 に対して脆弱でした。この攻撃は、多数の部分的に完了したリクエストを同時に生成し、サーバーの利用可能な接続プールを枯渇させます。 [67] Apache 2.2.15以降、Apacheは開発者によってサポートされている公式の解決策としてモジュールmod_reqtimeoutを出荷しています。 [68]
参照
参考文献
^ 「Apache HTTP Serverプロジェクトについて」 Apache Software Foundation . 2008年6月7日時点のオリジナルよりアーカイブ。 2008年6月25日 閲覧 。
^ 「[お知らせ] Apache HTTP Server 2.4.65 リリース」。2025年7月23日。 2025年 7月24日 閲覧 。
^ 「Apache Software Foundation Index: Projects by Programming Language Index」。2016年3月2日時点のオリジナルよりアーカイブ 。 2016年2月27日 閲覧。
^ 「コンパイルとインストール」 httpd.apache.org . The Apache Software Foundation. 2016年5月7日時点のオリジナルよりアーカイブ 。 2016年 5月9日 閲覧。
^ 「Apacheを使用するOS/Linuxディストリビューション」 secure1.securityspace.com . 2018年9月18日時点のオリジナルよりアーカイブ 。 2018年9月17日 閲覧。
^ 「プラットフォーム固有の注意事項 - Apache HTTP Server バージョン 2.4」。httpd.apache.org 。 2019年1月22日時点のオリジナルよりアーカイブ。 2019年1月21日 閲覧 。
^ “Secure Web Server”. vmssoftware.com . 2020年10月22日時点のオリジナルよりアーカイブ 。 2020年10月20日 閲覧。
^ ab “2.2から2.4へのアップグレード”. 2021年5月10日時点のオリジナルよりアーカイブ 。 2021年5月12日 閲覧。BeOS 、TPF、さらにはA/UX、Next、Tandemといった古いプラットフォームのサポートが削除されました。これらのプラットフォームはいずれにしても壊れていると考えられていました。
^ 「Apache EBCDIC ポート - Apache HTTP Server バージョン 2.4」 httpd.apache.org . 2019年2月27日時点のオリジナルよりアーカイブ。 2019年8月16日 閲覧 。
^ 「Apache HTTP Serverプロジェクトについて - Apache HTTP Serverプロジェクト」 httpd.apache.org . 2024年2月8日 閲覧 。
^ Netcraft Market Share アーカイブ 2010-05-20 ウェイ バックマシン 全ドメインのトップサーバー 1995年8月 - 現在 (毎月更新)
^ “February 2009 Web Server Survey”. Netcraft . 2009年2月18日. 2009年2月26日時点のオリジナルよりアーカイブ。 2009 年3月29日閲覧 。
^ “2025年3月 Webサーバー調査”. Netcraft News . 2025年3月25日. 2025年4月1日時点のオリジナルよりアーカイブ。 2025年4月14日 閲覧 。
^ 「Webサーバーの使用統計」 w3techs.com . 2025年4月14日 閲覧 。
^ “Apache Foundation”. www.apache.org . 2021年12月13日時点のオリジナルよりアーカイブ 。 2018年 8月22日 閲覧。
^ 「The Apache Software Foundationのドキュメンタリー特集『Trillions and Trillions Served』」TheApacheFoundation / Youtube. 2020年。2021年11月22日時点のオリジナルよりアーカイブ。
^ 「信頼の基盤:ブロックチェーンの未来を築く:ブライアン・ベーレンドルフ」Long Now Foundation / YouTube. 2020年2月10日. 2021年11月22日時点のオリジナルよりアーカイブ。
^ “Information on the Apache HTTP Server Project”. 1997年4月15日. 1997年4月15日時点のオリジナルよりアーカイブ。
^ 「Apache Server よくある質問」。1997年1月6日時点のオリジナルよりアーカイブ 。 2017年 1月15日 閲覧。
^ McMillan, Robert (2000年4月15日). 「Apache Power」. Linux Magazine . 2019年1月28日時点のオリジナルよりアーカイブ。
^ Claburn, Thomas (2023年1月11日). 「ネイティブアメリカンがアパッチ財団に名称変更を要請」 The Register . 2023年1月12日時点のオリジナルよりアーカイブ。 2023年1月12日 閲覧 。
^ Purdy, Kevin (2023年1月12日). 「先住民族の技術グループがApache Foundationに名称変更を要請」 Ars Technica . 2023年1月12日時点のオリジナルよりアーカイブ。 2023年1月12日 閲覧 。
^ “Apache Docs”. httpd.apache.org . 2018年9月5日時点のオリジナルよりアーカイブ 。 2018年 8月22日 閲覧。
^ “Apache Web Server”. webopedia.com . 1998年3月23日. 2021年5月12日時点のオリジナルよりアーカイブ 。 2021年 5月12日 閲覧。
^ 「Apache HTTP Serverチュートリアル:.htaccessファイル」Apache.org. 2016年2月25日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ "mod_proxy". Apache.org. 2018年7月29日時点のオリジナルよりアーカイブ。 2016年2月19日 閲覧 。
^ "mod_proxy_balancer". Apache.org. 2016年2月13日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ “Balancer Manager”. Apache.org. 2016年3月4日時点のオリジナルよりアーカイブ。 2016年2月19日 閲覧 。
^ “認証と認可”. Apache.org. 2018年1月31日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ "mod_rewrite". Apache.org. 2016年2月13日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ "mod_headers". Apache.org. 2016年2月21日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ "mod_sed". Apache.org. 2016年3月4日時点のオリジナルよりアーカイブ。 2016年2月19日 閲覧 。
^ "mod_substitute". Apache.org. 2016年3月4日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ 「Apache httpdチュートリアル:サーバーサイドインクルード入門」Apache.org. 2016年2月18日時点のオリジナルよりアーカイブ。 2016年2月19日 閲覧 。
^ "mod_usertrack". Apache.org. 2021年5月12日時点のオリジナルよりアーカイブ 。 2021年5月12日 閲覧。
^ 「Apacheチュートリアル:CGIによる動的コンテンツ」Apache.org. 2021年11月15日時点のオリジナルよりアーカイブ。 2016年2月19日 閲覧 。
^ 「ユーザーごとのウェブディレクトリ」Apache.org. 2016年2月16日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ 「Apache HTTP Serverの式」Apache.org. 2016年2月29日時点のオリジナルよりアーカイブ。 2016年2月19日 閲覧 。
^ "mod_status". Apache.org. 2016年2月13日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ “Apache Module: mod_ftp”. Apache.org. 2017年7月10日時点のオリジナルよりアーカイブ 。 2017年7月8日 閲覧。
^ 「静的ファイルの提供:Apache、Nginx、Varnish、G-WANの比較」 Spoot! 2011年3月14日。2014年4月24日時点のオリジナルよりアーカイブ。 2014年 4月23日 閲覧 。
^ “worker - Apache HTTP Server バージョン 2.2”. apache.org . 2021年5月10日時点のオリジナルよりアーカイブ。 2021年5月12日 閲覧 。
^ 「Apache httpd 2.4」 (PDF) 。 2012年1月27日時点のオリジナルより アーカイブ (PDF) 。 2012年2月8日 閲覧 。
^ “Picking a Proxy Server”. 2014年4月14日. 2016年3月3日時点のオリジナルよりアーカイブ。 2016年 2月19日 閲覧 。
^ “Apache 2.4.1のスループット評価”. 2012年2月22日. 2016年3月2日時点のオリジナルよりアーカイブ 。 2016年2月19日 閲覧。
^ 「イベントMPMを使用したApache 2.4のパフォーマンスとNginxの比較」 eschrade.com 2014年1月3日。2014年3月13日時点のオリジナルよりアーカイブ 。 2014年 3月13日 閲覧。
^ 「Apacheライセンス バージョン2.0」。Apacheソフトウェア財団。2004年1月。2013年5月18日時点のオリジナルよりアーカイブ。 2013年5月21日 閲覧 。
^ Burton, Richard Antony. 「FYI: Apache HTTP Server 2.0.49 リリース」. ニュースグループ : alt.apache.configuration . 2018年2月16日 閲覧。
^ de Raadt, Theo (2004年2月18日). 「新しいApacheライセンス」. openbsd-misc (メーリングリスト) . 2013年5月21日 閲覧 。
^ “著作権ポリシー”. OpenBSD. 2017年11月13日時点のオリジナルよりアーカイブ 。 2013年5月12日 閲覧。
^ “apache-httpd-openbsd-1.3.20140502p2 – OpenBSD 向け Apache 1.3 の改良版およびセキュリティ強化版”. OpenBSD ports . 2015年3月2日時点のオリジナルよりアーカイブ。 2014年12月28日 閲覧 。
^ Marvin, Rob (2015年3月25日). 「OpenBSDの新しいhttpd Webサーバーの内部」. SD Times . 2019年10月12日時点のオリジナルよりアーカイブ。 2019年 10月12日 閲覧 。
^ 「OpenBSD アップグレードガイド: 5.1 から 5.2」 。openbsd.org 。2017年12月22日時点のオリジナルよりアーカイブ 。 2014年3月13日 閲覧。
^ jj編 (2014年3月14日). 「Heads Up: Apache Removed from Base」 OpenBSD Journal . 2014年10月18日時点のオリジナルよりアーカイブ。 2014年12月29日 閲覧 。
^ 「OpenBSD アップグレードガイド: 5.5 から 5.6」 。openbsd.org 。2014年12月22日時点のオリジナルよりアーカイブ。 2014年12月29日 閲覧 。
^ “アナウンスメント: Apache 1.3.0 リリース!”. 1998年6月6日. 2018年12月11日時点のオリジナルよりアーカイブ 。 2015年1月6日 閲覧。
^ “Apache HTTP Server 1.3.42 リリース (1.3.x の最終リリース)”. apache.org . 2015年3月11日時点のオリジナルよりアーカイブ。 2015年1月6日 閲覧 。
^ “Official Release: Apache 2.0.35 is now GA”. 2002年4月6日. 2018年12月12日時点のオリジナルよりアーカイブ。 2015年1月6日 閲覧 。
^ 「[アナウンス] Apache HTTP Server 2.0.65 リリース」 apache.org . 2015年7月28日時点のオリジナルよりアーカイブ。 2015年1月6日 閲覧 。
^ “Apache HTTP Server 2.2.0 Released”. 2005年12月1日. 2018年12月12日時点のオリジナルよりアーカイブ 。 2015年1月6日 閲覧。
^ 「[アナウンス] Apache HTTP Server 2.2.34 リリース」 apache.org . 2020年8月21日時点のオリジナルよりアーカイブ 。 2019年4月3日 閲覧。
^ “[ANNOUNCEMENT] Apache HTTP Server 2.4.1 Released”. 2012年2月21日. 2021年2月12日時点のオリジナルよりアーカイブ。 2015年7月17日 閲覧 。
^ 「Apache HTTP Server 2.4.65 リリース」。apache.org 。 2025年7月29日 閲覧 。
^ Documentation Group. 「Apache HTTP Serverプロジェクトについて - Apache HTTP Serverプロジェクト」. apache.org . 2008年6月7日時点のオリジナルよりアーカイブ。 2021年5月12日 閲覧 。
^ “The Apache HTTP Server Open Source Project on Ohloh. (nd). Ohloh, the open source network. 2012年11月12日閲覧。2012年3月9日時点のオリジナルよりアーカイブ。 2012年 2月8日 閲覧 。
^ 「第4章 Apache HTTP Server」. fedoraproject.org . 2012年11月25日時点のオリジナルよりアーカイブ 。 2012年12月3日 閲覧。
^ Zdrnja, Bojan (2009年6月21日). 「Apache HTTP DoSツールによる緩和策」. SANS Institute . 2021年11月12日時点のオリジナルよりアーカイブ 。 2021年 11月12日 閲覧。
^ "mod_reqtimeout". Apache.org. 2013年7月3日時点のオリジナルよりアーカイブ 。 2013年7月3日 閲覧。
外部リンク
WikibooksにはApache に関する書籍があります