Apache HTTP Server とは

種類

APR

MPM

preforkマルチプロセス、マルチスレッド
workerハイブリッド。PHPを使う場合はこちらが推奨。大規模サイト向き
eventマルチスレッド

モジュール

標準モジュール

モジュール名説明
mod_httpHTTPプロトコルの処理
mod_actionsリクエストされたファイルの形式やHTTPメソッドに連動したCGIプログラムの実行
mod_aliasURLとディレクトリの対応関係の設定
mod_asisHTTPヘッダの追加
mod_autoindexディレクトリの一覧を作成
mod_cgi(mod_cgid)CGIプログラムの実行(スレッド非対応のMPMを選択した場合はmod_cgi、スレッド対応のMPMを選択した場合はmod_cgidが組み込まれる)
mod_deflateデータ圧縮転送
mod_dirディレクトリ名で終わるURLに標準のインデックス・ファイル名を補完
mod_envCGIプログラムへの環境変数の提供
mod_imapイメージ・マップ・ファイルのサポート
mod_includeSSIの処理
mod_log_configアクセスログ取得。ログの書式設定
mod_mime拡張子を使用したコンテンツ・タイプの判定
mod_negotiationクライアントの情報に基づくコンテンツの自動選択
mod_statusApacheの稼働状態の監視
mod_setenvifクライアントの情報に基づく環境変数の設定
mod_userdir一般ユーザーのコンテンツ・ディレクトリの設定

アクセス制御(ホスト制限)

アクセス制限(ユーザ認証

DSO(Dynamic Shared Object)

拡張モジュール

プロキシ関連機能

mod_proxyプロキシ機能
mod_proxy_balancerロードバランサ機能
mod_proxy_http
mod_proxy_connectHTTPSのCONNECTメソッドをサポートする機能

プロキシ関連機能(Tomcat連携)

mod_jkTomcatとのJK連携
mod_proxy_ajpTomcatとのAJP13通信機能
mod_jk2TomcatとのJK2連携。廃止?

キャッシュ機能(サーバサイドキャッシング)

mod_cacheキャッシュ機能を使う場合は有効にする
mod_disk_cacheキャッシュデータをディスクに保存
mod_mem_cacheキャッシュデータをメモリに保存
mod_headersHTTPリクエストヘッダによるキャッシング制御を使う

キープアライブ機能

サードパーティーのモジュール

アクセス制御(認証)

Apacheの構造

Apacheのリクエストトランザクション

  1. リクエスト受信後 
  2. URI変換
  3. ヘッダの解析
  4. アクセス制御
  5. 認証
  6. アクセス許可
  7. MIMEタイプチェック
  8. 微調整
  9. 応答
  10. ロギング
  11. 後処理

インストール

Debian

apt install apache2

Red Hat

yum install httpd

ツール

apachectl

httpd

サイトの操作

a2ensite

a2dissite

モジュールの操作

a2enmod

a2dismod

設定

メインの設定ファイル

ServerRootApache サーバのルートディレクトリ
ServerTokensHTTPレスポンスヘッダのサーバ情報(Server:)
ServerSignatureエラーメッセージなどに表示されるサーバ情報
TraceEnableTraceメソッドの有効化
DirectorySlash
DirectoryIndexルート(/)を指定して表示するファイルを指定する。複数ファイルの指定が可能。
Directory

Apache がリッスンするポートの設定

仮想ホストの設定

仮想ホスト以外の設定

モジュールの設定

ログ

セッション情報の維持

スティッキーセッション方式

チューニング

MaxClients値の求め方

セキュリティ対策

関連用語


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS