Apacheとは?

Weblio 辞書 > コンピュータ > PHP用語 > Apacheの意味・解説 

LAPP(ラップ)


アパッシュ [2]フランス apache】


アパッチ [2] 【Apache】

アメリカ合衆国のアリゾナ・ニューメキシコなどの州に居住するネーティブ-アメリカン一部族。最後まで国家支配抵抗
WWW サーバー構築するためのソフトウエアの一。フリー-ソフトウエアとして流通している。 〔オープン-ソフトウエア運動の中で多く改良(a patch)が加えられてきたことからの称〕

Apache Web Server アパッチ・ウェブ・サーバ Apache

【同】 アパッチ・ウェブ・サーバ、Apache

NCSA米国スーパーコンピューティング応用研究センター)で開発されたWebサーバーソフトhttpd 1.3」をベースに、HTTP Apache Server Project において米国のアパッチグループによって改良されたオープンソースWebサーバーソフトウェア安定性が高く、UnixWindowsなど多くコンピューター動作するため、幅広く使われている。

関連用語


Apache

読み方アパッチ
別名:Apache HTTP ServerApache HTTPサーバ

Apacheとは、Apache Software Foundation開発しているHTTPサーバーソフトウェアの名称である。オープンソースソフトウェアとして開発され、配布されている。

Apacheは、NCSA httpd呼ばれるサーバーソフトウェア不具合修正するためのパッチ(a patch)を集積し、一個独立したソフトウェアとして開発されたものだとされる。Apacheは現在、UNIX系各種OSUNIXLinuxBSD)やWindows、NetWireをはじめ多くプラットフォーム向けに提供されており、世界中運用されているWebサーバー半数上で採用されているといわれる


参照リンク
Apache HTTP server project - (英文
JAPAN APACHE USERS GROUP - (英文
WWWのほかの用語一覧
クラウドコンピューティング:  Zyncro
サーバー:  JSP  ASP  Apache  アクセスログ  BizTalk Server  CGI

Apache専用の関数

導入

以下の関数は、Apacheモジュール版のPHPを実行している場合のみ利用可能です。
注意: PHP 4.3.2以降、PATH_TRANSLATED は、 Apache 2 SAPIでは暗黙のうちに設定されなく なりました。これは、Apacheにより設定されない場合に サーバ変数SCRIPT_FILENAMEと同じ値に設定される Apache 1とは異なります。この変更は、 PATH_TRANSLATEDPATH_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_ALLPHP 4.0.5 から利用可能
child_terminate"0"PHP_INI_ALLPHP 4.0.5 から利用可能
last_modified"0"PHP_INI_ALLPHP 4.0.5 から利用可能
xbit_hack"0"PHP_INI_ALLPHP 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)』 (2013/10/22 07:00 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 HTTP Server

(Apache から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/09/25 08:43 UTC 版)

Jump to navigation Jump to search
Apache HTTP Server
Apache HTTP server logo (2016).png
開発元 Apacheソフトウェア財団
初版 1995年(23年前) (1995[1]
最新版

2.4.35 - 2018年9月22日(3日前) (2018-09-22 [2]

[±]
最新評価版 [±]
リポジトリ github.com/apache/httpd
プラットフォーム クロスプラットフォーム
種別 Webサーバ
ライセンス Apache License
公式サイト https://httpd.apache.org/
テンプレートを表示

Apache HTTP Server(アパッチ エイチティーティーピー サーバ)は、世界中でもっとも多く使われているWebサーバソフトウェアであり、大規模な商用サイトから自宅サーバまで幅広く利用されている。単にApacheとも称されている。

開発は、Apacheソフトウェア財団のApache HTTPサーバプロジェクトで行われている。Apache Licenseの下でソースコードが公開および配布されており、代表的なオープンソースソフトウェアの一つである。

歴史

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] 2018-09-22 (2.4.35)[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、MySQLPHP/Perl/Python) や LAPP (Linux、Apache、PostgreSQL、PHP/Perl/Python) と呼ばれる非常に人気のあるウェブサーバコンポーネントの一つでもある。さらに、Apacheはいろいろな商用パッケージ、例えばOracle Databaseに組み込まれており、macOSNetWare 6.5の標準Webサーバにもなっている。

特殊な形態

Apacheでは、FreeBSDのカーネルと連動し、最高の性能を引き出す特殊な動作形態をサポートしている[14][15]。 これはFreeBSDをHTTPサーバに特化するという運用形態を想定したもので、FreeBSD及びApacheの両者に設定が必要であり、共にインストール直後の標準設定ではサポートされない。

基本的な動作は、LinuxのTUX web serverやWindowsのInternet Information Servicesなどに近い実装であり、通信バッファのカーネルからの直接的な読込やkqueueなど多岐にわたり、一部のみ利用ということも可能になっている。

同形態はLinuxにおけるサポートも検討されたが、あまりに特殊であるため未実装となっている。[独自研究?]

脚注

[ヘルプ]

関連項目

外部リンク





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

カテゴリ一覧

全て

ビジネス

業界用語

コンピュータ

電車

自動車・バイク

工学

建築・不動産

学問

文化

生活

ヘルスケア

趣味

スポーツ

生物

食品

人名

方言

辞書・百科事典

すべての辞書の索引

「Apache」の関連用語

Apacheのお隣キーワード

   

英語⇒日本語
日本語⇒英語
   
検索ランキング



Apacheのページの著作権
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
三省堂三省堂
Copyright (C) 2001-2018 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2018 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリApacheの記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2018 by the PHP Documentation Group.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのAPACHE (改訂履歴)、Apache HTTP Server (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2018 Weblio RSS