アパッシュ【(フランス)apache】
アパッチ【Apache】
Apache Web Server アパッチ・ウェブ・サーバ Apache
Apache
別名:Apache HTTP Server,Apache HTTPサーバ
Apacheとは、Apache Software Foundationが開発しているHTTPサーバーソフトウェアの名称である。オープンソースソフトウェアとして開発され、配布されている。
Apacheは、NCSA httpdと呼ばれるサーバーソフトウェアの不具合を修正するためのパッチ(a patch)を集積し、一個の独立したソフトウェアとして開発されたものだとされる。Apacheは現在、UNIX系の各種OS(UNIX、Linux、BSD)やWindows、NetWireをはじめ多くのプラットフォーム向けに提供されており、世界中で運用されているWebサーバーの半数以上で採用されているといわれる。
参照リンク
Apache HTTP server project - (英文)
JAPAN APACHE USERS GROUP - (英文)
Apache専用の関数
導入
以下の関数は、Apacheモジュール版のPHPを実行している場合のみ利用可能です。注意: PHP 4.3.2以降、
PATH_TRANSLATED
は、
Apache 2 SAPIでは暗黙のうちに設定されなく
なりました。これは、Apacheにより設定されない場合に
サーバ変数SCRIPT_FILENAME
と同じ値に設定される
Apache 1とは異なります。この変更は、
PATH_TRANSLATED
は
PATH_INFO
が定義されている場合のみ存在するべきであるという
CGIの規定を満たすために行われました。
Apache 2のユーザは、
PATH_INFO
を定義するために
httpd.confの中で
AcceptPathInfo = Onを使用してください。
インストール手順
PHPのApacheへのインストール方法については、インストールの章を参照してください。実行時設定
Apache PHPモジュールの動作は、php.iniの設定により影響を受けます。 php.iniの設定は、サーバの設定ファイル内の php_flag の設定 またはローカルなファイル .htaccessにより上書きすることができます。例 182. .htaccessによりあるディレクトリのPHPによるパー スを無効にする
php_flag engine off
表 17. Apache設定オプション
名前 | デフォルト | 変更の可否 | 変更履歴 |
---|---|---|---|
engine | "1" | PHP_INI_ALL | PHP 4.0.5 から利用可能 |
child_terminate | "0" | PHP_INI_ALL | PHP 4.0.5 から利用可能 |
last_modified | "0" | PHP_INI_ALL | PHP 4.0.5 から利用可能 |
xbit_hack | "0" | PHP_INI_ALL | PHP 4.0.5 から利用可能 |
PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
設定ディレクティブの短い説明を以下に示します。
- engine boolean
-
PHP によるパースのオン/オフを切り替えます。
このディレクティブは、Apacheモジュール版のPHPでのみ有効です。
このディレクティブは、ディレクティブ毎または仮想サーバ毎にPHPに
よるパースを有効または無効にしたいサイトで使用されます。
httpd.confファイルの適当な場所に
engine off
を置くことにより、PHPを有効また は無効にすることができます。 - child_terminate boolean
-
リクエストの終了時にPHPスクリプトが子プロセスの終了を指定するか
どうかを指定します。
apache_child_terminate()も参照してください。
- last_modified boolean
-
PHPスクリプトの修正日をこのリクエストのLast-Modified:ヘッダとし
て送信します。
- xbithack boolean
-
PHPがファイル終端を無視して実行ビットが設定されているファイルを
パースするようにします。
リソース型
リソース型は定義されていません。定義済み定数
定数は定義されていません。目次
- apache_child_terminate — このリクエストの後にApacheプロセスを終了する
- apache_get_modules — ロードされた Apache モジュールのリストを取得する
- apache_get_version — Apache のバージョンを取得する
- apache_getenv — Apache の subprocess_env 変数を取得する
- apache_lookup_uri — リクエストの一部を指定したURIに対して行い、全ての情報を返す
- apache_note — Apacheリクエスト記号(note)を取得/設定する
- apache_request_headers — HTTPリクエストヘッダを全て取得する
- apache_reset_timeout — Apache の書き込みタイマーをリセットする
- apache_response_headers — HTTPレスポンスヘッダを全て取得する
- apache_setenv — Apacheサブプロセスの環境変数を設定する
- ascii2ebcdic — ASCIIからEBCDICに文字列を変換する
- ebcdic2ascii — EBCDICからASCIIに文字列を変換する
- getallheaders — 全てのHTTPリクエストヘッダを取得する
- virtual — Apache サブリクエストを実行する
APACHE
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/10/13 08:07 UTC 版)
![]() | 出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 |
APACHE(Acute Physiology and Chronic Health Evaluation)とは、重症患者における臨床的な重症度指標。
1981年にヴァージニア大学医学部のWilliam.A.Knaus、Draper EA、Wagner DP、Zimmerman JEらによって発表された。
主にICU入院患者において重症度と予後の指標として作成。
その後1985年に改訂版として「APACHE II」が発表され、現在でも世界的に広く用いられている。
1991年には「APACHE III」が発表されている。
- APACHE II Calculator - Online
- Knaus WA, Draper EA, Wagner DP, Zimmerman JE (1985). “APACHE II: a severity of disease classification system”. Critical Care Medicine 13 (10): 818–29. doi:10.1097/00003246-198510000-00009. PMID 3928249. This is the first published description of the scoring system.
- Knaus WA, Wagner DP, Draper EA, Zimmerman JE, Bergner M, Bastos PG, Sirio CA, Murphy DJ, Lotring T, Damiano A, et al. (1991). “The APACHE III prognostic system. Risk prediction of hospital mortality for critically ill hospitalized adults”. Chest 100 (6): 1619–36. doi:10.1378/chest.100.6.1619. PMID 1959406.
- APACHE II score
Apache HTTP Server
![]() | |
開発元 | Apacheソフトウェア財団 |
---|---|
初版 | 1995年[1] |
最新版 | 2.4.63 - 2025年1月23日 [±] |
リポジトリ | |
プラットフォーム | クロスプラットフォーム |
種別 | Webサーバ |
ライセンス | Apache License、2023年5月現在はApache License 2.0[2] |
公式サイト | https://httpd.apache.org/ |
Apache HTTP Server(アパッチ エイチティーティーピー サーバ)は、Apache License2.0の条件でリリースされる自由でオープンソースのクロスプラットフォームのWebサーバソフトウェアである。Apache はApacheソフトウェア財団の支援のもと、開発者のオープンコミュニティによって開発・保守されている。
Apache HTTP サーバのインスタンスの大部分は Linuxディストリビューション上で動作するが、現在のバージョンは Microsoft Windows や様々な Unixライクなシステム上でも動作する。過去のバージョンでは、OpenVMS、NetWare、OS/2、メインフレームへの移植を含む他のオペレーティングシステムでも動作した。
元々は NCSA HTTPdサーバをベースにしていたが、NCSAコードの作業が停滞した後、1995 年初頭にApache の開発が始まった。Apache はWorld Wide Webの最初の成長において重要な役割を果たし、支配的な HTTP サーバとしてすぐに NCSA HTTPd を追い抜き、1996 年 4 月以来、最も人気のあるサーバであり続けている。2009年には、1億以上のウェブサイトにサービスを提供する最初のウェブサーバーソフトウェアとなった。2020年4月現在、Netcraftの推定では、Apacheは最もアクセスの多い100万のウェブサイトの29.12%のサーバーで利用され、Nginxは25.54%で利用されている。W3Techsによると、Apacheは上位1000万サイトの39.5%で利用され、Nginxは31.7%で利用されている。
歴史
- 1995年
- Webサーバソフトウェアは欧州原子核研究機構 (CERN) のティム・バーナーズ=リーが開発したCERN httpdと米国立スーパーコンピュータ応用研究所 (NCSA) が開発したNCSA HTTPdの2種類があった。NCSA HTTPdは初めてCGIを採用するなど、非常に普及していたが、その後ほとんどメンテナンスが行われなくなり、放置されていた。そこで、何人かの有志が改良とサポートを行うためのグループを作り、自分たちを「Apache Group」と名付けた。しかし、彼等もその後プロジェクトに興味を失ってしまい、再度放置されかけた。
- 1999年以降
- 放置されかけたのち、1999年にユーザーの一人だったBrian Behlendorfが自分のサーバを使ってユーザーのためのメーリングリストを立ち上げた。これが現在のApacheソフトウェア財団の母体になっている。ただし、現在のApacheのソースコードはApacheソフトウェア財団によって完全に書き換えられており、NCSA HTTPdのコードは残っていない。
特徴
サポート
バージョン | 初版 | 最新版 |
---|---|---|
1.3 | 1998-06-06[3] | 2010-02-03 (1.3.42)[4] |
2.0 | 2002-04-06[5] | 2013-07-10 (2.0.65)[6] |
2.2 | 2005-12-01[7] | 2017-07-11 (2.2.34)[8] |
2.4 | 2012-02-21[9] | 2025-01-23 (2.4.63)[10] |
サポート終了 現行バージョン |
2018年3月現在、Apacheの公式ページでは2.4系のみを推奨リリースとしている [11]。
1.3系、2.0系、2.2系を含む古い系列は、アーカイブ・サイト[12]からダウンロードできる。
モジュールによる機能追加
Apacheの機能はモジュールを追加することで拡張できる。Apacheの核となる「Core」がまずあり、そこへモジュールを追加して機能を拡張する。モジュール名は慣習的に「mod_XXX」と付けられる。XXXは機能の概要名である。例えば「mod_dir」「mod_alias」「mod_setenvif」などとなる。
モジュールは「静的リンク」または「動的リンク」により追加できる。静的リンクとは、Apacheの実行ファイルそのものにモジュールを組み込む方式である。つまりApacheとモジュールはバイナリ的に一体化して動作する。動的リンクとは、モジュールを別ファイルとして作成し、必要に応じてモジュールのファイルから機能を呼び出す方式である。この機能を「DSO(Dynamic Shared Object=動的共有オブジェクト)」と呼ぶ。動的リンクの機能を利用するためには、あらかじめ「mod_so」モジュールを静的リンクしておく必要がある。
動的リンクはモジュール機能の呼び出しで静的リンクよりも負荷が高くなる(オーバーヘッドがかかる)デメリットがあるが、再起動のみでモジュールを組み入れたり外したりできるメリットがある。 逆に静的リンクは高速にモジュール機能を呼び出せるが、モジュールを入れたり外すためにはApache本体を再コンパイルする必要がある。
プロセスの挙動 (MPM)
Apacheは数多くのOSをサポートするために、MPM(マルチ プロセッシング モジュール)という仕組みをとっている。これにより、利用するOSに最適化されたApacheを容易に組み込むことができる。
Unix系においては、プロセス・スレッドの挙動が異なる3つのMPMが利用できる。
- prefork
- preforkは「スレッドを使わず、先行して fork を行なうウェブサーバ」である。Apacheは伝統的に親プロセスを1つ持ち、クライアントからリクエストが来ると自分自身をコピーして子プロセスを起動する(これをforkという)。実際の通信は子プロセスが受け持つ。そのため、通信している数だけ子プロセスが起動することになる。この時、クライアントからリクエストを受けたあとでforkするとfork完了までに待ち時間が出来て通信のパフォーマンスが遅くなる。そのため、あらかじめいくつかの子プロセスをforkしておき、forkの待ち時間をなくす方式をとっている。この方式が「prefork」である。すなわち“pre(=前もって・先行して)”forkしておく、という意味である。
- preforkのメリットは、forkされた子プロセス1つ1つが対応する通信を受け持つため、ある子プロセスが何らかの原因でフリーズしたとしても、他の子プロセスには影響を及ぼすことが無く通信を継続できる。このため安定した通信を行うことが出来る。一方、クライアントが多くなればなるほど子プロセスの数も増えるため、使用メモリ量やCPU負荷が比例的に増大していく。preforkで多数のクライアントをさばくには、それに応じた大量のメモリと高速なCPUが必要となる。
- worker
- workerは「マルチスレッドとマルチプロセスのハイブリッド型サーバ」である。Apacheの子プロセス1つ1つがマルチスレッドで動作し、スレッド1つが1つのクライアントを受け持つ方式である。すなわち、1つのプロセスがマルチスレッドを利用して複数の通信の面倒を見る。この点で1つのプロセスが1つの通信をみるpreforkとは異なる。また多くの子プロセスを起動せずに済むため、メモリの使用量も減らすことが出来る。
- event
- eventはworkerの一種でマルチスレッドで動作する。workerとの違いはKeep-Alive(持続的接続)の処理方法である。workerやpreforkは、Keep-Aliveの持続性を保つために一度利用したスレッド・プロセスをそのまま待機させている。しかしクライアントからの接続が持続的に行われる可能性は保証されているわけではないから、待機していること自体が無駄になる可能性もある。そこで、Keep-Aliveの処理を別のスレッドに割り振って通信を処理する。
- この方式は長らく実験的サポートであったが、2.4.1にて正式に採用された[13]。
このほか、Netware、OS/2、Windows向けにそれぞれ専用のMPMが用意されている。
利用形態
Apacheは、主にワールドワイドウェブ上で静的または動的なコンテンツを公開するために使われる。多くのウェブアプリケーションは、Apacheが提供する環境と機能を想定して設計されている。また、ApacheはLAMP (Linux、Apache、MySQL、PHP/Perl/Python) や LAPP (Linux、Apache、PostgreSQL、PHP/Perl/Python) と呼ばれる非常に人気のあるウェブサーバコンポーネントの一つでもある。読み方はそれぞれLAMP(ランプ)、LAPP(ラップ)である。さらに、Apacheはいろいろな商用パッケージ、例えばOracle Databaseに組み込まれており、macOSやNetWare 6.5の標準Webサーバにもなっている。
特殊な形態
Apacheでは、FreeBSDのカーネルと連動し、最高の性能を引き出す特殊な動作形態をサポートしている[14][15]。 これはFreeBSDをHTTPサーバに特化するという運用形態を想定したもので、FreeBSD及びApacheの両者に設定が必要であり、共にインストール直後の標準設定ではサポートされない。
基本的な動作は、LinuxのTUX web serverやWindowsのInternet Information Servicesなどに近い実装であり、通信バッファのカーネルからの直接的な読込やkqueueなど多岐にわたり、一部のみ利用ということも可能になっている。
同形態はLinuxにおけるサポートも検討されたが、あまりに特殊であるため未実装となっている。[独自研究?]
脚注
- ^ “About the Apache HTTP Server Project”. Apacheソフトウェア財団. 2013年5月30日閲覧。
- ^ “Licenses”. www.apache.org. 2023年5月11日閲覧。
- ^ "Announcement: Apache 1.3.0 Released !" (英語). 6 June 1998. 2015年1月6日閲覧。
- ^ "Apache HTTP Server 1.3.42 released (final release of 1.3.x)". apache.org (英語). 2020年5月27日閲覧。
- ^ "Official Release: Apache 2.0.35 is now GA" (英語). 6 April 2002. 2015年1月6日閲覧。
- ^ "[Announcement] Apache HTTP Server 2.0.65 Released". apache.org (英語). 2020年5月27日閲覧。
- ^ "Apache HTTP Server 2.2.0 Released" (英語). 1 December 2005. 2015年1月6日閲覧。
- ^ "[Announce] Apache HTTP Server 2.2.34 Released". apache.org (英語). 2020年5月27日閲覧。
- ^ "[ANNOUNCEMENT] Apache HTTP Server 2.4.1 Released" (英語). 21 February 2012. 2015年7月17日閲覧。
- ^ "Apache HTTP Server 2.4.63 Released". apache.org (英語). 2025年1月29日閲覧。
- ^ “Welcome! - The Apache HTTP Server Project”. 2018年3月17日閲覧。
- ^ “archive.apache.org”. 2018年3月17日閲覧。
- ^ “Apache HTTP Server、6年ぶりのメジャーアップデート版「2.4.1」リリース”. SourceForge.JP (2012年2月22日). 2012年2月23日閲覧。
- ^ “accf_http”. 2013年6月5日閲覧。
- ^ “Apache コア機能 AcceptFilter ディレクティブ”. 2016年10月10日閲覧。
関連項目
- IBM HTTP Server
- nginx
- Microsoft Internet Information Services
- オープンストリートマップ (OpenStreetMap) - Apacheのモジュールmod_tileの機能を利用している。
- Webサーバ
外部リンク
Apache
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/10 23:50 UTC 版)
「アパッチ (曖昧さ回避)」の記事における「Apache」の解説
アパッチ族 - アメリカインディアンの部族名。 上記に由来する名称アパッチ郡 (アリゾナ州) - アメリカ合衆国アリゾナ州にある郡。 アパッチ (1954年の映画) - 1954年のアメリカ映画。バート・ランカスター主演。原題:Apache。 アパッチ (シャドウズの曲) - イギリスのバンド、シャドウズが1960年に発表した曲。上記の映画が題材。 アパッチロケット - 固体燃料ロケットの一形式。ナイキ・アパッチ参照。 AH-64 アパッチ - アメリカ軍の攻撃ヘリコプター。アパッチ (1990年の映画) - 上記のヘリコプターを題材とした1990年のアメリカ映画。原題:Fire Birds。 WAH-64 アパッチ - イギリス陸軍の攻撃ヘリコプター。上記ヘリコプターのライセンス生産。 Apacheソフトウェア財団 - オープンソースソフトウェアの開発を推進する非営利団体。Apache - 上記財団が開発するWebサーバソフトウェア、Apache HTTP Serverの略称。 Apache License - 上記財団によるライセンス規定。 アパッチ - ホットコーラのこと。インディアンが飲用していた飲み物(コーラナッツと砂糖を炒め、水で煮出したもの)に由来。 アパッチ族 - 第二次世界大戦後の日本において、陸軍造兵廠跡・工場跡などから鉄くずなどを不法に回収する人々を呼んだ俗称。アパッチ族を題材とした小説に、開高健『日本三文オペラ』、小松左京『日本アパッチ族』、梁石日『夜を賭けて』などがある。 アパッチ野球軍 - 花登筺原作・梅本さちお作画による漫画および、それを原作としたアニメ作品。 東京アパッチ - かつて存在した日本のバスケットボールチーム。 APACHE - 医学用語。重症患者の重症度指数。Acute Physiology and Chronic Health Evaluationの略。 団体APACHE (アダルトビデオ) - 日本のアダルトビデオメーカー。HHHグループ。 アパッチ (芸能プロダクション) - 日本の芸能プロダクション。大森南朋らが所属。 アパッチプロレス軍 - かつて存在した日本のプロレス団体。 人名アパッチ (音楽グループ) - 1976年にデビューした日本の3人組アイドルグループ。 アパッチけん - 日本の俳優、中本賢の旧芸名。 Mr.アパッチ - 日本のジャグリングパフォーマー。
※この「Apache」の解説は、「アパッチ (曖昧さ回避)」の解説の一部です。
「Apache」を含む「アパッチ (曖昧さ回避)」の記事については、「アパッチ (曖昧さ回避)」の概要を参照ください。
- Apacheのページへのリンク