WebOTX では、Javaベースの内蔵Webサーバのほかに、ApacheベースのWebサーバ (以降「WebOTX Webサーバ」と記載します)をバンドルしています。 WebOTX Webサーバは、インストール時の指定によりVer2.2 (Apache HTTP Server 2.2 ベース)またはVer2.4(Apache HTTP Server 2.4ベース)を選択してインストールすることができます。
WebOTXでは、その他に利用可能なWebサーバとして、IIS/Apache などの外部Webサーバをサポートしています。
WebOTX AS Express インストール時のデフォルト設定は、Javaベースの内蔵Webサーバを利用し、 WebOTX AS Standard/Enterprise インストール時のデフォルト設定は、WebOTX Webサーバを利用します。 WebOTX にバンドルされたWebサーバを利用する場合、インストール後に設定する項目は 特にありません。 外部Webサーバを利用する場合には、インストール後に「環境設定ツール」を起動し、外部Webサーバとの連携設定を行う必要があります。
Javaベースの内蔵Webサーバの設定方法については、次の2通りがあります。
Webコンテナの運用管理コンソールの「コネクタ」項目で、Javaベースの内蔵Webサーバの設定ができます。コネクタの「種類」が"HTTP"と表示されているものが内蔵Webサーバです。詳細は「1.4. Webコンテナ」を参照してください。
Javaベースの内蔵Webサーバの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.http-service.http-listener.http-listener-name」です。属性 protocol の値が "HTTP/1.1" となっているものが内蔵Webサーバです。詳細は「1.4. Webコンテナ」を参照してください。
ここでは、WebOTXで利用するWebサーバとして、「WebOTX Webサーバ」を利用する場合の設定方法について記載します。その他の外部Webサーバを利用する場合については、「1.3.3. 外部Webサーバ設定方法」項目を参照してください。
WebOTXの運用管理コマンドでは、WebOTX Webサーバの定義情報の変更/参照およびWebサーバの起動/停止ができます。また、従来どおり定義情報ファイル (httpd.conf)をエディタで編集して、定義情報の更新することもできます。
なお、 Javaベースの内蔵Webサーバの設定については、「1.4. Webコンテナ」を参照してください。
WebOTX Webサーバの定義情報を設定(変更)するには、otxadmin コマンドを利用するか、WebOTX Webサーバの定義情報ファイル(httpd.conf) を直接編集します。
>otxadmin set --user admin --password adminadmin
server.WebServer.属性名=設定値
${INSTANCE_ROOT}/config/WebServer/httpd.conf
設定項目の詳細については、ApacheのマニュアルまたはWebサイトを参照してください。
例えば、WebOTX Webサーバが利用するポート番号を80番から8080番に変更する場合には、 次の方法を利用します。
otxadmin コマンド利用時
>otxadmin set --user admin --password adminadmin
server.WebServer.port=8080
httpd.conf 直接編集時
#Listen 80
Listen 8080
HTTPS通信を行うには、SSL通信用のモジュールのインストールと、次節のMO設定においてSSL通信を行うかどうかの設定 (security_enabled )を、「有効」(ture)に設定する必要があります。
>otxadmin set --user admin --password adminadmin
server.WebServer.security-enabled=trueなお、SSL(HTTPS)通信に関する定義情報を変更する場合は
${INSTANCE_ROOT}/config/WebServer/ssl.conf
の設定項目を変更する必要があります。
詳細については、マニュアルの「注意制限事項」「Webサーバ」「SSL(HTTPS)通信について」を参照してください。
以下はMOから設定可能なWebOTX Webサーバの定義情報項目の一覧です。
各定義情報は、${INSTANCE_ROOT}/config/WebServer/httpd.conf または${INSTANCE_ROOT}/config/WebServer/ssl.conf を直接編集することでも変更可能です。
Dottedname : server.WebServer
| 属性名 (attribute-name) |
説 明 | http.confの 指示子 |
既定値 |
|---|---|---|---|
| serverroot | HTTPサーバが動作するルートディレクトリ 参照のみ可能です |
ServerRoot | ${INSTANCE_ROOT} |
| conf-file | 定義情報ファイル(httpd.conf)のパス 参照のみ可能です |
(MOでのみ参照) | ${INSTANCE_ROOT}/config/ WebServer/httpd.conf |
| port | HTTPサーバが利用するポート番号 | Listen | 80 |
| Version | HTTPサーバのバージョン情報 参照のみ可能です |
(MOでのみ参照) | (2.2)2.2.27 (2.4)2.4.10 |
| ServerName | HTTPサーバのサーバ名 参照のみ可能です |
ServerName | localhost |
| DocumentRoot | ブラウザが表示するルートディレクトリ 参照のみ可能です |
DocumentRoot | ${INSTANCE_ROOT}/docroot |
| ErrorLog | HTTPサーバのエラーログ | ErrorLog | ${INSTANCE_ROOT}/logs/ web/error.log |
| MaxClients | 最大同時接続クライアント数 | (Windows) ThreadsPerChild |
250 |
| (UNIX)MaxClients | |||
| security-enabled | SSL(HTTPS)通信を行うかどうか | false | |
| ssl-conf-file | SSL用の定義ファイル 参照のみ可能です |
(MOでのみ参照) | ${INSTANCE_ROOT}/config/ WebServer/ssl.conf |
| ssl-port | SSL用のポート | Listen (ssl.conf) |
443 |
WebOTX Webサーバの定義情報は、定義情報ファイル(httpd.conf)に格納され、WebOTX Webサーバ起動時に読み込まれます。
定義情報ファイルは、WebOTX のドメイン毎に格納されるため、ドメイン毎に 定義情報を変更する必要があります。
定義情報を更新した場合には、WebOTX Webサーバの再起動が必要になります。
格納場所
${INSTANCE_ROOT}/config/WebServer/httpd.conf
なお、SSL通信用ライブラリをインストールした場合、SSL設定に関する 定義情報は、ssl.confファイルに格納されます。
SSL通信で利用するポート番号や証明書/秘密鍵ファイルを設定/変更する場合、 このファイルに定義された情報を変更する必要があります。
格納場所
${INSTANCE_ROOT}//config/WebServer/ssl.conf
ここでは、WebOTX Webサーバが動作するために必要となる定義情報について 説明します。
定義情報ファイルには、次の定義が最低でも含まれている必要があります。
| 名前 | ServerRoot |
|---|---|
| 説明 | WebOTX Webサーバが動作するために必要となるディレクトリを設定します。 この値は既定値以外の値に変更することはありません。 |
| 書式 | ServerRoot directory-path |
| 設定例 (既定値) |
(Windows) ServerRoot "C:/WebOTX/domains/domain1" (UNIX) ServerRoot /opt/WebOTX/domains/domain1 |
| 名前 | Listen |
|---|---|
| 説明 | WebOTX Webサーバが利用するリクエスト受付用のポート番号を指定します。 Listen 指示子は、
ポート番号だけを設定する
方法と、IPアドレスとポート番号を一緒に設定する方法があります。 UNIX 版において、インストール時に「WebOTX 運用ユーザを利用する」を指定した 場合、1024 以下のポート番号を設定することはできません。 |
| 書式 | Listen [IPアドレス:]port Port port |
| 設定例 |
(ポート番号 8080 を利用する場合の設定) (特定のIPアドレスに対して待ち合わせを行う場合の設定) (IPv4アドレスとIPv6アドレスで同一のポート番号を 指定する場合の設定) |
| 名前 | User Group |
|---|---|
| 説明 | (UNIXでのみ有効) User/Group 指示子は UNIX 版においてのみ有効です。 WebOTX Webサーバがリクエストに応答する際に用いる ユーザID および グループID を指定します。 WebOTX Application Server のインストール時に「WebOTX 運用ユーザ」を 利用する選択をした場合には、この設定値を「WebOTX 運用ユーザ」に変更する 必要があります。 |
| 書式 | User unix-user-id Group unix-group-id |
| 設定例 | User otxadmin Group otxadm |
| 名前 | DocumentRoot |
|---|---|
| 説明 | ブラウザが WebOTX Webサーバ にアクセスした場合の ルートディレクトリを指定します |
| 書式 | DocumentRoot directory-path |
| 設定例 (既定値) |
(Windows) DocumentRoot "C:/WebOTX/domains/domain1/docroot" (UNIX) DocumentRoot /opt/WebOTX/domains/domain1/docroot |
| 名前 | ErrorLog |
|---|---|
| 説明 | WebOTX Webサーバ の内部で発生したエラー情報を記録する ファイル名を指定します。 |
| 書式 | ErrorLog errorlog-path |
| 設定例 (既定値) |
(Windows) ErrorLog logs/web/error.log (UNIX) ErrorLog logs/web/error_log |
| 名前 | LoadModule |
|---|---|
| 説明 | 様々な機能を提供するモジュールをロードし、使用モジュールリストに 追加します。 |
| 書式 | LoadModule module-name module-path |
| 設定例 | (Windows) LoadModule ssl_module "C:/WebOTX/WebServer22/modules/mod_ssl.so" (UNIX) LoadModule ssl_module /opt/WebOTX/WebServer22/modules/mod_ssl.so |
ここでは、WebOTX Webサーバの動作プロセス数に関する設定を説明します。
Windows 版は、1つの子プロセス上で複数スレッドが動作し、各スレッド上で クライアントからのリクエストを受け付けます。つまり、1リクエストに対して、 1スレッドが割り当てられます。
UNIX 版は、worker と呼ばれる方式を採用しており、複数の子プロセスが動作し、 さらに、その子プロセス上で複数のスレッドが動作し、各子プロセスのスレッド上 でクライアントからのリクエストを受け付けます。つまり、1リクエストに対して、 1スレッドが割り当てられます。上記のような動作の違いにより、Windows 版と UNIX 版では、定義内容が 異なります。また、
2.2 でも定義内容が異なる場合があります。
動作プロセスに関連する主な設定は次の指示子となります。
| 名前 | MaxClients |
|---|---|
| 説明 | (UNIXでのみ有効) WebOTX Webサーバが処理できる最大同時接続コネクション数を設定します。 この値はリクエストに応じることのできる全スレッドの総数となります。 クライアントは、この値を超えて同時に接続することはできません。 この値を超えて接続要求がきた場合には、その接続要求は、OS側のListenBackLog キューに保留されます。 |
| 書式 | MaxClients number |
| 設定例 (既定値) |
MaxClients 250 |
| 名前 | ThreadsPerChild |
|---|---|
| 説明 | Windows版と UNIX版で意味が異なります。 Windows版の場合、プロセス内で動作するスレッド数となり、WebOTX Webサーバが処理できる最大同時接続コネクション数を意味します。 UNIX版の場合、1つのプロセス内で動作するスレッド数を意味します。 UNIX版で本設定値に64以上の値を設定する場合は、ThreadLimit 値も 変更してください。 |
| 書式 | ThreadsPerChild number |
| 設定例 (既定値) |
(Windows) ThreadsPerChild 250 (UNIX) ThreadsPerChild 25 |
| 名前 | MinSpareThreads MaxSpareThreads |
|---|---|
| 説明 | (UNIX) アイドル状態であるスレッドの最小値、最大値を設定します。 アイドル状態とは、リクエストを処理していない状態の ことです。アイドル状態では、この範囲内に総スレッド数が 収まるように、起動しているプロセス数が常に調整されます。 MaxSpareThreads 以上のリクエストを受け付けると、 超過したリクエストを処理するために子プロセスの起動/停止 処理が行われるので、子プロセスの総数が増減する場合があります。 リクエストの増加により、子プロセスの増減を行いたくない 場合は、この設定値を MaxClinets と同じ値に設定してください。 また、Webサーバ 起動時に MinSpareThreads 以上のスレッドが起動しなかった場合、 通常 MaxClients 以上のリクエストを受けた時に出力される 「server reached MaxClients setting, consider raising the MaxClients setting」 のメッセージが出力される場合があります。 ThreadsPerChild/ThreadLimit/StartServers の値を確認して、 Webサーバ起動時の総スレッド数が MinSpareThreads 以上の値 になるように調整してください。 |
| 書式 | MinSpareThreads number MaxSpareThreads number |
| 設定例 (既定値) |
MinSpareThreads 25 MaxSpareThreads 75 |
| 名前 | StartServers |
|---|---|
| 説明 | (UNIX でのみ有効) 起動時に生成される子プロセス数を設定します。 なお、mod_cgid モジュールがロードされている場合には、CGIプログラム実行用の 子プロセスがあらかじめ起動するため、総子プロセス数は本設定値+1 となります。 |
| 書式 | StartServers number |
| 設定例(既定値) | StartServers 2 |
| 名前 | ServerLimit ThreadLimit |
|---|---|
| 説明 | (UNIX) 子プロセスの上限値(ServerLimit)、子プロセス内で 動作するスレッドの上限値(ThreadLimit)を設定します。 ThreadsPerChild 値に 64以上の値を設定する場合には、 ThreadLimit にもその値以上の値を設定してください。 |
| 書式 | ServerLimit number ThreadLimit number |
| 設定例 | ServerLimit 16 ThreadLimit 64 |
| 名前 | MaxRequestsPerChild |
|---|---|
| 説明 | 個々の子サーバプロセスが稼働中に扱うリクエスト数の 上限を設定します。ここで指定した数のリクエストを受け付けた後で、
その子プロセスは終了します。 0を指定した場合、そのプロセスはリクエスト数の 上限を超えたことにより終了することはありません。 |
| 書式 | MaxRequestsPerChild number |
| 設定例 | MaxRequestsPerChild 0 |
ここでは SSL通信を行う場合、定義情報ファイルに定義する 主な設定を説明します。
SSLに関する設定は、ssl.confファイルに格納されています。 ssl.confファイルは、SSL通信用パッケージをインストール
することで追加されます。
| 名前 | SSLEngine |
|---|---|
| 説明 | SSLを有効にする。通常、<VirtualHost> 内で使用され、特定の仮想ホストに対してSSLを有効にします。 |
| 書式 | SSLEngine On|Off |
| 設定例 | <VirtualHost _default_:443> SSLEngine on ... </VirtualHost> |
| 名前 | SSLCertificateFile |
|---|---|
| 説明 | SSLで利用するサーバの証明書ファイルを設定します。 |
| 書式 | SSLCertificateFile path |
| 設定例 | SSLCertificateFile /opt/WebOTX/WebServer22/conf/ssl.crt/sample.crt |
| 名前 | SSLCertificateKeyFile |
|---|---|
| 説明 | SSLで利用するサーバの秘密鍵ファイルを設定します。 |
| 書式 | SSLCertificateKeyFile path |
| 設定例 | SSLCertificateKeyFile /opt/WebOTX/WebServer22/conf/ssl.key/sample.key |
| 名前 | SSLCACertificateFile |
|---|---|
| 説明 | クライアント認証を行う場合、SSLで利用するクライアントの証明書ファイルを設定します。 |
| 書式 | SSLCACertificateFile path |
| 設定例 | SSLCACertificateFile /opt/WebOTX/WebServer22/conf/ssl.key/client.crt |
| 名前 | SSLVerifyClient |
|---|---|
| 説明 | クライアント認証を行う場合、クライアント側での証明書の提示方式を設定します。 |
| 書式 | SSLVerifyClient level |
| 設定例 | (クライアント認証を行わない場合) SSLVerifyClient none (クライアントに有効な証明書を提示させる場合) SSLVerifyClient require |
| 名前 | SSLOptions |
|---|---|
| 説明 | SSL 動作に関連する各オプションを設定します。 |
| 書式 | SSLOptions [+|-]option ... |
| 設定例 | (クライアント認証で、SSL用の環境変数の設定とクライアント証明書のエクスポートを行う) SSLOptions +StdEnvVars +ExportCertData |
ここでは WebOTX Webサーバがサポートするユーザ認証機能と、 クライアントのアクセス制御に関する設定を記述します。
| 名前 | AuthType |
|---|---|
| 説明 | ユーザ認証の種類を設定します。Basic と Digest が設定可能です。 |
| 書式 | AuthType Basic|Digest |
| 設定例 | AuthType Basic |
| 名前 | AuthName |
|---|---|
| 説明 | HTTP認証の認可領域の名前を指定します。 ここで指定した文字列は、ほとんどのブラウザの「パスワードダイアログ」 に表示されます。 |
| 書式 | AuthName auth-domain |
| 設定例 | AuthName "Top Secret" |
| 名前 | AuthUserFile |
|---|---|
| 説明 | 認証に使用するユーザとパスワードの一覧が格納されている テキストファイルを指定します。 通常、htpasswd コマンドで作成したパスワードファイルへの パスを指定します。 |
| 書式 | AuthUserFile file-path |
| 設定例 | AuthUserFile /usr/local/apache/passwd/passwords |
| 名前 | Require |
|---|---|
| 説明 | 認証済みユーザがリソース(ディレクトリ)に アクセスすることができるかを指定します。 |
| 書式 | Require entity-name [entity-name] ... |
| 設定例 | (全ての認証されたユーザにディレクトリへのアクセスを許可する場合) Require valid-user (指定されたユーザ(admin)のみディレクトリのアクセスを許可する場合) Require user admin |
| 名前 | Order |
|---|---|
| 説明 | デフォルトのアクセス可能な状態と、Allow と Deny が評価される順番を制御します。 |
| 書式 | Order ordering |
| 設定例 | (以下の例では、Allow from all の後で Deny from foo.domain.com が設定されるため、
foo.domain.com 以外のクライアントからの アクセスを許可します。) Order Allow,Deny Allow from all Deny from foo.domain.com (以下の例では、Deny from foo.domain.com の後で Allow from all が設定されるため、すべてのクライアント からのアクセスを許可します。) Order Deny,Allow Allow from all Deny from foo.domain.com |
| 名前 | Allow Deny |
|---|---|
| 説明 | サーバの特定の領域にアクセスできるホスト(クライアント)を制御します。 Allow はアクセスを許可するクライアントを、 Deny はアクセスを拒否するクライアントを指定します。 すべてのクライアント(all)、ドメイン名(domain.com)、 IPアドレス(12.34.56.78)、IPアドレスの一部(12.34) およびネットワーク/ネットワークマスクの対 (12.34.0.0/255.255.0.0または12.34.0.0/16)を 指定することができます。 |
| 書式 |
Allow from all|host|env=env-variable Deny from all|host|env=env-variable |
| 設定例 | (以下の例では、foo.domain.com サブドメインにある クライアント以外の domain.com
ドメインのすべてのクライアントから アクセスが許可されます。) Order Allow,Deny Allow from domain.com Deny from foo.domain.com (次の3つの設定は同じアドレス群に対するアクセス許可 の設定となります。) Allow from 10.1 Allow from 10.1.0.0/255.255.0.0 Allow from 10.1.0.0/16 |
LDAP連携する場合に必要となる定義情報を記載します。
| 名前 | AuthLDAPUrl |
|---|---|
| 説明 | LDAP連携で使用するLDAPサーバのDN情報をURLで指定します。 |
| 書式 | AuthLDAPUrl ldap://host:port/basedn?attributes?scope?filter |
| 設定例 | (ドメインのdocrootに対するアクセスに対して LDAP認証をかける場合、次の設定を行います。連携するLDAPサーバ上に、
DN情報として、dc=users, dc=webotx, o=NEC, c=JP が設定されているとします。) <Directory /opt/WebOTX/domains/domain1/docroot> AuthType Basic AuthName "Input a username and password." AuthLDAPUrl ldap://ldap-server/dc=users,dc=webotx,o=NEC,c=JP?uid?sub Require valid-user </Directory> |
WebOTX Webサーバが出力するログ情報に関する定義情報について説明します。
| 名前 | ErrorLog |
|---|---|
| 説明 | エラーログファイルの出力先と名前を設定します。 エラーログには、リクエスト処理中に発生したエラーがすべて出力されます。 また、サーバ起動時やサーバ動作に問題が発生した場合にも、このファイル にエラーが出力されます。 |
| 書式 | ErrorLog file-path |
| 設定例 (既定値) |
(Windows) ErrorLog logs/web/error.log (UNIX) ErrorLog logs/web/error_log |
| 名前 | CustomLog |
|---|---|
| 説明 | アクセスログファイルの出力先と名前、書式を設定します。 |
| 書式 | CustomLog file-path|pipe format|nickname |
| 設定例 (既定値) |
(Windows) CustomLog logs/web/access.log common CustomLog "C:/WebOTX/domains/domain1/logs/web/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" (UNIX) CustomLog logs/web/access_log common CustomLog /opt/WebOTX/domains/domain1/logs/web/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" |
| 名前 | LogFormat | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 説明 | アクセスログに出力するログの出力書式を設定します。 アクセスログ情報には、クライアントのIPアドレス、URL、送信バイト数、 処理時間等を出力することができます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 書式 | LogFormat format|nickname | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 設定例 (既定値) |
LogFormat "%h %l %u \"%r\" %>s %b %D" common 上記の設定値の意味は以下の通りです。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 設定可能なフォーマット |
|
| 名前 | LogLevel | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 説明 | エラーログに出力するログレベルを設定します。 | |||||||||||||||||||||||||||
| 書式 | LogLevel level | |||||||||||||||||||||||||||
| 設定例 (既定値) |
LogLevel warn なお、level には次のレベルを設定可能です。
|
WebOTX Webサーバのアライブチェックモニタ処理は、WebOTX Webサーバの起動処理が完了してから開始しますが、システムの状態やWebサーバのモジュール起動タイミングによっては、WebOTX Webサーバが起動しているにもかかわらず、「Webサーバが起動していない」というメッセージが出力される場合があります。これを回避するために、次の設定により、WebOTX Webサーバ起動後にアライブチェックモニタ処理を開始する時間を秒単位で指定します。
ここでは、WebOTX Webサーバの起動が完了してから10秒後にアライブチェックモニタを開始する場合の設定例を記載します。
otxadmin>create-jvm-options
-Dwebotx.webserver.startup_wait_count=10
その他の定義情報の詳細については、次のURLを参照してください。
外部Webサーバを利用する場合は、事前に環境設定ツールを使って連携のための設定が必要です。設定方法は、「セットアップガイド > 2. インストール > 2.3. インストール後の作業」を参照してください。
外部Webサーバの設定方法については次の2通りがあります。なお、下記は外部Webサーバと連携するためのコネクタに関する設定です。Webサーバ自体の設定については、それぞれのマニュアルを参照してください。
Webコンテナの運用管理コンソールの「コネクタ」項目で、外部のWebサーバと連携するためのコネクタの設定ができます。コネクタの「種類」が"AJP"と表示されているものが外部Webサーバ連携用のコネクタです。詳細は「1.4. Webコンテナ」を参照してください。
外部Webサーバ連携用コネクタの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.http-service.http-listener.http-listener-name」です。属性 protocol の値が "AJP/1.3" となっているものが外部Webサーバ連携用コネクタです。詳細は「1.4. Webコンテナ」を参照してください。