前のトピック: Web サーバ アプライアンス

次のトピック: WEBx4 - 拡張性のある Web サーバ アプライアンス


WEB5、WEB64 - Web サーバ アプライアンス

シンプルな Web サーバ アプライアンス

早見表

カタログ

システム

カテゴリ

Web サーバ

ユーザ ボリューム

yes

最小 メモリ

160 MB

OS

Linux

制約

なし

質問/コメント

フォーラムで質問する

機能の概要

重要: CA AppLogic 2.8+ では WEB4 を使用できません。代わりに WEB5 または WEB64 を使用してください。

WEB は、Apache オープン ソース Web サーバ ソフトウェア(http://httpd.apache.org を参照)に基づいた Web サーバ アプライアンスです。

WEB は静的な Web コンテンツに対応し、ユーザ設定可能な読み取り専用コンテンツ ボリュームからスクリプトを実行します。 ドキュメントおよびスクリプトへのパスは設定可能です。したがって、同じボリュームを異なるコンテンツに対応する複数の Web サーバまたは他のアプライアンス(またはその両方)との間で共有できます。

WEB には、コンテンツ ボリューム上のスクリプトから外部サービスにアクセスするための 3 つの汎用出力端子があります。 db 端子は MySQL データベースにアクセスするために使用されます。fs 端子は共有ファイル ストレージにアクセスするために使用されます(NFS を使用)。また、aux 端子は、補助アクセス用です(SMTP サーバへの電子メール メッセージの送信など)。

log 端子は、WEB がログ ファイルを格納できる共有ファイルシステムに WEB を接続するために使用します。

Web サーバの設定はプロパティを使用して行います。 これらのプロパティは簡単な設定方法でほとんどの使用状況に対応できるように設計されていて、通常は、デフォルト以外の値に設定する必要はほとんどありません。 高度な設定は、コンテンツ ボリュームから提供される Apache 設定形式のインクルード ファイルを使用して行えます。 コンテンツとスクリプト ファイルへのアクセスおよびそのオプションは、コンテンツ ディレクトリ内の .htaccess ファイルを通じてさらに特殊設定できます。

WEB アプライアンスによって提供される機能でニーズを満たせない場合は、テクニカル サポートに連絡して可能なオプションを検討してください。 カタログを拡張して、お客様のニーズを満たすアプライアンスをご提供できる場合があります。

名前

最新バージョン

OS

Apache

PHP

Python

Perl

MySQL クライアント ライブラリ

ノート

WEB5

2.0.2-1

CentOS 5.5

2.2.3

5.1.6

2.4.3

5.12.2

5.0.22

 

WEB64

2.0.2-1

CentOS 5.5 (64 ビット)

2.2.3

5.1.6

2.4.3

5.12.2

5.0.22

 

リソース

リソース

最小

最大

デフォルト

CPU

0.1

16

0.3

メモリ

160MB

32 GB

512 MB

帯域幅

1 Mbps

2 Gbps

250 Mbps

端子

名前

方向

プロトコル

説明

in

in

HTTP

Web クライアントから送られる HTTP リクエストを処理します。 HTTP/1.1 および 1.0 プロトコルを処理します。

db

out

MYSQL

MySQL サーバにアクセスします。 使用状況は、コンテンツ ボリューム上の任意のスクリプト(存在する場合)によって定義されます。 使用しない場合、この端子は未接続のままにできます。

fs

out

NFS

NFS を介して読み取り/書き込みファイル アクセスを提供する、共有ファイル ストレージのネットワーク ファイルシステムへのアクセス。 使用状況は、コンテンツ ボリューム上の任意のスクリプト(存在する場合)によって定義されます。 コンテンツ ボリューム上のソフトウェアは、マウントされたリモート ファイルシステムを、アプライアンスのファイルシステム スペースの /mnt/fs であるとみなします。 使用しない場合、この端子は未接続のままにできます。 接続されたサーバは /mnt/data という名前の読み取り/書き込み共有アクセス権を持っている必要があります。

log

out

CIFS

アクセスとエラー ログを格納するための、CIFS ベースのネットワーク ファイルシステムへのアクセス。 使用しない場合、この端子は未接続のままにできます。 接続されたサーバは、匿名のログインを許可し、share という名前の読み取り/書き込み共有アクセス権を持っている必要があります。

aux

out

任意

任意の補助サービスへのアクセス(たとえば、電子メールを送信するための SMTP サーバ)。 使用状況は、コンテンツ ボリューム上の任意のスクリプト(存在する場合)によって定義されます。
使用しない場合、この端子は未接続のままにできます。

net

out

任意

サブネット アクセス用のゲートウェイ出力です。
使用しない場合、この端子は未接続のままにできます。

mon

out

CCE

パフォーマンスとリソースの使用状況統計を送信します。
使用しない場合、この端子は未接続のままにできます。

デフォルト インターフェースは有効です。 デフォルトのインターフェースは、正常に起動されたことを CA AppLogic にレポートするためにアプライアンスによって使用されます。 また、主に診断およびトラブルシューティングの目的で、CA AppLogic コントローラからセキュア シェルを介してアプライアンスへログインする場合にも使用できます。

ユーザ ボリューム

ボリューム

説明

コンテンツ

Web コンテンツ(ドキュメント、メディアおよびスクリプト)が WEB によって処理されるようにする、読み取り専用で共有可能なボリューム。

ボリュームは、オプションで設定可能なスクリプト専用ディレクトリを持つ、静的および動的の両方またはいずれか一方であるコンテンツを提供する場合があります。 任意のディレクトリからのスクリプト実行もファイル名パターンを使用して設定できます。

コンテンツに加えて、コンテンツ ボリューム上のドキュメント ディレクトリ(docs_dir プロパティによって設定)は、すべて標準 Apache 設定形式の、以下のオプションの環境設定ファイルも保持する場合があります(http://httpd.apache.org/docs/2.2 を参照)。

プロパティ

プロパティ名

タイプ

説明

host_name

文字列

Web サイトのホスト名。 WEB では、この名前を使用して、自動的に生成されたページで表示するだけでなく、たとえば、サーバ生成リダイレクトでの絶対 URL の構築にも使用します(たとえば、コンテンツ ボリューム上にインストールされたカスタム設定ファイルでセットアップ可能)。 明示的なリダイレクトが設定されることはほとんどありませんが、末尾に 「/」が付随しないディレクトリがリクエストされると、クライアントへのリダイレクトには「/」が追加されます。このリダイレクトは、host_name の値が設定されている場合はそれを使用します。
WEB がその HTTP リクエストで Host: ヘッダを送信しない古いクライアントによってアクセスされることが想定される場合、このプロパティを正しく設定することが推奨されます。
このプロパティが空の文字列に設定される場合、クライアントのリクエストで使用されるホスト名が使用されます。
デフォルト:(空)

admin_email

文字列

サーバ管理者の電子メール アドレス。 WEB は、自動的に生成されたページでこの名前を使用して表示します。
Default: root@localhost

content_on_fs

文字列

コンテンツが fs 端子でファイルシステムを基準にするか、またはコンテンツ ボリューム上にあるかどうかを指定します。 有効な値は on および off です。 on に設定されている場合は、すべてのコンテンツが fs 端子でのファイルシステムを基準とします。 off に設定されている場合、コンテンツはコンテンツ ボリューム上にあります。
デフォルト: off

docs_dir

文字列

対応するドキュメントがあるコンテンツ ボリューム上のルート ディレクトリ。 たとえば、/mydocs が考えられます。 このプロパティは、複数の WEB サーバがコンテンツ ボリュームを共有し、各サーバが自身のドキュメントを必要とする場合に便利です。 docs_dir が空の文字列に設定される場合は、コンテンツ ボリュームのルート ディレクトリが使用されます。
注: コンテンツ ボリューム上にこのディレクトリが存在する必要があります。
デフォルト:(空)

docs_loc

文字列

コンテンツが表示されるクライアント可視ネームスペース内の任意の場所(「クライアント可視ネームスペース」は、URL のパス部分です。先頭の / を含めた URL 内のホスト名の右に表示されます)。 空でない値に設定されている場合は、これがドキュメント ルート ディレクトリが表示されるクライアント可視のネームスペース ルートになります。 たとえば、docs_loc が subspace/samples に設定されている場合、/subspace/samples/file1.html の HTTP リクエストはドキュメント ルート ディレクトリにある file1.html に対応します。 /subspace/ サンプル外の場所に対するリクエストは、スクリプト ディレクトリ内のスクリプトのリクエストを除いて、エラーを返します(scripts_loc を参照)。
WEB が Web サイトのサブスペースに対応するときに、このプロパティは有用です。 この値には末尾のスラッシュを追加しないでください。
デフォルト:(空)

scripts_dir

文字列

CGI スクリプトがあるコンテンツ ボリューム上のルート ディレクトリ。 たとえば、/scripts が考えられます。 これは、実行可能スクリプトのみを含むコンテンツ ボリューム上のディレクトリを参照する、空ではない値に設定してください(「/」には設定しないでください)。
注: コンテンツ ボリューム上にこのディレクトリが存在する必要があります。
デフォルト:(空)

scripts_loc

文字列

scripts_dir によって指定されたスクリプト ディレクトリを可視状態にする Web スペース内の場所。 これは、専用スクリプト ディレクトリを使用できるように、空でない文字列に設定する必要があります。 典型的な値として /cgi-bin が考えられます。 この値には末尾のスラッシュを追加しないでください。
デフォルト:(空)

logs_enabled

文字列

WEB で log 端子からそのログを送信するかどうかを制御します。 有効な値は on および off です。 on に設定されている場合は、log 端子を接続する必要があります。 off に設定される場合、アクセス ログは使用されません。エラー ログは WEB インスタンスのルート ファイルシステム上のファイルに書き込まれ、週ごとにローテーションされ、バック ログが 4 週間保持されます(/var/log/httpd/error_log*)。 デフォルト: off

logs_base_dir

文字列

WEB ログが格納されるディレクトリ。 logs_enabled が「off」に設定される場合、このプロパティは無効です。 デフォルト: /

access_log_filename

文字列

log 端子でアクセス可能なファイルシステムに関連する、アクセス ログ用のファイル名。 たとえば access_log。 名前にはディレクトリ名(たとえば /srv1_logs/access_log、/logs/srv1_access_log)が含まれる場合があります。 空の場合、アクセス ログは作成されません。 ディレクトリが存在しない場合は、ディレクトリが作成されます。 logs_enabled が off に設定される場合、このプロパティは無効です。 デフォルト:(空)

error_log_filename

文字列

log 端子でアクセス可能なファイルシステムに関連する、エラー ログ用のファイル名。 名前にはディレクトリ名が含まれる場合があります。 例については、access_log_filename を参照してください。 これが空の値に設定される場合、または logs_enabled が「off」である場合、エラー ログは、WEB インスタンス自体のルート ファイルシステム上のファイルに書き込まれます。 logs_enabled が off に設定される場合、このプロパティは無効です。 デフォルト:(空)

error_log_level

文字列

エラー ログに書き込まれるメッセージの重大度レベル。 有効な値は、debug、info、notice、warn、error、crit、alert、emerg です。 debug はほとんどのメッセージを書き込み emerg は緊急メッセージのみを書き込みます。 デフォルト: warn

timezone

文字列

アプライアンスが位置するタイムゾーンを指定します。 このプロパティが空の場合、タイムゾーンは変更されず、現状のものが使用されます。 サポートされているタイムゾーンのリストはここで参照できます。 デフォルト: empty

重要: 列挙されたすべての文字列プロパティは、大文字と小文字を区別しません(小文字)。 他のすべての文字列プロパティは大文字と小文字を区別します。

詳細プロパティ

通常は設定する必要のない追加のプロパティです。 標準外の状況で WEB を調整するために使用できます。

プロパティ名

タイプ

説明

cgi_ext

文字列

CGI スクリプト用のファイル名サフィックスをスペース区切りのリストとして定義します。 これは実行可能 CGI スクリプト(任意のディレクトリ内)として扱うファイルの指定に使用され、共通のスクリプト ディレクトリの指定の代わりとして使用できます。scripts_dir および scripts_loc プロパティを参照してください。 デフォルト: .cgi

shared_perl_ext

文字列

インプロセス Perl スクリプト用のファイル名サフィックスをスペース区切りのリストとして定義します。 これは mod_perl で実行する Perl スクリプトとして扱うファイルを指定するために使用されます。 cgi_ext 内にすでに指定されたものと一致する拡張子は、その拡張子に対する CGI の使用を無効にし、代わりに mod_perl によって実行されるように設定します。 インプロセス Perl モジュールは、指定された拡張子を使用して CGI 互換モードでスクリプトを実行するように設定されています。CGI プロセスとして実行するよう設計されたほとんどの Perl スクリプトは、インプロセス スクリプトとしても設定すると機能します。 注: mod_perl によって実行されるスクリプトはすべて Perl インタープリタの再起動なしに動作します。したがって、use strict; や use warnings; など、すべてのファイル スコープ変数の適切な初期化についてスクリプトをチェックすることが重要です。 スクリプトが mod_perl で動作するかどうか分からない場合、mod_perl ドキュメント(http://perl.apache.org/docs/index.html)で詳細を確認してください 。
デフォルト:(空)(つまり、mod_perl を使用しない)

index_files

文字列

クライアントがディレクトリ名を参照する URL をリクエストする場合にディレクトリの索引ページとして使用する、順序付けられたスペース区切りのファイル リスト。
デフォルト: index.html index.html.var

use_htaccess

文字列

ドキュメント ツリー全体の .htaccess ファイルの使用を有効にするべきかどうかを指定します。 これはデフォルトでは無効になっています。サーバ オプションの高精度な制御が必要であるが共通の環境設定ファイル内のセクションのセットを使用して設定するには複雑すぎるコンテンツ ディレクトリ構造を持つ場合、またはすでに .htaccess を使用する事前設定済みのコンテンツ ボリュームがあり、再配置を避けたい場合にのみ使用してください。 設定オプションがドキュメント ルート自体にのみ必要である場合、代わりにドキュメント ルート ディレクトリの .htconf ファイル内に設定を置いてください。.htaccess と全く同様に適用されますが、ファイルがブート時に一度読み込まれる点が異なります。 デフォルト: off

max_connections

整数

WEB が処理できる同時にアクティブな接続の最大数。 この制限に到達すると、追加の接続リクエストは(511 の制限まで)キューに置かれ、現在アクティブな接続が閉じられると処理されます。 この値は、WEB が、外部ソースの遅いデータ(たとえば、長いデータベース クエリ)にアクセスする必要のある大量のリクエストを処理することになっている場合にのみ使用します。 システムメモリが十分でない場合、同時接続の実際の数は、このプロパティに設定された値より低く制限される場合があります。 「メモリ使用量」セクションを参照してください。 max_connections 値は 256 より大きい値には設定できません。
デフォルト: 128

persistent_connections

文字列

クライアントが同じ接続上で複数のドキュメントをリクエストすることを WEB が許可するかどうかをコントロールします。 有効な値は on と off です。 HTTP/1.1 を正しくサポートせず、HTTP/1.0 にフォールバックしないクライアントに関する問題が発生した場合にのみ、永続的接続を無効にする必要が生じる場合があります。 デフォルト: on

idle_timeout_sec

整数

リクエストや応答がない場合にクライアント接続を開いたままにしておく、秒単位のタイムアウト。 このプロパティは、persistent_connections が on の場合のみ使用されます。 このタイムアウトを短くすると、使用されていない接続をすみやかに切断することに役立ちます。 デフォルト: 15

data_timeout_sec

整数

データ送信が開始されたが完了していないときに、さらにデータを受信または送信する場合の秒単位のタイムアウト。 このタイムアウトがあると、WEB が転送中に遅延を許可する一方で使用されていない接続を切断することを可能にします。 デフォルト: 300

default_charset

文字列

text/html または text/plain タイプの返されたドキュメントをレポートするために設定されたデフォルトの文字セット。 このプロパティは文字セットの名前か、off(HTTP 応答で charset ヘッダの送信を無効にする)に設定する必要があります。 注:ブラウザの設定によっては、このプロパティは処理される HTML ドキュメントの作者が作成した文字セット値を無効にする場合があります。したがって、有効な文字セットの仕様が含まれないドキュメントがあり、この WEB インスタンスによって処理されるすべてのドキュメントが同じ文字セットを持つことが事前に分かっている場合にのみ推奨されます。 典型的な値の例は、iso-8859-1 または utf-8 です。 デフォルト: Off
注: 正しいコンテンツ タイプのメタ タグを生成しない古い CGI スクリプトなどの特別なケースに対応するため、コンテンツ ボリュームに格納されるカスタム環境設定ファイルを使用して、デフォルトの文字セットをディレクトリ別に設定することが可能です。

info_level

文字列

WEB が自身に関する情報を Web クライアントにどれだけ開示するかをコントロールします(HTTP 応答および自動的に生成されたページ)。 有効な値は、full(最大限の情報)、os、minor、major、prod(最小限の情報)です。 セキュリティ対策として、最小限の情報を公開することが推奨されます。 デフォルト: prod

server_signature

文字列

生成されたすべてのページ(たとえばエラーページ)の最下部に WEB がサーバの署名行を追加するかどうかをコントロールします。 有効な値は on と off です。 WEB が署名に含める情報の量は info_level によってコントロールされます。 デフォルト: off(署名なし)。

env

文字列

名前 = 値のペアとして設定を WEB へ渡すために使用されます。 これらの値は環境に設定されていないため、値を使用するか解析するかの判断はユーザに委ねられています。 デフォルト:(

重要: 列挙されたすべての文字列プロパティは、大文字と小文字を区別しません(小文字)。 他のすべての文字列プロパティは大文字と小文字を区別します。

カスタム カウンタ

WEB アプライアンスは mon 端子を介して以下のカスタム カウンタをレポートします。

以下のカウンタが Apache カウンタ グループに属します。

カウンタ名

説明

Total hits

ヒット数の合計

Total bytes

バイト数合計

Active requests

アクティブなリクエスト数

Idle servers

アイドル サーバの数

エラー メッセージ

アプライアンスが開始に失敗すると、以下のメッセージが、アプライアンスのログ ファイルまたはグリッド コントローラのシステム ログのいずれかに表示される場合があります。

メモリ使用量

WEB は、広範囲に利用可能なメモリで実行して、異なるサイズおよび負荷のアプリケーションに適合できるようにそれ自体を自動的に設定します。 ただし、WEB のコンテンツ ボリュームにインストールされる場合がある動的なコンテンツ スクリプトのメモリ使用状況を設定計算では予測できないため、スクリプトの不正な動作の影響で、過剰コミット メモリによるサーバの誤動作が発生し、OS によってプロセスが強制終了される場合があることに注意してください。

デフォルトでは、WEB は、次の想定に従ってアクティブな接続の最大数を設定します。

たとえば、32M による「サンドボックス」設定では、アクティブな接続の最大数は 8 に設定されます。

接続の最大数は max_connections プロパティを使用して、自動的に計算される値未満に制限できます。 max_connections が使用可能なシステム メモリによって課された制限を超える場合は、警告なしでトリムされます。

また、PHP プリプロセッサの割り当て制限は、上記のルールに従った計算により、スクリプトに使用できるメモリの 1/2 に設定されます。つまり、PHP は、実行されるスクリプト用のメモリを次のように制限するように設定されます。

(system_memory - 16MB - max_connections* 1MB)/2 

ここで max_connections 値は、より小さい max_connections プロパティと、使用可能なメモリによって課される制限を表します(上記のとおり、1 接続当たり 2MB を想定して計算)。 max_connections プロパティがそのデフォルト値のままになる場合、PHP メモリ制限として以下の値が使用されます。

(system_memory - 16MB)/4 

注: 使用される「1 スクリプト当たりの使用可能メモリの 1/2」というルールはやや楽観的です。つまり、すべてのアクティブな接続によって実際に制限に達するメモリ要求の大きい PHP スクリプトが使用されるとは限らない、またはスクリプトでは、割り当てるすべてのメモリを実際に使用するとは限らないという想定に基づいています。

ヒント: メモリ要求の大きいアプリケーションが負荷状態で誤動作を開始し(接続の切断)、使用可能なメモリを増やすことがオプションとして無効な場合は、max_connections プロパティを低い値に設定してみてください。 これにより、同時に実行される可能性があるスクリプト インスタンスの数が減少し、それぞれのインスタンスに実行用のメモリが解放されます。

コンテンツ、共有ファイル ストレージのセットアップ

このセクションでは、動的なコンテンツに対応するスクリプトの設定に役立つ情報を提供します。

固定されたディレクトリ名

HTTP サーバの起動時に、以下のディレクトリおよびファイルを WEB インスタンスのファイル システム スペース内で使用できます。 なお、任意のスクリプトまたは設定ファイルでは、これらの場所以外で絶対ディレクトリ名を使用することをお勧めしません。

/var/www/html - クライアントでは「/」 として可視状態になる Web ルート。 これは、コンテンツ ボリューム上の場所を参照し、読み取り専用です。 注: 「docs_loc」プロパティが設定される場合、/var/www/html 自体にデータ ファイルは含まれません。 docs_loc の値を追加すると、ドキュメント ルートを参照する有効なシンボリック リンクの名前が生成されます。 このディレクトリ名と /var/www/cgi-bin 名およびそれらのいずれかのサブディレクトリを Apache 設定ファイル内で使用して、追加のディレクトリ別設定をセットアップできます。 この場合は、docs_dir と scripts_dir プロパティ用の特定の設定をそのような設定ファイルで認識する必要はなくなります。

/var/www/cgi-bin - scripts_dir プロパティを使用してセットアップする場合の、スクリプト ルートのシンボリック リンク。

/mnt/fs - 「fs」端子に接続された NFS サーバによって提供される共有読み取り/書き込みファイル ストレージのルート。 接続されていない場合、/mnt/fs は空になります。

固定された Web スペースの場所

/icons/ パスは、サーバによって生成されたディレクトリ リストのストック アイコンが含まれるディレクトリのエイリアスです。 したがって、コンテンツ ボリューム内のアイコンという名前のディレクトリは表示できません。

アクセス制御

HTTP サーバはユーザ 48、グループ 48 として作動します。 CGI スクリプトは同じコンテキストで実行されます。

コンテンツ ボリューム上のファイルには、HTTP を通じて対応する資格があるすべてのユーザ用の読み取り許可が必要です。 実行可能スクリプトには、すべてのユーザ用の読み取りおよび実行許可が必要です。

Apache サーバには、ファイルへのアクセスを制御する他の手段がありますが、1 つの方法では、HTTP を通じてアクセス可能にすべきでないファイルまたはディレクトリからすべてのユーザ用の読み取り許可を削除することもできます。 リストへのアクセスを可能にすべきでないがアクセス可能なファイルまたはサブディレクトリが含まれているディレクトリでは、x ビット セットをオンのままにします。

電子メールの送信

sendmail システムは WEB 上で設定されません。 そのシステムは、このアプライアンスから電子メールを送信するために使用しないでください。 外部 SMTP サーバへのアクセスを提供するには、この機能性を提供するアプライアンスか、アプリケーション外部のサーバへの転送を行う OUT ゲートウェイに aux 端子を接続します。 Perl ベースのスクリプトを使用する場合は、SMTP メーラを使用するように設定されているという前提で、Mail::Mailer モジュールを電子メールの送信に使用できます。 どのような場合も、ユーザの SMTP メーラは SMTP サーバのホスト名として「aux」を使用するようにセットアップする必要があります。たとえば、Mail::Mailer を使用する場合は、次のように指定します。

$mailer = new Mail::Mailer 'smtp', (Server => 'aux'); 
$mailer->open(\%headers); #... etc. 
PHP モジュールのインストール

WEB は正規の CentOS ミラーから入手できるすべての PHP パッケージに付属しています。 読み取り専用コンテンツ ボリュームの代わりに fs 共有を使用している場合は、アプライアンスの分岐なしに追加の PHP モジュールをインストールできます。

PHP モジュールのインストール方法

  1. 必要なソフトウェア依存性をすべてインストールします。 RPM パッケージからインストールする場合、 --test オプションを使用して満たされていない依存性を確認します。 例:
    rpm --test -Uv php-mhash-5.1.6-5.el5.i386.rpm
    

    依存性に RPM パッケージを使用している場合は、それ自身の依存性がすべて満たされていることを確認してください。 例:

    rpm --test -Uv libmhash-0.9.1-1.2.el5.rf.i386.rpm
    

    その後、fs 共有上の必要な RPM をすべてインストールします。 例:

    rpm --root=/mnt/fs/php -Uv --nodeps libmhash-0.9.1-1.2.el5.rf.i386.rpm
    

    PHP モジュールを RPM からインストールしない場合、WEB で使用される PHP のバージョンと互換性があること、および追加の lib(ldd /path/to/php/module.so)を必要としないことを確認してください。 依存性が満たされていない場合は、fs 共有に必要なソフトウェアをインストールします。

  2. fs 共有に PHP モジュールをインストールします。 例:
    rpm --root=/mnt/fs/php -Uv php-mhash-5.1.6-5.el5.i386.rpm
    

    これは、/mnt/fs/php 下に RPM をインストールします。

  3. アプライアンス ブート上の PHP 設定を更新する .rc.local スクリプトを作成します。 PHP モジュールが fs 共有にインストールされるので、アプライアンスにインストールされた PHP は追加のソフトウェアを認識ません。 PHP がインストールされたアプライアンスを認識するようにするには、カスタム PHP 環境設定ファイルを作成する .rc.local スクリプトを作成します。 アプライアンスが開始するごとに、.rc.local スクリプトが実行されます。
    スクリプトは以下のようになります。
    #!/bin/bash
    
    # die on all errors
    set -e
    
    # Add configuration to the main php conf dir. Path to extensions must be changed to be relative to /usr/lib/php/modules/
    sed  's/extension=\(.*\)$/extension=..\/..\/..\/..\/mnt\/fs\/php\/usr\/lib\/php\/modules\/\1/g' /mnt/fs/php/etc/php.d/*ini > /etc/php.d/custom-php.ini
    
    # If we installed any dependent libs on the =fs= share, we need to tell ldconfig to load them
    # You can skip this if you did not install any dependent libs on the =fs= share
    echo /mnt/fs/php/usr/lib > /etc/ld.so.conf.d/custom-libs.conf
    ldconfig
    
    # Restart apache and check status
    /etc/init.d/httpd restart
    sleep 1
    /etc/init.d/httpd status
    
Perl モジュールのインストール

CA AppLogic では、Perl モジュールをインストールすることができます。

Perl モジュールのインストール方法

  1. 必要なソフトウェアをすべてインストールします。

    注: fs 共有上でのソフトウェア依存性のインストールの詳細については、PHP セクションを参照してください。 lib をインストールする場合は、それらをロードするために ldconfig に通知します。 以下の .rc.local ファイルを使用します。

    #!/bin/bash
    
    # die on all errors
    set -e
    
    # If we installed any dependent libs on the =fs= share, we need to tell ldconfig to load them
    # You can skip this if you did not install any dependent libs on the =fs= share
    echo /mnt/fs/php/usr/lib > /etc/ld.so.conf.d/custom-libs.conf
    ldconfig
    
  2. Perl のモジュールをインストールします。

    注: WEB アプライアンスにはビルド ツールが付属しません。したがって、アプライアンスに Perl のモジュールを構築することはできません。 事前にパッケージ済みのモジュール(RPM RPModules)を使用するか、別の構築環境(LINUX5 を使用)に Perl モジュールを構築してパッケージします。 CPAN モジュールから RPM を作成するのに cpan2rpm(http://sourceforge.net/projects/cpan2rpm/)を使用できます。

  3. Perl のインクルード パスにインストール パスを追加します。

    注: Perl プログラムがインストールされたモジュールを使用するようにし、インストール先の位置を提供します。 fs 共有上のインストール ディレクトリを含めるように @INC を設定するか 、このパスを @INC に追加される PERL5LIB 環境変数に設定します。

    CGI として実行される Perl に関しては、次を fs 共有上の .htconf ファイルに追加し、@INC にインストール パスを追加します。

    SetEnv PERL5LIB  /mnt/fs/perl_mods/usr/lib/perl5/vendor_perl/5.12.2/ 
    

    mod_perl として実行される Perl については、.htconf に次を追加します。

    PerlSwitches -I/mnt/fs/perl_mods/usr/lib/perl5/vendor_perl/5.12.2/
    
典型的な使用状況

静的な Web サイト

静的な Web サイト

データベースを使用する 2 層アプリケーション

データベースを使用する 2 層アプリケーション

データベースおよびログを使用する 2 層アプリケーション

データベースとログを使用する 2 層アプリケーション

共有ファイルシステムおよび電子メール ゲートウェイを使用する 2 層アプリケーション

共有ファイル システムおよび電子メール ゲートウェイを使用する 2 層アプリケーション

拡張性のある 2 層アプリケーション

拡張性のある 2 層アプリケーション

(Sample SugarCRM アプリケーションも参照)

既知の制限

以下の点に留意してください。

アプライアンスで使用されるオープン ソースおよびサードパーティ ソフトウェア

以下のオープン ソース サードパーティ ソフトウェアは、アプライアンス ベース クラス(LUX5 が WEB5 のベースクラス、LUX64 が WEB64 のベース クラス)上のソフトウェアに加えて使用されます。

ソフトウェア

バージョン

変更

ライセンス

ノート

alsa-lib

1.0.17-1

いいえ

LGPLv2.1

該当なし

apr

1.2.7-11

いいえ

Apache License v2.0

該当なし

apr-util

1.2.7-11

いいえ

Apache License v2.0

該当なし

aspell

0.60.3-7.1

いいえ

LGPLv2.1

該当なし

aspell-en

6.0-2.1

いいえ

ISC

該当なし

atk

1.12.2-1.fc6

いいえ

LGPLv2.0

該当なし

audiofile

0.2.6-5

いいえ

LGPLv2.0

該当なし

audit-libs-python

1.7.17-3

いいえ

GPLv2

該当なし

avahi

0.6.16-9. el5_5

いいえ

LGPLv2.1

該当なし

avahi-glib

0.6.16-9. el5_5

いいえ

LGPLv2.1

該当なし

bind-libs

9.3.6-4.P1.el5_4.2

いいえ

ISC

該当なし

bind-utils

9.3.6-4.P1.el5_4.2

いいえ

ISC

該当なし

bitstream-vera-fonts

1.10-7

いいえ

GPLv2

該当なし

cairo

1.2.4-5

いいえ

LGPLv2.1/MPL

該当なし

chkfontpath

1.10.1-1.1

いいえ

GPLv2

該当なし

cryptsetup-luks

1.0.3-5

いいえ

GPLv2

該当なし

cups-libs

1.3.7-18. el5_5.7

いいえ

GPLv2

該当なし

curl

7.15.5-9

いいえ

MIT

該当なし

cyrus-sasl

2.1.22-5.el5_5.3

いいえ

BSD

該当なし

dbus

1.1.2-14

いいえ

AFLv2.1

該当なし

dbus-glib

0.73-10. el5_5

いいえ

AFLv2.1

該当なし

dbus-libs

1.1.2-14

いいえ

AFLv2.1

該当なし

dbus-python

0.70-9.el5_4

いいえ

AFLv2.1

該当なし

distcache

1.4.5-14.1

いいえ

LGPLv2.1

該当なし

dmidecode

2.10-3

いいえ

GPLv2

該当なし

esound

0.2.36-3

いいえ

GPLv2

該当なし

fontconfig

2.4.1-7

いいえ

ISC

該当なし

freetype

2.2.1-28.el5_5

いいえ

FTL

該当なし

gamin

0.1.7-8

いいえ

LGPLv2.1

該当なし

GConf2

2.14.0-9

いいえ

LGPLv2.1

該当なし

gd

2.0.33-9.4.el5_4.2

いいえ

GD

該当なし

ghostscript

8.15.2-9.12.el5_5

いいえ

GPLv2

該当なし

ghostscript-fonts

5.50-13.1.1

いいえ

GPLv2

該当なし

gmp

4.1.4-10

いいえ

LGPLv2.1

該当なし

gnome-keyring

0.6.0-1.fc6

いいえ

GPLv2

該当なし

gnome-mime-data

2.4.2-3.1

いいえ

GPLv2

該当なし

gnome-mount

0.5-3

いいえ

GPLv2

該当なし

gnome-vfs2

2.16.2-6.el5_5.1

いいえ

LGPLv2.0

該当なし

gnutls

1.4.1-3.el5_4.8

いいえ

LGPLv2.1

該当なし

gtk2

2.10.4-20

いいえ

LGPLv2.0

該当なし

hal

0.5.8.1-59

いいえ

AFLv2.1

該当なし

hesiod

3.1.0-8

いいえ

ISC

該当なし

hicolor-icon-theme

0.9-2.1

いいえ

GPLv2

該当なし

httpd

2.2.17-1

いいえ

Apache License v2.0

該当なし

hwdata

0.213.18-1

いいえ

GPLv2

該当なし

kbd

1.12-21

いいえ

GPLv2

該当なし

kernel-headers

2.6.18-194.17.4

いいえ

GPLv2

該当なし

lcms

1.18-0.1.beta1.el5_3.2

いいえ

MIT

該当なし

libart_lgpl

2.3.17-4

いいえ

LGPLv2.0

該当なし

libbonobo

2.16.0-1.1.el5_5.1

いいえ

LGPLv2.1

該当なし

libbonoboui

2.16.0-1.fc6

いいえ

LGPLv2.1

該当なし

libc-client

2004g-2.2.1

いいえ

Apache License v2.0

該当なし

libcroco

0.6.1-2.1

いいえ

LGPLv2.0

該当なし

libdaemon

0.10-5

いいえ

LGPLv2.1

該当なし

libfontenc

1.0.2-2.2

いいえ

MIT

該当なし

libFS

1.0.0-3.1

いいえ

ISC

該当なし

libgcrypt

1.4.4-5

いいえ

LGPLv2.1

該当なし

libglade2

2.6.0-2

いいえ

LGPLv2.0

該当なし

libgnome

2.16.0-6

いいえ

LGPLv2.0

該当なし

libgnomecanvas

2.14.0-4.1

いいえ

LGPLv2.0

該当なし

libgnomeui

2.16.0-5

いいえ

LGPLv2.0

該当なし

libgpg-error

1.4-2

いいえ

LGPLv2.1

該当なし

libgsf

1.14.1-6.1

いいえ

LGPLv2.1

該当なし

libICE

1.0.1-2.1

いいえ

MIT

該当なし

libIDL

0.8.7-1.fc6

いいえ

LGPLv2.0

該当なし

libidn

0.6.5-1.1

いいえ

LGPLv2.1

該当なし

libjpeg

6b-37

いいえ

配布可能

該当なし

libnotify

0.4.2-6

いいえ

LGPLv2.1

該当なし

libpng

1.2.10-7.1.el5_5.3

いいえ

zlib

該当なし

librsvg2

2.16.1-1

いいえ

LGPLv2.0

該当なし

libSM

1.0.1-3.1

いいえ

MIT

該当なし

libtiff

3.8.2-7.el5_5.5

いいえ

ISC

該当なし

libusb

0.1.12-5.1

いいえ

LGPLv2.0

該当なし

libutempter

1.1.4-4

いいえ

LGPLv2.1

該当なし

libwmf

0.2.8.4-10.2

いいえ

GPLv2

該当なし

libwnck

2.16.0-4.fc6

いいえ

LGPLv2.0

該当なし

libX11

1.0.3-11

いいえ

MIT

該当なし

libXau

1.0.1-3.1

いいえ

MIT

該当なし

libXcursor

1.1.7-1.1

いいえ

ISC

該当なし

libXdmcp

1.0.1-2.1

いいえ

MIT

該当なし

libXext

1.0.1-2.1

いいえ

MIT

該当なし

libXfixes

4.0.1-2.1

いいえ

ISC

該当なし

libXfont

1.2.2-1.0.3.el5_1

いいえ

MIT-X11

該当なし

libXft

2.1.10-1.1

いいえ

ISC

該当なし

libXi

1.0.1-4.el5_4

いいえ

MIT

該当なし

libXinerama

1.0.1-2.1

いいえ

MIT

該当なし

libxml2-python

2.6.26-2.1.2.8.el5_5.1

いいえ

MIT

該当なし

libXpm

3.5.5-3

いいえ

MIT

該当なし

libXrandr

1.1.1-3.3

いいえ

MIT

該当なし

libXrender

0.9.1-3.1

いいえ

ISC

該当なし

libXres

1.0.1-3.1

いいえ

MIT

該当なし

libxslt

1.1.17-2.el5_2.2

いいえ

MIT

該当なし

libXt

1.0.2-3.2

いいえ

ISC

該当なし

lm_sensors

2.10.7-9

いいえ

GPLv2

WEB64 のみ

mailcap

2.1.23-1.fc6

いいえ

ISC

該当なし

make

3.81-3

いいえ

GPLv2

該当なし

mod_auth_mysql

3.0.0-3.2.el5_3

いいえ

Apache Group

該当なし

mod_perl

2.0.4-12

いいえ

Apache License v2.0

該当なし

mod_rpaf

0.5

はい

Apache Group

該当なし

mod_ssl

2.2.17-1

いいえ

Apache License v2.0

該当なし

MySQL? -client-community

5.1.51

いいえ

GPLv2

該当なし

MySQL? -shared-compat

5.1.51

いいえ

GPLv2

該当なし

net-snmp

5.3.2.2

いいえ

BSD

WEB64 のみ

net-snmp-libs

5.3.2.2

いいえ

BSD

WEB64 のみ

notification-daemon

0.3.5-9

いいえ

GPLv2

該当なし

ntsysv

1.3.30.2-2

いいえ

GPLv2

該当なし

ORBit2

2.14.3-5

いいえ

LGPLv2

該当なし

pango

1.14.9-8

いいえ

LGPLv2.0

該当なし

pciutils

2.2.3-8.el5_4

いいえ

GPLv2

該当なし

perl

5.12.2-1

いいえ

Artistic

WEB64 のみ

Perl-AppConfig

1.65-1

いいえ

Artistic

該当なし

perl-BSD-Resource

1.28-1

いいえ

Artistic

該当なし

perl-DBD-MySQL

3.0007-2

いいえ

Artistic

該当なし

perl-DBD-Pg

1.49-2

いいえ

Artistic

該当なし

Perl-DBD-SQLite

1.29-1

いいえ

Artistic

該当なし

perl-DBI

1.615-1

いいえ

Artistic

該当なし

perl-DBIx-Simple

1.32-1

いいえ

Artistic

該当なし

perl-GD

2.35-1

いいえ

Artistic

該当なし

perl-Mailtools

1.77-1

いいえ

Artistic

WEB64 のみ

perl-Pod-POM

0.17-1.2

いいえ

Artistic

該当なし

perl-String-CRC32

1.4-2

いいえ

パブリック ドメイン

該当なし

perl-Template-Toolkit

2.15-1

いいえ

Artistic

該当なし

perl-Text-Autoformat

1.13-1.2

いいえ

Artistic

該当なし

perl-Text-Reform

1.11-1.2

いいえ

Artistic

該当なし

perl-TimeDate

1.16-5

いいえ

Artistic

WEB64 のみ

perl-Unicode-String

2.09-1

いいえ

Artistic

該当なし

perl-Digest-SHA1

2.11-1.2.1

いいえ

Artistic

WEB5 のみ

php53

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-cli

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-bcmath

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-common

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-dba

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-gd

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-imap

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-ldap

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-mysql

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-mssql

5.3.3-4

いいえ

PHP v3.01

WEB5 のみ

php53-odbc

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-pdo

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-pear

5.3.3-4

いいえ

PHP v3.0

該当なし

php53-pgsql

5.3.3-4

いいえ

PHP v3.01

該当なし

php53-snmp

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-soap

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-xml

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-xmlrpc

5.3.3-4

いいえ

PHP v3.01

WEB64 のみ

php53-mbstring

5.3.3-4

いいえ

PHP v3.01

WEB5、WEB64

pkgconfig

0.21-2

いいえ

GPLv2

WEB5、WEB64

pm-utils

0.19

いいえ

GPLv2

WEB5、WEB64

policycoreutils

1.33.12-14.8

いいえ

GPLv2

WEB5、WEB64

postgresql90-libs

9.0.1-1PGDG

いいえ

BSD

WEB5、WEB64

compat-postgresql-libs

4-1PGDG

いいえ

BSD

WEB5、WEB64

procmail

3.22-17.1

いいえ

GPLv2

WEB5、WEB64

rsync

2.6.8-3.1

いいえ

GPLv2

該当なし

samba-client

3.0.33-3.29.el5_5.1

いいえ

GPLv2

該当なし

samba-common

3.0.33-3.29.el5_5.1

いいえ

GPLv2

該当なし

libsmbclient

3.0.33-3.29.el5_5.1

いいえ

GPLv2

該当なし

sendmail

8.13.8-8

いいえ

Sendmail

該当なし

shared-mime-info

0.19-5

いいえ

GPLv2

該当なし

startup-notification

0.8-4.1

いいえ

LGPLv2.0

該当なし

sudo

1.7.2p1-9.el5_5

いいえ

BSD

該当なし

telnet

0.17-39

いいえ

BSD

該当なし

ttmkfdir

3.0.9-23

いいえ

LGPLv2.0

該当なし

unixODBC

2.2.11-7.1

いいえ

LGPLv2.1

該当なし

unzip

5.52-3

いいえ

BSD

該当なし

urw-fonts

2.3-6.1.1

いいえ

GPLv2

該当なし

words

3.0-9.1

いいえ

パブリック ドメイン

該当なし

xorg-x11-filesystem

7.1-2.fc6

いいえ

MIT-X11

該当なし

xorg-x11-font-utils

7.1-2

いいえ

BSD

該当なし

xorg-x11-xfs

1.0.2-4

いいえ

MIT

該当なし

zip

2.31-2

いいえ

BSD-InfoZip

該当なし

t1lib

5.1.0-1

いいえ

LGPLv2.1

該当なし

libXaw

1.0.2-8.1

いいえ

MIT

該当なし

libXmu

1.0.2-5

いいえ

MIT

該当なし

libedit

20090923-3.0_1

いいえ

BSD

該当なし

libtool-ltdl

1.5.22-7.el5_4

いいえ

LGPLv2.1

該当なし

freetds

0.64-11

いいえ

LGPLv2.1

該当なし