Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11g リリース2 (11.1.2.3) for All Platforms E61950-08 |
|
![]() 前 |
![]() 次 |
Webサーバーで次の問題が発生することがあります。
症状
Apache Webサーバーを実行中に、OAMサーバーが次のメッセージを表示して失敗します。
libthread panic: cannot create new lwp (PID: 9035 LWP 2). stackrace: ff3424cc 0
この症状は、Apache Webサーバーが多くの自分自身のインスタンスを起動することにより発生することがあります。1つまたは複数のWebgateおよびOAMサーバー間の接続数をサービスするにはもっと多くのインスタンスが必要だとサーバーが判断したときに、これが発生することがあります。
追加のインスタンスはさらに多くの接続を作成し、OAMサーバーによる接続数を超過します。
解決策
MinSpareServers
、MaxSpareServers
、StartServers
およびMaxClients
パラメータの数を減らします。
OAMサーバーの構成ディレクトリに移動し、http.d
構成ファイルを開きます。
推奨するパラメータ設定は次のとおりです。
MinSpareServers
1
MaxSpareServers
5
StartServers
3
MaxClients
5
HP-UX上でApache v2を実行している場合、共有メモリーが動作できないため、「ユーザー」または「グループ」にnobody
は使用できません。そのかわりに、「ユーザー名」にログイン名を、HP-UX上の「グループ名」に使用しているグループを使用します(Solarisでは"www"は"nobody"と同等です)。
HPUX 11.11上でApache v2を実行している場合、Apache httpd.confファイルのAcceptMutex
ディレクティブがfcntl
に設定されていることを確認します。ディレクティブが存在しない場合、httpd.confファイルに追加します(AcceptMutex fcntl
)。詳細は、次を参照してください。
問題
ベンダー・バンドルApacheにWebgateをインストールした後、Webサーバーの開始時に次のエラーが発生することがあります。
Error: Cannot load libgcc_s.so.1 library - Permission denied.
解決策
Access Manager Webゲートのセキュリティ強化Linux (SELinux)のポリシー・ルールを変更します。
Access Manager Webコンポーネントのインストール後、より厳密なSELinuxポリシーが存在するLinux配布上のWebサーバーを開始するときに、エラーがWebServerのログ/コンソールに記録されることがあります。Webサーバーを再起動する前に、インストールされたWebコンポーネント用の適切なchcon
コマンドを実行することにより、これらのエラーを防止できます。
関連項目:
次の項目は、UNIX上でWebgate用のApache v2をmpm_worker_moduleを使用してコンパイルする場合にのみ必要です。この場合、UNIX環境用にApacheソースからthread.cファイルを変更する必要があります。この変更を行うことで、Webgateのデフォルトのpthreadスタック・サイズによりマルチスレッド・サーバーの実装中に最適なパフォーマンスが得られるようになります。この変更が行われないと、デフォルトのpthreadスタック・サイズはWebgateに対して十分ではなく、クラッシュしてしまうことがあります。
Apache 2.0はThreadStackSizeオプションをサポートしません。そのため、
UNIXベースのApache v2.1およびそれ以降では、クライアント接続を処理し、それらの接続の処理を手助けするモジュールを呼び出すスレッドのスタック・サイズ(autodata用)を、ThreadStackSizeディレクティブを使用して設定する必要があります。
UNIXベースのApache 2では、mpm_worker_moduleの追加およびthread.cファイルの変更の間に互換ソースを使用してスタック・オーバーフローを防止することが最適です。
次の手順は、Apache v2.0のthread.cファイルを変更して、マルチスレッド・サーバーの実装中に最適なパフォーマンスを得るためにWebgateに必要なデフォルトのpthreadスタックサイズを指定する方法を示します。Apache v2.1とThreadStackSizeディレクティブの詳細は、http://httpd.apache.org/docs/2.2/mod/mpm_common.html#threadstacksize
を参照してください。
ノート:
次の手順はApache 2.0 Webgateでのみ実行してください。それ以外の場合、デフォルトのpthreadスタック・サイズではWebgateに対して十分ではなく、クラッシュしてしまうことがあります。
UNIX環境でWebgate用のApache v2.0 thread.cファイルを変更する手順
thread.cファイルを探します。次に例を示します。
APACHE 2.0.52 source/srclib/apr/threadproc/unix/thread.c
次のコード・セグメントでapr_threadattr_createという名前の関数(apr_threadattr_t **new、apr_pool_t *pool)を探します。
**new,apr_pool_t *pool) in the following code segment: 1-----> apr_status_t stat; 2 3-----> (*new) = (apr_threadattr_t *)apr_pcalloc(pool, sizeof(apr_threadattr_t)); 4-----> (*new)->attr = (pthread_attr_t *)apr_pcalloc(pool, sizeof(pthread_attr_t)); 5 6-----> if ((*new) == NULL || (*new)->attr == NULL) { 7-----> return APR_ENOMEM; 8-----> } 9 10----->(*new)->pool = pool; 11----->stat = pthread_attr_init((*new)->attr); 12 13-----> if (stat == 0) { 14-----> return APR_SUCCESS; 15-----> } 16----->#ifdef PTHREAD_SETS_ERRNO 17----->stat = errno; 18----->#endif 19 20----->return stat; 21
次のコードを13行目よりも前に追加します。
int stacksize = 1 << 20; pthread_attr_setstacksize(&(*new)->attr, stacksize);
configure、make、make installを実行して、mpm_worker_moduleを使用するApache Webサーバーを設定します。
認証イベントの失敗: Domino Webサーバーの場合、Access Managerを介したURLのりダイレクトは、認証タイプがBasic Over LDAPに設定され、リダイレクトされるURLが次のいずれかで示されていると、動作しないことがあります。
認証の失敗イベントを解決するには、ホスト識別子グループの下で定義されていないコンピュータ名を使用してリダイレクトされるURLを設定する必要があります。たとえば、コンピュータのIPアドレスです。
この問題はフォームベースの認証タイプでは発生しません。
ヘッダー変数: クライアント証明書認証スキームを使用しているときに、REMOTE_USER以外のヘッダー変数を、Lotus Notes Domino WebサーバーにインストールされたWebgateに渡すことができない場合があります。
たとえば、ヘッダー変数はクライアント証明書認証を発生させるリクエストには設定できません。しかし、その他のすべてのリクエストにはヘッダー変数を設定できます。
詳細は、「10g WebGates向けのLotus Domino Webサーバーの構成」を参照してください。
症状
Webサーバー・インスタンスの作成に使用したものと違うユーザーIDを使用してUNIXにAccess Managerをインストールすると、Access Managerが不安定になることがあります。次のような動作が発生する可能性があります。
ランダムなバグ・レポート・ページ
ログ・ファイルへの書込み失敗エラー
Webページへのアクセスの消失
解決策
chownコマンドを使用してファイルの権限を変更します。Access Managerディレクトリを、Webサーバー・インスタンスを作成するのに使用したのと同じユーザーIDに変更します。
WebgateはISAPIの拡張を使用してユーザー拒否エラー・メッセージおよび診断ページを表示します。しかし、ISA 2006は拡張をサポートしていません。そのため、
ユーザーがWebgateによりアクセス拒否される場合、ユーザーはAccess Managerのアクセス拒否エラー・メッセージではなく、ページが表示されないエラー・メッセージを受け取ります。
診断URL、http(s)://hostname:port/access/oblix/apps/webgate/bin/webgate.dll?progid=1は、ISAに対しては動作しません。
問題
Oracle HTTP ServerにWebgateインスタンスをインストールすると、サーバーが起動しません。
ノート:
Access Managerの実行時は、デフォルトではLinuxThreadsが使用されます。これは環境変数LD_ASSUME_KERNELが2.4.19に設定されていることが必要です。NPTLをAccess Managerとともに使用している場合、LD_ASSUME_KERNELは2.4.19.9に設定しません。
原因
これは、Access Managerで古いLinuxスレッド・モデルを使用しているために発生します。
解決策
LinuxThreadsモードを使用している場合、次の手順の説明に従い、httpd.confファイルのPerlモジュールをコメント・アウトし、LD_ASSUME_KERNEL環境変数を更新して再起動します。
LinuxThreadsモードでOracle HTTP Serverの開始の失敗を解決する手順
次の場所にあるhttpd.confファイルのPerlモジュールをコメントアウトします。
Oracle HTTP Server 11g: $ORACLE_INSTANCE/config/OHS
/ohs_name/
httpd.conf
Oracle HTTP Server v2: OH$
/ohs/conf/httpd.conf
Oracle HTTP Server v1.3: OH$
/Apache/Apache/conf/httpd.conf
LD_ASSUME_KERNELの値を更新するには、テキスト・エディタで次のファイルを開きます。
OH$
/opmn/conf/opm.xml
次の行を探します。
<process-type id="HTTP_Server" module-id="OHS">
前のステップで見つけた行の下に次の情報を追加します。
<environment> <variable id="LD_ASSUME_KERNEL" value="2.4.19" /> </environment>
このファイルを保存します。
次のコマンドを実行して変更を実装します。
opmnctl stopall opmnctl startall
この状況はAccess ManagerをLinuxThreadsまたはNPTLのどちらとともに使用していても発生する可能性があります。
症状
Red Hat Enterprise Serverバージョン4.0が2.6.9-34.ELよりも低いカーネル・バージョンで実行しているOracle HTTP Serverにインストールされた場合に、Webゲートは初期化に失敗します。バージョン2.6.9-34.ELはRed Hatバージョン4、アップデート3とともに提供されます。
解決策
この問題を防ぐには、Red Hatバージョン4、アップデート3またはそれ以上にアップグレードする必要があります。
問題
Oracle Application Server 10.1.x、OC4Jでは、Webgateのインストール中にhttpd.confファイルが自動的に修正されるときに、破損する可能性があります。
解決策
Webgateのインストール前に、次のコマンドを実行して、httpd.confファイルが上書きされることを防ぎます。
$ORACLE_HOME/dcm/bin/dcmctl updateConfig -ct ohs
IIS 6 Webサーバーでのみ、WWWサービスをIIS 5.0分離モードで実行する必要があり、これはISAPI postgateフィルタの要件です。この例は、32ビットWindowsオペレーティング・システムで実行している32ビットのAccess Managerバイナリがある場合に動作します。しかし、IISが32ビット・モードで実行している64ビットWindowsマシンで32ビットpostgate.dllを実行しようとすると問題が発生します。
問題
IISがIIS5.0分離モードで実行している場合、次のメッセージが表示されます。
ISAPIフィルタ'C:\webgate\access\oblix\apps\webgate\bin\webgate.dll'は構成の問題が原因でロードできませんでした。
原因
現在の構成はAMD 64ビット・プロセッサ・アーキテクチャ用に作成されたイメージのロードのみをサポートします。データ・フィールドにはエラー番号が含まれます。
解決策
この問題の詳細は、この種類のプロセッサ・アーキテクチャの不一致のエラーのトラブルシューティング方法も含め、次のWebサイトを参照してください。
http://go.microsoft.com/fwlink/?LinkId=29349
詳細は、次のヘルプとサポート・センターを参照してください。
http://go.microsoft.com/fwlink/events.asp
問題
IIS5は64ビットとして存在することはありません。しかし、64ビットWindowsコンピュータ上でのIIS v6のIIS5互換モードだけは64ビットとして実行します。
原因
次のURLで参照できるドキュメントで説明されているとおり、64ビットWindowsでIIS5分離モード32ビットを実行することはアーキテクチャ上不可能です。
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.pu blic.inetserver.iis&tid=5dd07102-8896-40cc-86cb-809060fa9426&cat=en_US_ 02ceb021-bb43-476d-8f8f-6c00a363ccf5&lang=en&cr=US&p=1
http://blogs.msdn.com/david.wang/archive/2005/12/14/HOWTO-Diagnose-one-cause-of-W3 SVC-failing-to-start-with-Win32-Error-193-on-64bit-Windows.aspx
症状
Sun Webサーバーを開始しようとしたときに、次のようなエラーが発生します。
Unable to start, PCLOSE
解決策
解決策: たくさんの問題がこのエラーを引き起こす可能性があります。
obj.conf
ファイルの構文エラー
obj.conf
ファイルの先頭のスペース
Webサーバー・インスタンスの作成に使用したのとは異なるユーザーIDでのAccess Managerのインストール
obj.conf
ファイルの最後にある改行
Access ManagerがMicrosoftのIIS Webサーバーで実行している場合、Access Managerを再インストールするときには次のISAPIフィルタを手動でアンインストールおよび再インストールする必要があります。
tranfilter.dll
oblixlock.dll
(Webgateがインストール済の場合)
webgate.dll
(Webgateがインストール済の場合)
IIS DLLを削除および再インストールする手順
Access Managerをアンインストールします。
前述のDLLを手動でアンインストールします。
Access Manager.Active Directoryを再インストールします。
DLLを手動で再インストールします。
ノート:
これらのフィルタは使用しているIISのバージョンにより異なる可能性があります。これらのフィルタが存在しないまたは別のものが存在する場合、存在するフィルタを削除する必要があるかどうかはOracleにお問い合せください。