アパッシュ【(フランス)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)』 (2017/09/18 23:37 UTC 版)
「YEBISUセレブリティーズ」の記事における「APACHE」の解説
『Yebisu Graphics』のクライアントで担当は久家。谷地猛流がフランスで立ち上げたファッションブランド。デビュー10周年を迎える。『APACHE』(無頼漢)名の通り、小さく野生的な感じの服作りが若者の間で人気が高い。パリコレの常連で、プレス関係者たちからもその評価は高い。日本ではAPACHEの評価がトレンドの指標となっている。 谷地猛流(やち たける) 声 - 土田大 『APACHE』オーナー兼デザイナー。無精髭を生やし、右耳にピアスをつけた大柄な男。バリタチのゲイでその界隈ではかなりの有名人。放浪癖があり、東京には年の三分の一も滞在せず東京とパリを二大拠点に、常にインスピレーションを求めて各国を放浪する生活をしている。久家とは初対面の頃から気が合い、兄貴分としてプライベートでも飲みにいったりする仲。『人生のプライオリティは仕事が一番、恋愛は二の次』を信条にしている。特定の恋愛の相手は作らず、一夜限りの関係を好む。
※この「APACHE」の解説は、「YEBISUセレブリティーズ」の解説の一部です。
「APACHE」を含む「YEBISUセレブリティーズ」の記事については、「YEBISUセレブリティーズ」の概要を参照ください。
- APACHEのページへのリンク