iPlanet Web Server Enterprise Edition リリース ノート

バージョン 4.1 SP5

更新日 2000 年 12 月 6 日




このリリース ノートには、iPlanet Web Server Enterprise Edition のバージョン 4.1 SP 5 のリリース時点で提供されていた重要情報が含まれています。ここでは、新しい機能および拡張された機能、インストールの注意事項、判明している問題、および他の最新情報を扱っています。iPlanet Web Server Enterprise Edition を使用する前にこのドキュメントをお読みください。

このリリース ノートのオンライン バージョンは、Web サイト http://docs.iplanet.com/docs/manuals/ に掲載されています。ソフトウェアのインストールと設定を行う前にこの Web サイトをご覧ください。また、この Web サイトを定期的に訪れ、最新のリリース ノートやマニュアルをチェックしてください。

このリリース ノートには次の節があります。





iPlanet Web Server, Version 4.1 の最新情報

iPlanet Web Server Enterprise Edition バージョン 4.1 にはいくつかの拡張が行われました。これらの拡張機能については次の節で説明します。

iPlanet Web Server バージョン 4.1 で解決された問題のリストについては、解決された問題を参照してください。

JSP カスタム タグ ライブラリの作成

iPlanet Web Server 4.1 では、カスタム JSP タグがサポートされています。この節では、作業例を使用してカスタム タグ ライブラリを作成する方法について説明します。この例には、ドキュメント ルート ディレクトリの下にある次のディレクトリおよびファイルが含まれています。




/dtds/
   web-jsptaglib_1_1.dtd

/jsps/
   test-tags.jar
   test-tags.jsp




test-tags.jar ファイルを作成するには、タグ ライブラリとその関連ハンドラ クラスをビルドするための作業領域を作成する必要があります。この作業領域には、次のディレクトリおよびファイルが含まれています。




workarea/taglibs/
   ./META-INF:
      taglib.tld
   ./examples:
      ExampleTagBase.class
      ExampleTagBase.java
      FooTag.class
      FooTag.java
      FooTagExtraInfo.class
      FooTagExtraInfo.java
      LogTag.class
      LogTag.java




タグ ライブラリおよびハンドラ クラスのサンプル ファイル セットは両方とも、iPlanet Web Server 4.1の次のディレクトリ内に入っています。

server_root/plugins/samples/servlets/taglibs

手順 1: TLD ファイルの作成

まず、カスタム タグとその関連ハンドラ クラスの概要を示すタグ ライブラリ定義 (TLD) ファイルを作成する必要があります。この TLD ファイルは XML 1.0 ファイルです。

TLD ファイルは、関連付けられた DTD ファイルを参照する必要があります。DTD ファイルの名前は web-jsptaglib_1_1.dtd でなければなりません。DTD ファイルは、iPlanet Web Server の Web サイトからダウンロードすることができます。DTD ファイルには、TLD ファイル内の URL (たとえば、http://server:port/dtds/web-jsptaglib_1_1.dtd) を介してアクセスできるようにする必要があります。DTD ファイルの URL が間違っているか、DTD ファイルが破損している場合、カスタム タグを含んでいる JSP を開くことはできません。

タグ ライブラリには taglib.tld という名前を付ける必要があり、手順 4 で作成する taglib.jar ファイル内の META-INF サブディレクトリの下に置く必要があります。

taglib.tld ファイルの例は次のとおりです。

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://server:port/dtds/web-jsptaglib_1_1.dtd">

<!-- a tag library descriptor -->

<taglib>
<!-- after this the default space is
"http://java.sun.com/j2ee/dtds/jsptaglibrary_1_2.dtd"
-->

<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<prefix>simple</prefix>
<urn></urn>
<info>
A simple tab library for the examples
</info>

<!-- A simple Tag -->
<!-- foo tag -->
<tag>
<name>foo</name>
<tagclass>examples.FooTag</tagclass>
<teiclass>examples.FooTagExtraInfo</teiclass>
<bodycontent>JSP</bodycontent>
<info>
Perform a server side action; uses 3 mandatory attributes
</info>

<attribute>
<name>att1</name>
<required>true</required>
</attribute>
<attribute>
<name>att2</name>
<required>true</required>
</attribute>
<attribute>
<name>att3</name>
<required>true</required>
</attribute>
</tag>

<!-- Another simple tag -->
<!-- log tag -->
<tag>
<name>log</name>
<tagclass>examples.LogTag</tagclass>
<bodycontent>TAGDEPENDENT</bodycontent>
<info>
Perform a server side action; Log the message.
</info>
<attribute>
<name>toBrowser</name>
<required>false</required>
</attribute>
</tag>

</taglib>

taglib.tld ファイル内に DOCTYPE を含めないと、JSP コンパイラは次の例外を返します。

Unable to open taglibrary /jsps/test-tags.jar : com.sun.xml.tree.TextNode

手順 2: タグ ハンドラ クラスの作成

ExampleTagBase.java ファイルは次のとおりです。

package examples;

import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public abstract class ExampleTagBase implements Tag {

public void setParent(Tag parent) {
this.parent = parent;
}

public void setBodyContent(BodyContent bodyOut) {
this.bodyOut = bodyOut;
}

public void setPageContext(PageContext pageContext) {
this.pageContext = pageContext;
}

public Tag getParent() {
return this.parent;
}

public int doStartTag() throws JspException {
return SKIP_BODY;
}

public int doEndTag() throws JspException {
return EVAL_PAGE;
}


// Default implementations for BodyTag methods as well
// just in case a tag decides to implement BodyTag.
public void doInitBody() throws JspException {
}

public int doAfterBody() throws JspException {
return SKIP_BODY;
}

public void release() {
bodyOut = null;
pageContext = null;
parent = null;
}
protected BodyContent bodyOut;
protected PageContext pageContext;
protected Tag parent;
}

Here is the FooTag.java file:

package examples;

import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.util.Hashtable;
import java.io.Writer;
import java.io.IOException;

/**
* Example1: the simplest tag
* Collect attributes and call into some actions
*
* <foo att1="..." att2="...." att3="...." />
*/

public class FooTag
extends ExampleTagBase
implements BodyTag
{
private String atts[] = new String[3];
int i = 0;

private final void setAtt(int index, String value) {
atts[index] = value;
}

public void setAtt1(String value) {
setAtt(0, value);
}

public void setAtt2(String value) {
setAtt(1, value);
}

public void setAtt3(String value) {
setAtt(2, value);
}

/**
* Process start tag
*
* @return EVAL_BODY_INCLUDE
*/
public int doStartTag() {
return EVAL_BODY_TAG;
}
public void doInitBody() throws JspException {
pageContext.setAttribute("member", atts[i]);
i++;
}

public int doAfterBody() throws JspException {
try {
if (i == 3) {
bodyOut.writeOut(bodyOut.getEnclosingWriter());
return SKIP_BODY;
} else
pageContext.setAttribute("member", atts[i]);
i++;
return EVAL_BODY_TAG;
} catch (IOException ex) {
throw new JspException(ex.toString());
}
}
}

FooTagExtraInfo.java ファイルは次のとおりです。

package examples;

import javax.servlet.jsp.tagext.*;

public class FooTagExtraInfo extends TagExtraInfo {
public VariableInfo[] getVariableInfo(TagData data) {
return new VariableInfo[]
{
new VariableInfo("member",
"String",
true,
VariableInfo.NESTED)
};
}
}

LogTag.java ファイルは次のとおりです。

package examples;


import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

import java.io.IOException;

/**
* Log the contents of the body. Could be used to handle errors etc.
*/
public class LogTag
extends ExampleTagBase
implements BodyTag
{
boolean toBrowser = false;

public void setToBrowser(String value) {
if (value == null)
toBrowser = false;
else if (value.equalsIgnoreCase("true"))
toBrowser = true;
else
toBrowser = false;
}

public int doStartTag() {
return EVAL_BODY_TAG;
}

public int doAfterBody() throws JspException {
try {
String s = bodyOut.getString();
System.err.println(s);
if (toBrowser)
bodyOut.writeOut(bodyOut.getEnclosingWriter());
return SKIP_BODY;
} catch (IOException ex) {
throw new JspException(ex.toString());
}
}
}

手順 3: タグ ハンドラ クラスのコンパイル

java クラスの作業ディレクトリ (たとえば、workarea/taglibs/examples) に切り替え、クラスをコンパイルして適切なクラスパスを設定します。次のコマンドは、すべて 1 行で入力する必要があります。




/usr/java1.2/bin/javac -classpath java_home/jre/lib/rt.jar:server_root/bin/https/jar/servlets.jar:server_root/bin/http s/jar/jspengine.jar *.java



手順 4: JAR ファイルの作成

作業ディレクトリ (たとえば、workarea/taglibs) から taglib.tld ファイルとクラス ファイルを含んでいる JAR ファイルを作成します。次のコマンドを使用します。

jar cvf ../test-tags.jar .

次の出力が画面上に表示されます。




adding: META-INF/ (in=0) (out=0) (stored 0%)
adding: META-INF/taglib.tld (in=1459) (out=581) (deflated 60%)
adding: examples/ (in=0) (out=0) (stored 0%)
adding: examples/domake (in=235) (out=135) (deflated 42%)
adding: examples/ExampleTagBase.java (in=1123) (out=395) (deflated 64%)
adding: examples/FooTag.java (in=1455) (out=571) (deflated 60%)
adding: examples/FooTagExtraInfo.java (in=426) (out=191) (deflated 55%)
adding: examples/LogTag.java (in=994) (out=450) (deflated 54%)
adding: examples/FooTagExtraInfo.class (in=539) (out=320) (deflated 40%)
adding: examples/ExampleTagBase.class (in=1221) (out=548) (deflated 55%)
adding: examples/FooTag.class (in=1553) (out=784) (deflated 49%)
adding: examples/LogTag.class (in=1249) (out=702) (deflated 43%)




これが完了すると、workarea ディレクトリ内に test-tags.jar ファイルが表示されます。次のコマンドを入力してこれを確認します。

ls -ltr test-tags.jar

次のような出力が画面上に表示されます。

-rw-r--r-- 1 joe staff 7009 May 18 02:37 test-tags.jar

このファイルを JSP ディレクトリにコピーします。

cp test-tags.jar jsp_location/jsps

手順 5: クラスパスへの JAR ファイルの追加

server_root/https-server_id/config/jvm12.conf ファイル内のjvm.classpath オプションを編集して、カスタム タグ ライブラリ ファイルへのパスを含めます。次の例は、すべて 1 行でファイル内に書き込む必要があります。

jvm.classpath=java_home/jre/lib/rt.jar:java_home/lib/tools.jar:jsp_location/jsps/test-ta gs.jar

次に、カスタム タグ ライブラリ ファイルが、通常の Java ランタイムおよびツールと共にサーバのクラスパスに追加されたことを確認します。

また、taglib.tld ファイル内で指定した URL で web-jsptaglib_1_1.dtd ファイルにアクセスできることを確認します。この DTD の URL が見つからないと、ログ ファイルに次のようなエラーが記録されます。

Unable to open taglibrary /jsps/test-tags.jar : Unable to open the tag library descriptor: Stream closed.

手順 6: JSP ファイルの作成

この節では、カスタム タグを使用する JSP ファイルの例を示します。カスタム プレフィックスの tt は、カスタム タグ ライブラリに渡されるタグ (foo タグと log タグ) を示します。




<%@ page language="java" %>
<%@ taglib prefix="tt" uri="/jsps/test-tags.jar" %>

<title>Testing taglibs </title>

<h1>Testing Jsp taglibs! </h1>

<p><em><tt:foo att1="hello" att2="world" att3="tags" /></em><br>
<p><em><tt:log toBrowser="true" /> Hello Taglibs!</em><br>




手順 7: カスタム タグのテスト

次の URL をブラウザに入力します。

http://server:port/jsps/test-tags.jsp

ブラウザには次のように表示されます。

Testing Jsp taglibs!

Hello Taglibs!

ハードウェア トークンへの複数のサーバ証明書の保存

ハードウェア トークンに複数のサーバ証明書を保存するには、次の手順に従います。

  1. ソフトウェア認証データベースを作成します。作成が不要であると Web ページに示されていても作成してください。

  2. サーバのインストール時に、サーバのニックネームを変更します。ただし、ニックネームを変更しないように指示する Web ページの場合、これは違反行為となります。

  3. CERTDefaultNickname ディレクティブを使用して、各サーバの magnus.conf ファイルに未登録の行を追加します。

magnus.conf ファイルの新しい MaxRqHeaders ディレクティブ

リクエスト ヘッダのデフォルトの制限は 32 エントリであり、必要に応じて magnus.conf ファイルのMaxRqHeaders nn ディレクティブを使用して、より大きな値に調整することができます。リクエスト ヘッダを 32 よりも小さく設定することはできないので注意してください。

magnus.conf ファイルの新しい ReentrantTimeFunctions ディレクティブ (Solaris のみ)

新しい magnus.conf ディレクティブ、ReentrantTimeFunctions on|off は、新しい再入可能な時間関数を有効にします。新しい再入可能な関数は Solaris プラットフォームでのみサポートされています。

ReentrantTimeFunctionson の場合、サーバ起動スクリプト内の TZ 環境変数の対応値を強制することをお勧めします。TZ 値の例は次のとおりです。

TZ="EST5EDT"; export TZ # eastern time
TZ="PST8PDT"; export TZ # pacific time
TZ="MET-1MEST,M3.5.0,M10.5.0" # middle european time with posix DST rules

environ(5) マニュアル ページに TZ 環境変数の値のリストが表示されます。このページには、コマンド プロンプトで次のように入力してアクセスすることができます。

man -s 5 environ

リストされている TZ 値は、時間帯データベース ファイル (US/Pacific など) 以外、すべてサポートされています。

新しいプラットフォーム : Linux のサポート

iPlanet Web Server Enterprise Edition version 4.1 は、Linux プラットフォーム (カーネル 2.2.12 以降および glibc-2.1.2 以降) 上で動作します。

JavaScript および Java の拡張

iPlanet Web Server Enterprise Edition 4.1 では、次の JavaScript および Java 拡張が行われています。

ノート : iPlanet Web Server Enterprise Edition 4.1 では、HttpApplets とも呼ばれる Java サーバサイド アプレットはサポートされていません。代わりに Java Servlet を使用してください。

Forte for Java を使用した Servlet のデバッグ

Forte for Java デバッガを使用できるように iPlanet Web Server Enterprise Edition 4.1 を設定するには、次の手順に従います。

  1. まだ設定していない場合は、Programmer's Guide to Servlets の説明に従って、iPlanet Web Server に必要な JDK バージョン 1.2.x をインストールします。必要なバージョンは、プラットフォームによって異なります。

  2. JDK バージョン 1.3 をインストールします。JDK バージョン 1.3 は次のサイトから入手することができます。

    http://java.sun.com/j2se/1.3/

    iPlanet Web Server は JDK バージョン 1.2.x を使用しますが、Forte for Java にはバージョン 1.3 が必要です。

  3. Forte for Java, Community Edition 1.0 をインストールします。Forte for Java, Community Edition 1.0 は次のサイトから入手することができます。

    http://www.sun.com/forte/ffj/ce/

  4. iPlanet では、JPDA もインストールすることを強くお勧めします。JPDA は次のサイトから入手することができます。

    http://java.sun.com/products/jpda/

  5. JPDA がインストールされている場合は、jpda_install/bin ディレクトリから jdk1.2_install/jre/bin ディレクトリにすべてのファイルをコピーします。また、jpda_install/lib ディレクトリから jdk1.2_install/jre/lib/ext ディレクトリにjpda.jar ファイルもコピーします。

    JPDA は JDK 1.3 ではなく 1.2 で動作するので注意してください。

  6. Windows NT では、次の行を obj.conf ファイルに追加して NT コンソールを有効にします。

    Init fn="nt-console-init" stdout=console stderr=console

  7. リモート デバッグが有効になるように jvm12.conf ファイルを編集します。JPDA をインストールしていない場合は次の行を追加します。

    jvm.enableDebug=1
    jvm.compiler=NONE
    jvm.printErrors=1

    JPDA をインストールしている場合は、次の行を追加します。

    jvm.enableDebug=1
    jvm.compiler=NONE
    jvm.printErrors=1
    jvm.option=-classic
    jvm.option=-Xnoagent
    jvm.option=-Xrunjdwp:transport=dt_socket,server=y,suspend=n

  8. Forte for Java を起動し、デバッグする Servlet が保存されているディレクトリをマウントします。

  9. iPlanet Web Server を起動します。次のような行がコンソールに表示されます。

    Listening for transport dt_socket at address: port_number

    この port_number を入力します。

  10. Forte for Java で、[Debug menu and the Attach to VM... ] オプションを選択します。[Port:] テキスト ボックス内にport_number を入力して [OK] を選択します。

これで、Servlet のデバッグの準備が整いました。

パフォーマンスの向上

perfdump 出力の変更

次の情報は、perfdump 出力には含まれません。

SessionCreationInfo:
------------------
Total Sessions Created 48/1224
Sessions In Free List 0
Active Sessions From Free List 0

サーバにおけるスレッドのメモリの解放方法が変更されたため、Sessions In Free List および Active Sessions From Free List エントリは削除されています。エントリは、perfdump 出力の次のセクションに移動しています。

ListenSocket #0:
------------------
Address https:\\INADDR_ANY:80
ActiveThreads 48
WaitingThreads 47
BusyThreads 1
Thread limits 48/512
Total Sessions 48/712

ActiveThreadsWaitingThreadsBusyThreads、および Thread limits エントリに変更はありません。

以前、Total Sessions エントリは、Total Sessions Created でした。その最大値は (RqThrottle + KAPool) より小さくなっています。iPlanet Web Server Enterprise Edition version 4.1 のスレッドのメモリの解放方法は合理化されており、特に負荷の重い (>12000 ヒット/分) サイトのサーバのパフォーマンスが向上しています。

サーバがその RqThrottle + KAPool 制限に達する (ヒットする) と (この場合は 712)、エラーは、次のようにエラー ログに記録されます。

[date][pid] The server has created it configured maximum number of threads, %d.

このエラーはプロセス時に一度だけ生成され、MaxProcs が 1 より大きい場合は、子プロセスごとに生成されます。

設定されているスレッドの最大数に達したからといって、サーバ内のスレッド数を盲目的に増やす必要はありません。スレッド数は大きければ良いというものではありません。スレッドの制限数に達したということは単に、サーバがある時点 (負荷ピーク時) でこの制限数のスレッドを必要としたことに過ぎません。したがって、サーバが適時リクエストを処理できるのであれば、サーバの調整は十分です。定期的に perfdump 出力をチェックし、BusyThreads が 頻繁に RqThrottle 最大値に達する場合は、スレッドの制限数を多くしてください。

セキュリティの強化

iPlanet Web Server Enterprise Edition 4.1 ではセキュリティの強化が行われました。次の節でこれらについて説明します。

FORTEZZA のサポート

iPlanet Web Server Enterprise Edition 4.1 では、FORTEZZA 暗号化がサポートされています。




ノート

SSL クライアント認証では、クライアント証明書を発行した証明機関は、サーバによる認証を受ける必要があります。Netscape FORTEZZA サーバの旧バージョンでは、クライアントの動作について、サーバの FORTEZZA カードから PAA を自動的に認証します。4.x サーバでは、この認証は行われません。その代わり、管理者は、PAA 証明書を、信頼できるクライアント証明機関としてインストールする必要があります。




password.conf ファイル内のキー データベース パスワードの新規サポート

デフォルトでは、管理者は Web サーバを起動する前にキー データベース パスワードの入力を要求されます。Web サーバを自動的に再起動できるようにする場合は、password.conf ファイルにパスワードを保存する必要があります。このファイルとキー データベースが損なわれないように、システムが適切に保護されていることを確認してください。

パスワードを設定するには、サーバ インスタンスの config サブディレクトリ内に新しい password.conf ファイルを作成します。サーバに付属の内部 PKCS#11 ソフトウェア暗号化モジュールを使用している場合は、次の情報を入力します。

Communicator Certificate DB : yourpassword

別の PKCS#11 モジュール (ハードウェア暗号化用やハードウェア アクセラレータ用など) を使用している場合は、次のように PKCS#11 モジュールの名前に続けてパスワードを指定する必要があります。

nFast: yourpassword

その他の情報





必要なパッチ

次のプラットフォームに必要なパッチをリストします。

Sun Solaris パッチ

iPlanet Web Server Enterprise Edition バージョン 4.1 の Solaris ユーザには次のパッチをお勧めします。また、これらのパッチは、Sun の推奨パッチ リスト内にもあります。Sun の推奨パッチ リストについては、http://sunsolve.sun.com/pubpatch を参照してください。Sun のパッチを入手するには、最寄りの Sun サービス プロバイダまでお問い合わせください。

各パッチには、リストに記載されているリビジョン以降のリビジョンを使用します。たとえば、パッチ 111111-01 が必要な場合は、それ以降のリビジョンである 111111-03 を使用することができます。

JDK を使用している場合は、追加パッチが必要な場合があるので注意してください。

Solaris 2.6

次のパッチは、Solaris 2.6 で iPlanet Web Server Enterprise Edition 4.1 を実行するユーザのための推奨パッチです。

Solaris 7

次のパッチは、Solaris 7 で iPlanet Web Server Enterprise Edition 4.1 を実行するユーザにお勧めします。

Solaris 対応のコンパイラ用パッチ

次の Solaris パッチは、コンパイラを使用するユーザにお勧めします。

HP パッチ

iPlanet Web Server Enterprise Edition 4.1 の HP ユーザには次のパッチをお勧めします。また、これらのパッチは、HP の推奨パッチ リスト内にもあります。HP の推奨パッチ リストについては、http://us-support.external.hp.com/index.html/ を参照してください。

Compaq Tru64 パッチ

iPlanet Web Server Enterprise Edition 4.1 の Compaq Tru64 ユーザには次のパッチをお勧めします。

Windows NT サービス パック

Service Pack 6 がインストールされたWindows NT 4.0 が必要です。





インストール、アップグレード、および移行に関する情報

この節には、iPlanet Web Server のインストール、アップグレード、および移行に関する情報が記載されています。システムの必要条件や製品のインストール方法の詳細については、インストールおよび移行ガイドを参照してください。

次の表は、iPlanet Web Server でサポートされているプラットフォームの概要を示しています。すべてのプラットフォームにおいて、64 MB のメモリと 150 MB のディスク容量が必要となります。



表 2    iPlanet Web Server 4.1 でサポートされているプラットフォーム

ベンダー

アーキテクチャ

オペレーティング システム

Compaq 

Alpha 

Tru64 4.0d、4.0e*、4.0f* 

Hewlett-Packard 

PA-RISC 

HP-UX 11.0、11.0 64 ビット* 

Silicon Graphics** 

MIPS 

SGI IRIX 6.5.6 

Sun 

SPARC 

Solaris 2.6、2.7*、2.8 

Intel 

Pentium 

Windows NT 4.0 

RedHat 

x86 

glibc 2.1.2 を適用済みの Linux 2.2.12 (RedHat 6.1) 

IBM 

Power PC 

IBM AIX 4.3.3 

* バイナリ互換性によるサポート

** SGI は独自の移植を行っており、Web サーバを別個に発売しています。

また、この節には次の情報が記載されています。

自動インストール (Unix および Linux)

複数の iPlanet Web Server をインストールする場合は、自動インストールを使用して、セットアップ プログラムのプロンプトに対する応答のファイルを作成することができます。作成した install.inf ファイルを編集し、その後の iPlanet Web Server のインストールにこのファイルを使用することができます。自動インストールが最も効果を発揮するのは、標準インストールを使用し、すべてのインストールが同様である場合です。




ノート

Windows NT では、自動インストールは動作しません。







注意

install.inf ファイルには、Administration Server へのログオンに使用されるパスワードが含まれています。このパスワードは暗号化されていないプレーン テキストです。自動インストールを使用する場合は、作業が完了した後に必ず install.inf ファイルを削除してください。




自動インストールを使用するには、次の手順に従います。

  1. -k オプションを付けてセットアップを実行します。これにより、インストーラのプロンプトに対するすべての応答が含まれている install.inf ファイルが作成されます。コマンド プロンプトで次のように入力します。

    ./setup -k

  2. インストーラのプロンプトに答え、iPlanet Web Server をインストールします。

  3. サーバをインストールした後、server_root/setup ディレクトリに移動し、install.inf ファイルを見つけます。

  4. セットアップを実行して次の iPlanet Web Server をインストールするディレクトリに install.inf ファイルをコピーします。

  5. 次にインストールするサーバの値に合わせて install.inf ファイル内の値を編集します。たとえば、マシン名、ポート番号、インストール ディレクトリなどを変更します。

  6. install.inf ファイルを入力として使用してセットアップを実行します。例は次のとおりです。

    ./setup -s -f install.inf

サーバがインストールされます。

install.inf ファイルの例は次のとおりです。

[General]
FullMachineName= austen.iplanet.com
SuiteSpotUserID= annh
SuitespotGroup= staff
SecurityCheck= False
RequireDomain= False
ServerRoot= /usr/netscape/server4
Components= WebServer

[WebServer]
Upgrade= False
Reinstall= False
AdminPort= 8888
HttpPort= 1888
HttpDocRoot= /usr/netscape/server4/docs
AdminSysUser= annh
AdminName= admin
AdminPassword= password
UgLdapUse= Yes
UgLdapUrl= ldap://test:389/o=siroe.com
UgLdapName= cn=Directory Manager
UgLdapPassword= password
JRE_DIR= /usr/netscape/server4/bin/https/jre
USE_JDK= No
CompVersions= 2:2:1:2:0:0:0:0:0:
Components= nescore,JRE,java,cleanup

[cleanup]
Archive= cleanup.zip

次の表は、編集に役立つ一部の install.inf パラメータを示しています。最適な結果を得るには、この表に記載されているパラメータ以外は編集しないでください。



表 3    install.inf パラメータ

パラメータ名

説明/用途

FullMachineName 

マシン名。 

SuiteSpotUserID 

iPlanet Web Server のデフォルト インスタンスを実行するときに使用するユーザ ID。 

SuiteSpotGroup 

iPlanet Web Server のデフォルト インスタンスを実行するユーザが属しているグループ。 

ServerRoot 

サーバをインストールするディレクトリ。 

AdminPort 

Administration Server のポート。 

HttpPort 

デフォルトの iPlanet Web Server インスタンスのポート。 

HttpDocRoot 

iPlanet Web Server インスタンスのドキュメント ルート。 

AdminSysUser 

Administration Server を実行するときに使用する Unix ユーザ ID。 

AdminName 

Administration Server の管理画面にアクセスするときに使用するユーザ名。 

AdminPassword 

Administration Server の管理画面にアクセスするときに使用するパスワード。 

UgLdapUse 

Yes と No によって、LDAP ディレクトリ サーバを使用しているかどうかを示します。 

UgLdapUrl 

使用しているディレクトリ サーバの LDAP URL。 

UgLdapName 

使用しているディレクトリ サーバのバインド DN。 

UgLdapPassword 

ディレクトリ サーバのパスワード。 

JRE_Dir 

iPlanet Web Server に付属の JRE をインストールする場合、JRE がインストールされるディレクトリ。 

USE_JDK 

Yes と No によって、JDK を使用しているかどうかを示します。 

JDK_DIR 

JDK がインストールされているディレクトリ。 

インストールの問題


問題 383924。サブコンポーネントのインストール

サーバを最初にインストールするときに一部のサブコンポーネントしかインストールされず、残りのサブコンポーネントを後でインストールすると、次の状況が発生します。


問題 387172 (Linux/Unix)。同じディレクトリへの別の 4.x サーバのインストール

iPlanet Web Server と同じディレクトリに別の 4.x サーバ (たとえば、Netscape Directory Server や Messaging Server) をインストールする場合は、アンインストール時に次の手順に従ってください。

  1. アンインストール スクリプト (uninstall) を別のファイル (uninstslapd など) にコピーします。

  2. uninstall を使用して iPlanet Web Server をアンインストールします。

  3. uninstslapd から uninstall に名前を変更します。

  4. uninstall を使用して Directory Server 4.1 をアンインストールします。


問題 386834、388194 (Windows NT)。同じマシンへの Directory Server または Messaging Server と Web Server のインストール

Netscape Directory Server または Messaging Server と iPlanet Web Server を両方とも同じマシンにインストールする場合は、Web サーバのインストール時にどのバージョンのライブラリをインストールするかを尋ねられたら、system32\libplc.dll を除き、必ず最新バージョンのライブラリを選択してください。同じディレクトリに両方のサーバをインストールした場合は、サーバのアンインストール時に問題が発生することはありません。


回避策

さまざまなディレクトリにサーバをインストールする場合は、次の手順に示すように、まず、アンインストール前に DLL ファイルのコピーを作成してから iPlanet Web Server をアンインストールします。

  1. 一時ディレクトリに NSLDAP32V40.DLL をコピーします。

  2. iPlanet Web Server をアンインストールします。

  3. Directory Server がインストールされているディレクトリに NSLDAP32V40.DLL をコピーし直します。

  4. Directory Server をアンインストールします。


問題 386464。デフォルトの暗号化設定

[暗号化のプリファレンス] ページのデフォルトの暗号化設定値は、magnus.conf ファイルの実際の設定値を正しく反映していない場合があります。


回避策

この問題を修正するには、[暗号化のプリファレンス] ページに移動し、使用する符号化方式を選択し、[保存して適用] をクリックして magnus.conf の設定値を更新します。


問題 388306。iPlanet Web Server 4.1 サブコンポーネントのインストール

サーバを最初にインストールするときに一部のサブコンポーネントしかインストールせず、その後、他のサブコンポーネントに依存するサブコンポーネントをインストールし、インストーラを再実行すると、インストールされたサブコンポーネントが依存するサブコンポーネントが、実際はインストールされているにもかかわらずインストールされていないものとして表示される場合があります。

たとえば、JRE コンポーネントとサーバサイド JavaScript データベース コンポーネントをインストールした場合、次にインストーラを実行したときに、Java、Servlet、およびサーバサイド JavaScript のサブコンポーネントはインストールされていないものとして表示されます。しかし、サーバサイド JavaScript データベース コンポーネントはこれらのサブコンポーネントに依存するため、実際、これらのサブコンポーネントは既にインストールされています。


問題 409342。NT 上で ES 4.1 SP 2 を古いサーバ インスタンスに上書きするとエラー メッセージが表示される。

NT 上で、ES4.1sp2 を古いサーバ インスタンスに上書きする形でインストールしようとすると、インストール プログラムによって、最初に古い設定ディレクトリを削除しなければならないというメッセージが表示されます。

アンインストールの問題


問題 386838。NT からアンインストールするとエラーが表示され、libnspr3.dll および msvcrt.dll が削除されない。

Web サーバを NT からアンインストールすると、「いくつかのファイルを削除できない」というエラー メッセージが表示され、システムから一部のファイルを削除することができません。


問題 385770 (Unix)。バージョン 4.1 にアップグレードした後、アンインストール時にバージョン 4.0 の古いサーバ ファイルが削除されない。

Unix では、iPlanet Web Server をバージョン 4.0 から 4.1 にアップグレードした後に、バージョン 4.0 のサーバをアンインストールしても、この古いバージョンにのみ存在するファイルはアンインストールされません。この問題は、iPlanet Web Server のアップグレード後にアンインストールした場合にのみ発生し、インストール後にアンインストールした場合は発生しません。


回避策

古いバージョンのサーバをアンインストールした後、次のファイルが存在する場合は手作業で削除します。

/bin/https/admin/html/index.lst
/bin/https/admin/html/rmhttp.html
/bin/https/admin/html/sec-activate.properties
/bin/https/admin/html/sec-mgcrt.html
/bin/https/admin/html/status.html
/bin/https/httpadmin/bin/nsesvars
/bin/https/httpadmin/html/index.lst
/bin/https/httpadmin/html/nsesvars.html
/bin/https/httpadmin/html/sec-mgcrt.html
/bin/https/httpadmin/html/sitemon.html
/bin/https/install/misc/de/index.def
/bin/https/install/misc/es/index.def
/bin/https/install/misc/fr/index.def
/bin/https/install/misc/ja/inxex.def
/bin/https/jar/jsp.jar
/bin/https/jar/NSServletTools.jar
/bin/https/jar/swingall.jar
/bin/https/jar/xm14j_1_1_9.jar
/bin/https/lib/libadminutil.so
/manual/https/nsapi/00-prefa.htm
/manual/https/nsapi/bklast.htm
/manual/https/pg/bklast.htm
/manual/https/servlets/2-examp.htm
/manual/https/servlets/bklast.htm
/manual/https/servlets/g-apifix.htm
/manual/https/servlets/jsp092/images/banner.gif
/manual/https/servlets/jsp092/images/beancycle.jpg
/manual/https/servlets/jsp092/images/beans.jpg
/manual/https/servlets/jsp092/images/constructor-index.gif
/manual/https/servlets/jsp092/images/contructors.gif
/manual/https/servlets/jsp092/images/method-index.gif
/manual/https/servlets/jsp092/images/methods.gif
/manual/https/servlets/jsp092/images/pagecycle2.jpg
/manual/https/servlets/jsp092/images/red-ball-small.gif
/manual/https/servlets/jsp092/images/red-ball.gif
/manual/https/servlets/jsp092/images/scenario2.jpg
/manual/https/servlets/jsp092/images/smi.logo.gif
/manual/https/servlets/jsp092/images/yellow-ball-small.gif
/manual/https/servlets/jsp092/images/yellow-ball.gif
/manual/https/servlets/jsp092/jsp092.html
/plugins/lib/libnsrwdb.so
/plugins/lib/libnsrwdb2.so
/plugins/lib/libnsrwifx.so
/plugins/lib/libnsrwora.so
/plugins/lib/libnsrwsyb.so
/plugins/samples/js/oldvideo/*
/plugins/samples/servlets/edemo/*
/plugins/samples/servlets/jsp/*
/wai/*

アップグレードの問題


問題 524885。iPlanet Web Server 4.1 SP リリースをインストールすると、Web パブリッシングが無効になる。

iPlanet Web Server 4.1 SP リリースを、既存の iPlanet Web Server 4.1 に上書きする形でインストールすると、Web パブリッシングが無効になります。


回避策

  1. iPlanet Web Server 4.1 SP リリースをインストールする前に、server_root/https-server_name/search/admin/dblist.ini ファイルのバックアップを作成します。

  2. 既存の iPlanet Web Server 4.1 がインストールされているディレクトリに SP リリースをインストールします。

  3. インストールしたサーバの dblist.ini ファイルを、作成したバックアップ コピーと置き換えます。

  4. アップグレードしたサーバを起動します。


問題 385762。独自の JDK がインストールされた Web Server 4.0 からのアップグレード

iPlanet Web Server 4.0 からアップグレードし、独自の JDK を使用する場合は、server_root/https-admserv にある start-jvm ファイルを編集する必要があります。これには、次の情報を追加します。コードの 2 行目は、start-jvm 内に 1 行で追加する必要があるので注意してください。

NSES_JDK=path_to_jdk; export NSES_JDK

NSES_JDK_RUNTIME_CLASSPATH=${NSES_JRE}/lib/ext/iiimp.jar:${NSES_JRE}/lib/i18n.jar :${NSES_JRE}/lib/rt.jar:${NSES_JRE}/lib/tools.jar:${NSES_JDK}/lib/dt.jar;export NSES_JDK_RUNTIME_CLASSPATH


問題 384875。4.0 から 4.1 への WAI コンポーネントのアップグレード

iPlanet Web Server をバージョン 4.0 から 4.1 にアップグレードし、WAI がインストールされていると、WAI コンポーネントのアップグレード時に次のエラー メッセージが表示されます。

ERROR: ORB directory not specified in installation script [/var/tmp/aaasuaW9b] ERROR. Failure installing WAI support. Do you want to continue [n]?

続行するには、「y」と入力します。エラー メッセージが表示されても、WAI コンポーネントは正常にインストールされます。


問題 387718。iPlanet Web Server 4.1 サーバへのアップグレード時に、res ディレクトリ、cjava.properties および sjava.properties ファイルが追加されない。

NT 上で iPlanet Web Server をアップグレードした場合、サーバ インスタンス内に res ディレクトリとその内容が存在しません。


回避策

server_root/https-instance/config/res ディレクトリを作成し、次に cjava.properties と sjava.properties という名前の ASCII ファイルを作成します。これらのファイルの内容は次のようにする必要があります。

cjava.properties の内容

# C++ messages

servlets.src.nsapi.ERR_JVM_LOAD = Failure to load JVM (check your JRE)
servlets.src.nsapi.ERR_UTILITY_CLASSES = Internal error: Unable to initialize utility classes
servlets.src.nsapi.ERR_CLASS_LOOKUP = Internal error: Unable to locate class: %s
servlets.src.nsapi.ERR_METHODS_LOOKUP = Internal error: Unable to find required methods in Java classes
servlets.src.nsapi.ERR_REGISTER_METHODS = Internal error: Failure registering native methods for the JVM
servlets.src.nsapi.ERR_OBJECT_CREATE = Internal error: Unable to create Java object: %s
servlets.src.nsapi.ERR_OBJECTS_CREATE = Internal error: Unable to create one or more Java objects (possibly running out of heap)
servlets.src.nsapi.ERR_NATIVE_THREAD = One or more NSServlet functions were not configured to be running on a native thread (check your obj.conf)
servlets.src.nsapi.ERR_NAMETRANS = Object name is missing in NameTrans (check your obj.conf)
servlets.src.nsapi.ERR_SERVLETS_MKDIR = Unable to create directory %s (required by the servlet subsystem)
servlets.src.nsapi.ERR_JSPCACHE_CLEANUP = Unable to create/cleanup jsp class cache
servlets.src.nsapi.ERR_OUTOFMEMORY = Internal error: unable to allocate space from pool (%s)
servlets.src.nsapi.ERR_SEMCREATE = Internal error: failure to create semaphores
servlets.src.nsapi.ERR_SESSIONCACHE_CLEANUP = Unable to create/cleanup persistent session data cache

util.src.ERR_EXCEPTION = Internal error: Unexpected Java exception thrown (%s,%s), stack: %s
util.src.ERR_FINDTHROWABLE = Internal error: unable to locate: %s
jvm.src.ERR_JVM_ATTACH = Internal error: Unable to attach to the JVM
jvm.src.ERR_JVM_DETACH = Internal error: Unable to detach from the JVM
jvm.src.ERR_JVM_READCFGFILE = Error reading JVM config file (%s)
jvm.src.ERR_JVM_EXITING = Exiting JVM
jvm.src.ERR_JVM_ABORTING = Aborting JVM
jvm.src.ERR_JVM_EXITING_ON_ABORT = Exiting JVM due to: jvm_abort () and jvm.exitOnAbort > 0
jvm.src.ERR_JVM_EXITING_ON_LOOP = Exiting JVM due to: infinite loop detected in the JVM signal handler
jvm.src.ERR_JVM_CLASSPATH = JVM ClassPath=%s
jvm.src.ERR_JVM_BADPROFILER = Unknown profiler: %s
jvm.src.ERR_JVM_BADPARAM = JVM config: unrecognized parameter (%s)
jvm.src.ERR_JVM_SINGLEPROCESS = No profiling or debugging is allowed in multi-process mode (disabled)
jvm.src.ERR_JVM_PROFILERCLASS = Unable to locate OptimizeIT Audit class
jvm.src.ERR_JVM_PROFILERMETHODS = Unable to locate OptimizeIT Audit class methods
jvm.src.ERR_JVM_PROFILERSTART = Attempt to start OptimizeIT failed (exception: %s,%s)
jvm.src.ERR_JVM_PROFILERSTARTED = OptimizeIT profiler lanched
jvm.src.ERR_JVM_DIFFCONFIG = JVM config: Use configuration file properties to specify this parameter (%s)
jvm.src.ERR_JVM_CREATE = Internal error: unable to create JVM
jvm.src.ERR_JVM_EXISTS = JVM instance has already been created within the process, numVMs=%d
jvm.src.ERR_JVM_EXIT_STATISTICS = JVM exit statistics: AttachedThreads/Max=%u/%u, ActiveThreads/Max=%u/%u

sjava.properties の内容

# Server-side Java properties (primarely may be used for internationalization)

servlet.NSServletEntity.msg_unable2findClass = Unable to locate class: %1 (%2)
servlet.NSServletEntity.msg_exceptionInitFunc = Internal error: unexpected exception thrown from the servlet init function (servlet class=%1): %2, Stack: %3

servlet.NSServletEntity.msg_exceptionNewInstance = Internal error: newInstance failed (servlet class=%1): %2
servlet.NSServletEntity.msg_exceptionInitThrown = Internal error: servlet init function had trown ServletException (servlet class=%1): %2
servlet.NSServletEntity.msg_jspCompileFailed = JSP compilation error: %1, stack: %2
servlet.NSServletEntity.msg_recompilingJSPFile = recompiling JSP file: %1

servlet.NSServletWrapper.msg_exceptionDestroyFunc = Internal error: unexpected exception thrown from the servlet destroy function (servlet class=%1): %2, Stack: %3

servlet.NSServletRunner.msg_wrongSeviceFuncParam = Internal error: service function recieved wrong parameters
servlet.NSServletRunner.msg_exceptionServiceFunc = Internal error: exception thrown from the servlet service function (uri=%1): %2, Stack: %3

servlet.NSServletRunner.msg_missingObjectType = Internal error: ObjectType is missing
servlet.NSServletRunner.msg_wrongObjectType = Internal error: ObjectType has incorrect value - magnus-internal/servlet|jsp expected
servlet.NSServletRunner.msg_infoLoadServet = Internal Info: loading servlet %1
servlet.NSServletRunner.msg_exceptionInitFunc = Internal error: exception thrown from the servlet init function (servlet=%1): %2
servlet.NSServletRunner.msg_exceptionClassNotFound = Internal error: Class %1 not found (servlet=%2):

servlet.NSServletRunner.msg_exceptionLoadServletFailed = Internal error: Failed to load servlet (servlet=%1)

servlet.NSServletRunner.msg_exceptionFindClassName = Internal error: Could not figure out the class name (uri=%1, SCRIPT_NAME=%2)
servlet.NSServletRunner.msg_exceptionFindContext = Internal error: Could not find specifed servlet context (context=%1)
servlet.NSServletRunner.msg_exceptionGetServlet = Internal error: Failed to get GenericServlet. (uri=%1,SCRIPT_NAME=%2)
servlet.NSServletRunner.msg_unable2findServlet = Internal error: unable to locate servlet (%1) by name (probably a configuration error)
servlet.NSServletRunner.msg_fileNotFound = requested file not found (uri=%1, filename=%2)
servlet.NSServletRunner.msg_regexpMarkError = Bad regular expression: %1

servlet.NSServletRunner.msg_sessionMgrNotFound = SessionManager class not found (%1): loading default one
servlet.NSServletRunner.msg_sessionMgrFailure = Unable to instatiate SessionManager class (%1, exception=%2): initializing default one
servlet.NSServletLoader.msg_classSecurity = NSServletLoader: security violation loading class (%1)

session.MMapSession.mgs_unable2Retrieve = Session Manager: unable to retrieve the object (%1)
session.MMapSession.mgs_unable2Store = Session Manager: unable to store the object (%1)
session.MMapSessionManager.msg_sessionType = MMapSessionManager: can manage only MMapSessions

session.SimpleSessionManager.msg_limitReached = SimpleSessionManager: cannot create a new session as the limit on maximum number of sessions has already been reached: (%1)
session.SimpleSessionManager.msg_sessionType = SimpleSessionManager: can manage only SimpleSessions
session.SimpleSessionManager.msg_maxSessionsNotValid = SimpleSessionManager: maximum number of sessions should be an integral number; using a default value (%1)
session.SimpleSessionManager.msg_timeoutNotValid = SimpleSessionManager: session timeout value should be an integral number; using a default value (%1)

session.SimpleSessionManager.msg_simpleSessionManagerDefaultInit = SimpleSessionManager: Default values for maximum number of sessions is %1 with a time out value of %2 seconds
session.SimpleSessionManager.msg_simpleSessionManagerUnbindError = SimpleSessionManager: Failed to call unbind method on an object bound to the session by name (%1) due to %2
session.SimpleSessionManager.msg_simpleSessionManagerInit = SimpleSessionManager: Maximum number of sessions (%1) with a time out value of (%2) seconds

session.JdbcSessionManager.msg_sessionType = JdbcSessionManager: can manage only JdbcSessions
session.JdbcSessionManager.msg_timeoutNotValid = JdbcSessionManager: session timeout value should be an integral number; using a default value (%1)
session.JdbcSessionManager.msg_poolNotValid = JdbcSessionManager: specified pool (%1) size is not valid, will using default value
session.JdbcSessionManager.msg_jdbcSessionManagerInit = JdbcSessionManager: initialized with timeOut=%1, url=%2, driver=%3
session.JdbcSessionManager.msg_jdbcSessionManagerFailed = JdbcSessionManager: initialization failed: %1
session.JdbcSessionManager.msg_sessionsReaped = JdbcSessionManager: %1 session(s) had expired and removed
session.JdbcSessionManager.msg_unable2Store = JdbcSessionManager: unable to serialize the object (%1)
session.JdbcSessionManager.msg_unable2Retrieve = JdbcSessionManager: unable to retrieve the object (%1)
session.JdbcSessionManager.msg_exceptionThrown = JdbcSessionManager: exception occured while %1: session id=%2, exception: %3

servlet.NSRequestDispatcher.msg_invalidReqResClass = ServletRequest/Response classes passed into RequestDispatcher must be NSHttpRequest/Response classes
servlet.NSRequestDispatcher.msg_includeFailed = RequestDispatcher: include call failed
servlet.NSRequestDispatcher.msg_forwardFailed = RequestDispatcher: forward call failed

servlet.NSServletAdmin.msg_badServlet = Config: servlet entry is incorrect or incomplete (%1)
servlet.NSServletAdmin.msg_uknownServlet = Config: on-startup loaded servlet does not exist (%1)
servlet.NSServletAdmin.msg_badAlias = Config: alias entry is incomplete or refers to a non-existing servlet (%1)

jsp.JSPCompiler.msg_noSuchBuffer = Internal error: unable to find JSP buffer %1
jsp.JSPCompiler.msg_compileError = Java/JSP compile error: %1
jsp.JSPCompiler.msg_javacNotThere = Java compiler or classpath is not set up properly

jsp.JSP.msg_badScriptletTag = JSP parse error (line %1) - Incomplete scriptlet tag
jsp.JSP.msg_badTagEnding = JSP parse error (line %1) - Incomplete tag ending of %2
jsp.JSP.msg_compileError = Unknown compile error %1
jsp.JSP.msg_badLanguage = JSP parse error (line %1) - unknown language

jsp.JSPTree.msg_badTag = JSP parse error - %1 tag is invalid
jsp.JSPTree.msg_badSetterType = JSP parse error - invalid bean setter type

jsp.JSPTree.msg_unknownSSI = JSP parse error - unrecognized command in SSI statement: %1
jsp.JSPTree.msg_unknownTagValue = JSP parse error - unrecognized value for %1 tag: %2

jsp.JSPTokenizer.msg_unexpectedEOF = JSP parse error - unexpected end of file

servlet.admin.Sam.msg_noNSHOME = NS_SERVER_HOME property must be defined!
servlet.admin.Sam.msg_badNSHOME = NS_SERVER_HOME is invalid!
servlet.admin.Sam.msg_noServers = No Enterprise Server instances found!
servlet.admin.Sam.msg_serverNotFound= Server not found (%1)
servlet.admin.Sam.msg_badParam = Bad or insufficient parameters to perform command (%1)
servlet.admin.Sam.msg_notExists = Servlet was not found (%1)
servlet.admin.Sam.msg_alreadyExists = Servlet already exists (%1)
servlet.admin.Sam.msg_cannotCreate = Unable to create servlet (%1)
servlet.admin.Sam.msg_listServers = Available server instances:

servlet.admin.SamPanel.HEIGHT = 500
servlet.admin.SamPanel.WIDTH = 700
servlet.admin.SamPanel.title = Servlet Application Manager
servlet.admin.SamPanel.logoIcon = icons/enterprise.gif

servlet.admin.SamPanel.quitTitleMessage = Quiting Sam?

servlet.admin.SamPanel.quitMessage = Changes have been made\nSave?
servlet.admin.SamPanel.menu_File = File
servlet.admin.SamPanel.menu_FileKeey= f
servlet.admin.SamPanel.mb_About = About Sam ...
servlet.admin.SamPanel.mb_Exit = Exit
servlet.admin.SamPanel.mb_ExitKey = e

servlet.admin.ObjDirPanel.l_nsapiFunc = NSAPI function

servlet.admin.ObjDirPanel.b_apply = Apply
servlet.admin.ObjDirPanel.b_restore = Restore

servlet.admin.ObjDirPanel.b_remove = Remove
servlet.admin.ObjDirPanel.t_border = Arguments

servlet.admin.ServletPanel.l_servlet = Servlet
servlet.admin.ServletPanel.l_className = ClassName
servlet.admin.ServletPanel.l_classPath = ClassPath
servlet.admin.ServletPanel.cb_startup = load on startup
servlet.admin.ServletPanel.b_apply = Apply
servlet.admin.ServletPanel.b_restore = Restore
servlet.admin.ServletPanel.b_remove = Remove
servlet.admin.ServletPanel.b_browse = Browse
servlet.admin.ServletPanel.t_border = Initial Arguments
servlet.admin.ServletPanel.l_border = Aliases
servlet.admin.ServletPanel.fc_title = Choose ClassPath directory

servlet.admin.ServletConfigPanel.l_docRoot = Servlets docRoot

servlet.admin.ServletConfigPanel.l_reloadInterval = Reload Interval

servlet.admin.ServletConfigPanel.b_apply = Apply
servlet.admin.ServletConfigPanel.b_restore = Restore


問題 388075。iPlanet Web Server 4.1 へのアップグレード時に obj.conf admin-check-admpw の設定が更新されない。

iPlanet Web Server をバージョン 4.1 にアップグレードすると、Administration Server の obj.conf ファイル内の admin-check-admpw 関数に final=false というパラメータが含められますが、これは、final=true である必要があります。この問題は、iPlanet Web Server をアップグレードした場合のみ発生し、インストールした場合は発生しません。


回避策

アップグレードした後、server_root/https-admserv/config/obj.conf ファイル内の admin-check-admpw 関数を編集して、final=falsefinal=true に変更します。


問題 388076。iPlanet Web Server 4.1 へのアップグレード時に、mime.types ファイルが正しく更新されない。

iPlanet Web Server をバージョン 4.1 にアップグレードすると、Administration Server およびサーバ インスタンスの mime.types ファイル内の情報が欠落していたり、間違っていたりします。この問題は、iPlanet Web Server をアップグレードした場合のみ発生し、インストールした場合は発生しません。


回避策

アップグレードした後、server_root/https-admserv/config 内と server_root/https-instance/config 内にある mime.types ファイルを編集して、次の行を変更します。

type=application/x-pointplus exts=css

上記の行を次のように変更します。

type=text/css exts=css
type=image/x-icon exts=ico


問題 387908。アップグレード時に magnus.conf ファイルが変更されない。

iPlanet Web Server をバージョン 4.1 にアップグレードすると、Administration Server の magnus.conf ファイルから情報が欠落しています。この問題は、iPlanet Web Server をアップグレードした場合のみ発生し、インストールした場合は発生しません。


回避策

アップグレードした後、server_root/https-admserv/config/magnus.conf ファイル内に次の行が存在することと、この行に ${NSES_JRE_RUNTIME_LIBPATH} という部分が含まれていることを確認します。

ExtraPath server_root/bin/https/bin;${NSES_JRE_RUNTIME_LIBPATH}

次の行はオプションですが、設定することをお勧めします。この行により、Administration Server によって使用されるスレッドの数が制限されます。

RqThrottleMinPerSocket 4

移行の問題


問題 393139。暗号化をオンにしてサーバを移行すると、サーバ設定にアクセスできなくなる。

暗号化をオンにしてサーバを移行し、[プリファレンス] タブにある [サーバ設定の表示] ボタンをクリックすると、次のメッセージが表示されます。

Internal Error. The administration server was unable to fulfil your request.


回避策

暗号化をオフにしてサーバを移行します。


問題 393221。コンフィグレーション スタイルを正しく移行することができない。

Netscape Enterprise Server 3.6 から iPlanet Web Server 4.1 にコンフィグレーション スタイルを正しく移行することができません。移行した後に、コンフィグレーション スタイルの設定を再確認してください。次の行を変更します。

ObjectType fn=type-by-exp exp="*.(class|jar)" type=magnus-internal/servlet

上記の行を次のように変更します。

ObjectType fn="force-type" type="magnus-internal/servlet"





解決された問題

この節では、サービス パック リリースで解決された問題について説明します。

iPlanet Web Server Enterprise Edition 4.1 SP5

iPlanet Web Server Enterprise Edition 4.1 SP5 では次のバグが修正されています。

iPlanet Web Server Enterprise Edition 4.1 SP4

iPlanet Web Server Enterprise Edition 4.1 SP4 では次のバグが修正されています。

iPlanet Web Server Enterprise Edition 4.1 SP3

iPlanet Web Server Enterprise Edition 4.1 SP3 では次のバグが修正されています。

iPlanet Web Server Enterprise Edition 4.1 SP2

iPlanet Web Server Enterprise Edition 4.1 SP2 では次のバグが修正されています。

iPlanet Web Server Enterprise Edition 4.1 SP1

iPlanet Web Server Enterprise Edition 4.1 SP1 では次のバグが修正されています。





判明している問題と対処方法

この節では、このリリースの iPlanet Web Server Enterprise Edition 4.1 に関して判明している問題を示します。この節の情報は次の領域から構成されています。

一般的な問題


Perl 5.6.x を利用した CGI を -w フラグ付きで実行しない。

Perl 5.6.x を利用した CGI を -w フラグ付きで実行すると、Web サーバによって次のようなエラー メッセージが返されます。

cgieng_scan_headers reports: the CGI program foo.pl did not produce a valid header (name without value: got line "can't ignore signal chld, forcing to default.")


回避策

ファイルに次のコードを含めてください。

use warnings;


Tru64 Unix 4.0d カーネルのバグによって、カーネルがクラッシュする

Tru64 Unix 4.0d カーネルには、Web サーバのファイル キャッシュへの負荷が大きくなると、カーネルをクラッシュさせるバグがあります。現在、パッチ キット 6 が 4.0d カーネルの最新版です。この問題は、今後の OS パッチ キットによって修正される予定です。


回避策

しばらくの間この問題を解消するには、/etc/sysconfigtab ファイルに次のエントリを追加し、システムを再起動します。

vm: vm-map-index-enabled=0


問題 44812 (Windows NT のみ)。 Windows NT iPlanet Web Server が、リモートにマウントされたドライブ上のファイルを検出できない。

ローカルの NT システム上にリモートの Novell Netware または Windows NT ドライブをマウントし、ドライブにドライブ名を指定した場合、Web サーバを介してそのドライブのファイルにアクセスしようとすると、iPlanet Web Server は常に "Not Found" エラーを返します。この問題は、リモート ドライブを参照するようにドキュメント ルートまたは URL マッピングを設定しても発生します。


回避策

Windows NT 対応 iPlanet Web Server では、リモートにマウントされたボリューム上のドキュメント ディレクトリの処理が直接サポートされていません。ただし、判明しているいくつかの問題を認識していれば、通常は適切に対応することができます。

UNC (\\servername\path\ などの「統一命名規約」) パスはサポートされていません。使用するリモート ボリュームにドライブ文字をマッピングしないと、iPlanet Web Server はファイルを提供することができません。iPlanet Web Server に対してドライブ マッピングを設定する方法は次のとおりです。

  1. iPlanet Web Server を実行するユーザを、システム アカウント (デフォルト) からシステム上の他の NT ユーザに変更します。この NT ユーザは、使用するネットワーク ボリュームに対するアクセス権を持っている必要があります。この作業を行うには、Windows NT の [サービス] コントロール パネルを開き、Web サーバに適したサービス (iPlanet Web Server では https-servername など) を選択し、[スタートアップ] ボタンをクリックし、[このアカウントをログオン] の横のラジオ ボタンを選択し、ユーザ名とパスワードを入力します。その後、ダイアログ ボックスと [サービス] コントロール パネルを閉じます。

  2. Windows NT をログアウトし、先ほど指定したユーザとしてログインします。

  3. DOS ウィンドウで次のコマンドを実行します。

    net use X: \\servername\path\directoryname /persistent:yes

    ここで、X: は使用するドライブ名です (現在使用中でなければどの文字でもかまいません)。\\servername\path\directoryname は、そのドライブ名としてマウントするディレクトリへの完全な UNC パスです。ドライブ マッピング ダイアログ内の [ログオン時に再接続する] チェックボックスがオンになっている場合は、ファイル マネージャまたは Windows エクスプローラからこのマッピングを設定することもできます。設定後、そのユーザ アカウントからログアウトすることができます。

これで、X: に対するドライブ マッピングを設定すると、X:\ 上のプライマリ ドキュメント ディレクトリを使用するように iPlanet Web Server に指示することができます。

この方法がすべての場合に適しているわけではありません。この方法で正常に機能しない場合は、ご使用のコンピュータのクライアント ネットワーキング ソフトウェアを最新バージョンにアップグレードしてください。具体的には、Microsoft ネットワーキング ソフトウェアを使用して Novell Netware ファイル サーバに接続している場合、正常に動作しないことがわかっています。代わりに Novell Netware クライアント ソフトウェアをインストールすると、問題が解決するようです。また、Windows ネットワーキングや PC-NFS によってマウントされたドライブを使用すると、正常に機能するようです。

上記のように、ネットワーク ボリュームの使用は iPlanet Web Server によって直接サポートされているわけではないため、サーバは、ファイルを確実に提供できないことがあります。


問題 381664。Administration Server UI では可変フォント サイズを処理することができない。

Administration Server UI のタブ付きヘッダでは、基本的に、フォントは特定のサイズにハードコードされます。ブラウザによって異なりますが、ほぼ 12〜18 ポイントで表示されます。フォントが小さすぎるか大きすぎる場合は、UI に表示上の問題が発生します。


問題 338917。cmd スクリプトに対して設定された環境変数を取得することができない。

obj.conf ファイルを使用すると、URL から実行されるか、またはパース HTML を介して実行される CGI に対して環境変数を設定することができます。ただし、サーバ側でコマンドを取り込むと、これらの環境変数は取得されません。


回避策

これらの変数を取得して shtml-init に渡すには、obj.conf ファイルに addCgiInitVars="yes" を追加します。たとえば、obj.conf ファイルに次のコードを追加するとします。

Init fn="init-cgi" LateInit="yes" var1="xy" var2="ab"
Init fn="shtml_init" addCgiInitVars="yes"

この場合、cmd ディレクティブを使用して SHTML から実行されるすべてのコマンドには、var1="xy"var2="ab" という環境変数が設定されます。


問題 385142。[セキュリティ] タブを委譲することができない。

[セキュリティ] タブを委譲することはできません。主管理者のみがセキュリティ設定を変更することができます。


問題 381644。Administration Server UI では可変フォント サイズを処理することができない。

Administration Server UI のタブ付きヘッダでは、フォントは特定のサイズにハードコードされます。ブラウザによって異なりますが、ほぼ 12〜18 ポイントで表示されます。フォントが小さすぎるか大きすぎると、UI の要素はバランスよく拡大または縮小されない場合があります。たとえば、フォントが大きすぎると、右端のタブを表示する右向き矢印が表示されないことがあります。


問題 382458 (Unix のみ)。 LD_LIBRARY_PATH にデータベース ライブラリのパスを設定する必要がある。

Linux で、iPlanet Web Server 4.1 を使用してデータベースに接続するには、LD_LIBRARY_PATH 環境変数がクライアント ライブラリ ディレクトリを参照する必要があります。たとえば、次のようにします (次のコードはすべて 1 行に収めます)。

setenv LD_LIBRARY_PATH ${DB2PATH}/lib:${ORACLE_HOME}/lib:${INFORMIXDIR}/lib:
${INFORMIXDIR}/lib/esql:${SYBASE}/lib


問題 387590 (Linux、Solaris、および NT プラットフォームのみ)。符号化方式の設定がデフォルト値にリセットされる。

Administration Server のインターフェイスの「暗号化プリファレンス」ページで符号化方式の設定を変更し、[OK] ボタンをクリックしても、サーバを再起動すると、設定の変更内容が保存されません。


回避策

magnus.conf ファイルを編集して符号化方式の設定を変更します。詳細については、NSAPI プログラマ ガイドの付録「magnus.conf」の「セキュリティ」の節を参照してください。


問題 388625。サーバ ページのサンプルで Netscape の URL リンクが依然として使用されている。

docs ディレクトリにインストールされている一部のサンプル ページでは、iPlanet に関する iplanet.com/docs などの URL ではなく、Netscape に関する home.netscape.com などの URL が依然として使用されています。Netscape の URL の代わりに次の URL を使用してください。

http://docs.iplanet.com/docs/manuals/enterprise.html


問題 360250。品質フィードバック エージェント (トークバック) が動作しない。

FullSoft, Inc. 製の必須ライブラリは、まだ入手できていません。この機能は、Web Server の今後のリリースで再び使用できるようになります。


問題 386805。インストーラと Administration Server がベース DN 内のエラーを認識しない。

LDAP を有効にするときは、ベース DN 内でコロン (:) などの不正な文字を使用しないでください。Web Server 4.1 インストーラと Administration Server では、ベース DN 内の不正なシンタックスまたは文字の有無がチェックされません。


問題 384779。高度な検索アプレットによって可読テキストが打ち切られる。

利用可能なコレクションがない場合、高度な検索アプレットによって可読テキストが打ち切られます。実際のメッセージは "No search collections available." です。


問題 385149。[ユーザおよびグループ] タブを委譲すると、表示上の問題が発生する。

何も更新せずに [アクセス制御] ページを終了し、再びこのページを表示すると、上部フレーム内にある [ユーザおよびグループ] の後の情報がすべて失われます。ただし、generated.https-admserv.acl ファイルに保存された情報は変更されません。


問題 390064。[ドキュメント プリファレンス] ページ内の [ホームページ] フィールドが URL を認識することができない。

サーバ マネージャの [コンテンツ管理] タブにある「ドキュメント プリファレンス」ページ内の [ホームページ] フィールドは URL を受け付けません。代わりに絶対パスを指定するか、プライマリ ドキュメント ディレクトリからの相対パスを指定する必要があります。


問題 394322 (HP-UX のみ)。シングル プロセス モードでの SSL のパフォーマンスが低い。

SSL のパフォーマンスに問題がある場合は、RqThrottleMinPerSocket 512 および MaxProcs Xmagnus.conf ファイルに追加することをお勧めします。ここで、MaxProcs ステートメント内の X は、システムに搭載されている CPU 数よりも大きくなります。


問題 400714。Web Publisher アプレットと SSL

SSL モードでは、Web Publisher Java アプレットはサポートされていません。


問題 410728。複数の仮想サーバの IP アドレス作成後にサーバが正常にシャットダウンされない。

複数の仮想サーバの IP アドレスの追加後に初めてサーバをシャットダウンしようとすると、予想以上の時間がかかる場合があります。デフォルトでは、サーバのシャットダウンに失敗したというエラー メッセージが表示されます。サーバが実際のシャットダウンの過程にある場合、このメッセージは無視してください。その後シャットダウンを試行するとシャットダウン時間が長引くことはありません。


問題 416848。MaxProcs、LDAP SSL 、およびハードウェア アクセラレータを併用することができない。

ハードウェア アクセラレータをオンにしたたまま MaxProcs および LDAP SSL を設定すると、ハードウェア アクセラレータは子プロセスを処理することができません。

Java と Java Servlet


iPlanet Web Server 4.1 エラー ログ内で Servlet エラー情報を取得することができない。

Servlet は iPlanet Web Server の「外部」にあるため、Web サーバのエラー ログにはエラーが出力されません。代わりに、Web サーバ プロセスの標準出力ファイルに直接出力されます。system.out.println() (または system.out オブジェクトを使用するメソッド) を使用した場合、Servlet からの出力は、Web サーバを起動したプロセスの STDERR に送られるので注意してください。また、指定された out オブジェクトは、実際にはサーバのエラー ログに正しく書き込まれるので注意してください。

したがって、たとえば、ターミナル ウィンドウから Web サーバを起動した場合、出力はターミナル ウィンドウに表示されます。標準出力をファイルに渡すには、標準の Unix ファイル リダイレクションを使用します (つまり、server_root/https-instance/start ファイルを変更します)。ServletContext.log メソッドを使用すると、エラー ログ ファイルに書き込むことができます。


複数のヘッダと、getHeaders を呼び出す Servlet

iPlanet Web Server 4.1 は、同じ名前によるリクエスト時に受信した複数のヘッダを、値がコンマで区切られた 1 つのヘッダにまとめます。その結果、getHeaders を呼び出す Servlet は常に、すべての値がコンマで区切られた 1 つの文字列を含んでいる列挙体を返します。


新しいセッション ID の生成

Servlet セッションに使用されるセッション ID ジェネレータでは、暗号強度の高い独自の乱数生成アルゴリズムが採用されています。このため、旧型の低速マシンではパフォーマンス上の問題が発生することがあります。セッション マネージャ API (SimpleSessionManager.java の例を参照) を使用すると、ランダム ID 生成メソッドを再定義し、このメソッドを特定のニーズに合わせてカスタマイズすることができます。


問題 387702。Servlet による設定後にコンテンツの長さが 0 に設定される。

Servlet が HttpServletResponse.setContentLength メソッドを使用して、クライアントに送信されるデータの長さを伝達しても、実際にデータを送信しないと、Web サーバによってコンテンツの長さが 0 にリセットされます。


問題 390226。セッションの有効期限を設定することができない。

setMaxInactiveInterval メソッドを使用すると、セッションを無効にできません。


回避策

servlets.properties コンフィグレーション ファイル内でセッションの有効期限を設定します。例は次のとおりです。

servlets.sessionmgr=com.netscape.server.http.session.YourSesMgr
servlets.sessionmgr.initArgs=maxSessions=20,timeOut=300,reapInterval=150


問題 395924。rules.properties 内で正規表現を使用して、拡張子で終わるすべての URI を指定の Servlet にリダイレクトしようとしても、効率よく機能しない。

Web Server は rules.properties ファイル内の正規表現をサポートしており、受信した URL が正規表現に一致すると、指定の Servlet を実行します。

# Servlet rules properties (autogenerated)
# This file specifies the translation rules for invoking servlets.
# The syntax is:
#
# <virtual-path>=<servlet-name>
# or
# @regular_expression=<servlet-name> (use double back-slashes)
#
# Example:
#
# /simple=SimpleServlet\n
# @.*\\.foo=wasp

ここで、"\\" 文字は "." 拡張子をエスケープすることになっています。その目的は、/my/xxx.foo などの URL に対するリクエストが行われるたびに、サンプルの wasp Servlet を実行することです。Web Server 4.1 には、"/" または "\" を "/" に置き換えて全体的な意味を変えてしまうという欠陥があります。


回避策

次のように "/" または "\" を使用せずに正規表現を指定します。

@.*[.]foo$=wasp


問題 398424 (Windows NT のみ)。sdk_test.bat/sdk_test.sh サンプルをコンパイルできない場合がある。

Windows NT プラットフォームで、sdk_test.bat を使用すると、サンプルを正常にコンパイルできない場合があります。javac を使用してコードを手動でコンパイルするには、readme.html 内の指示に従います。


問題 450189。chroot と Servlet が有効になっている場合にサーバを起動することができない。

Servlet がデフォルト構成で有効になっている場合、Web Server で一度 chroot が有効になると、起動することができません。Servlet を削除すると、サーバは起動し、ページの提供が開始されます。


問題 398234。JVM が、jvm.オプション設定値からシステム環境変数を取らない。

jvm12.conf ファイルまたは Administration Server 内で jvm.option 設定値を使用して JVM 環境変数を定義すると、Servlet はそれらを認識しません。


回避策

独立したコマンドラインの java プログラムを実行する場合は、次のオプションを使用してシステム プロパティを java プログラムに渡します。

java -Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB myprogram

myprogram.java ファイル内で、次の行は、上記で設定されたシステム プロパティを取得します。

System.out.println("org.omg.CORBA.ORBClass="+System.getProperty("org.omg.CORBA.ORBClass"));

iPlanet Web Server の Servlet でも同じ作業を行う場合は、jvm12.conf ファイル内で次の行を挿入する必要があります。

org.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB

次のような jvm.option 設定は使用しないでください。

jvm.option=-Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB

または

jvm.option=org.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB

Servlet または JSP で、次の行を使用すると、上記で設定したシステム プロパティを取得することができます。

out.println("org.omg.CORBA.ORBClass="+System.getProperty("org.omg.CORBA.ORBClass"));

NSAPI


問題 343875。URL の転送

set-virtual-index と呼ばれる新しいPathCheck 関数は、ディレクトリの仮想インデックスを指定し、これによって URL の転送が決定されます。このインデックスは、LiveWire アプリケーション、独自のネームスペース内の Servlet、Netscape Application Server の Applogic などを参照することができます。

from パラメータ内にリストされている URI が現在の URI に一致しない場合は、REQ_NOACTION が返されます。virtual-index パラメータによって指定されたファイルが存在しないか、現在の URI が見つからない場合は、REQ_ABORTED が返されます。from パラメータ内に記載されているいずれかの URI に現在の URI が一致するか、from パラメータがない場合は、REQ_RESTART が返されます。



表 4    set-virtual-index パラメータ

パラメータ

説明

virtual-index 

ユーザが入力した URI のインデックスとしての役割を果たすコンテンツ ジェネレータの URI。 

from 

この virtual-index に該当する URI のコンマ区切りリスト (オプション)。from が指定されていないと、virtual-index は常に適用されます。 


問題 385457 (Windows NT)。マルチプロセス モードがサポートされていない。

Windows NT では、マルチプロセス モードがサポートされていません。つまり、magnus.conf ファイル内のMaxProcs ディレクティブは 1 よりも大きい値を持つことができません。詳細については、NSAPI プログラマ ガイドの付録「magnus.conf」を参照してください。

セキュリティ


問題 383530 (Windows NT のみ)。暗号化エラー

Administration Server またはサーバ マネージャの [プリファレンス] タブにある「暗号化のオン/オフ」ページで、デフォルト設定のまま暗号化をオンに切り替え、[保存して適用] をクリックし、パスワードを入力すると、次のエラー メッセージが表示される場合があります。

Commit.exe Application error
the instruction at "0x780001146" referenced memory at "0x00661006d".
The memory could not be "written".
Click OK to terminate the application.

[OK] をクリックすると、次のメッセージが表示されます。

Success! Your changes have been saved.

このメッセージが表示された後、[プリファレンス] タブ上の「シャットダウン」ページまたは「サーバのオン/オフ」ページに移動するか、[サービス] コントロール パネルに移動して、サーバが再起動されたことを確認する必要があります。


問題 389276 (Solaris)。ハードウエア トークンにサーバ証明書を追加すると、サーバが、内部証明書の DB パスワードを求めてくる。

SSL を持つサーバ インスタンスを作成し、ハードウェア トークンに証明書を保存した場合は、そのサーバ インスタンスを起動するときに、nCipher パスワードと内部ソフトウェア パスワードの両方の入力を要求されることがあります。どちらのパスワードを入力してもサーバは起動しません。エラー ログには次の行が記録されます。

test-kra# ./start
test-kra# [22/Mar/2000:15:26:03] info ( 2614): successful server startup
[22/Mar/2000:15:26:03] info ( 2614): iPlanet-WebServer-Enterprise/4.1 BB1-03/06/2000 00:55
[22/Mar/2000:15:26:03] failure ( 2614): NSS initialization failed: -8174


回避策

この問題を回避するには、次のガイドラインに従ってください。


問題 389288。正規表現を使用して CSR を送信することができない。

(test|production).acme.com など、正規表現を含んでいる証明書を要求しようとすると、証明書が拒否されることがあります。


問題 386677 (Linux、Solaris、および Windows NT のみ)。サーバの暗号化をオンに切り替えたときに表示されるメッセージにタイプミスがある。

新しいサーバ証明書をインストールし、Administration Server の [暗号化を有効 : はい] 設定によって暗号化を有効にすると、Web Server によって次の情報が表示されます。

Warning: Security changes require shutdown
In order for your changes to take effect, you will need to shutdown the
HTTP server, and then start it up again from the console in order to enter
the keyfile password. After you have started up the server again, your
server's url will be http://nocturne.netscape.com:9000 instead of
http://nocturne.netscape.com:9000

最初の URL は https://nocturne.netscape.com:9000 にする必要があるので注意してください。


問題 387226。クライアント認証に関するセッション キャッシュの問題

magnus.conf ファイルの SSLCacheEntries ディレクティブに関する次の情報に注意してください。


問題 396337 (Windows NT のみ)。設定変更ウィンドウでパスワードが正しいかどうかがチェックされない (SSL が有効な場合)

サーバ上で SSL が有効になっている場合、Windows NT プラットフォームで設定を変更して [保存して適用] をクリックすると、"システム エラー : パスワードが一致しません" というエラー メッセージが Web Server に表示されます。


回避策

Administration Server の右上にある [保存] ボタンと [適用] ボタンをクリックします。

サーバサイド JavaScript (SSJS)/LiveWire


問題 382457 (Linux のみ)。Sybase との接続に失敗すると Web サーバがクラッシュする。

Linux で LiveWire を使用して Sybase サーバに接続する場合、その接続に失敗すると、Web サーバがクラッシュします。サーバがクラッシュする理由は、LANG および LC_ALL 環境変数の値が locales.dat ファイル内の値に一致しないためです。

回避策 : ${SYBASE}/locales/locales.dat ファイルを修正して、希望のロケールのエントリを設定します。たとえば、LANG=en_USLC_ALL=en_US のどちらかまたは両方を設定する場合は、locales.dat 内の [linux] セクションに次のエントリを追加します。

locale = en_US, us_english, iso_1


問題 385237 (Linux のみ)。データベースが不安定

Linux プラットフォームでは、高負荷状態で LiveWire を実行すると、Informix を除くすべてのデータベースで問題が発生する場合があります。


問題 394712。ユーザが Servlet 内から CGI 変数にアクセスすることができない。

Servlet の HttpServletRequest インターフェイスから内部の getCgiVariable() 機能にアクセスすることはできません。アクセスしようとすると、サーバによって次のコンパイル エラーが表示されます。

WASPServlet.java:269: Method getCgiVariable(java.lang.String) not found in
interface javax.servlet.http.HttpServletRequest.
String cgiVar = req.getCgiVariable("PATH_TRANSLATED");
^
Note: WASPServlet.java uses or overrides a deprecated API. Recompile with
"-deprecation" for details.
1 error, 1 warning





プラットフォーム固有の情報

この節では、次のプラットフォームに関するプラットフォーム固有の判明している問題と回避策について説明します。

Linux プラットフォーム


Web Publisher と検索

Linux プラットフォームでは、iPlanet Web Server Enterprise Edition 4.1 は Web Publisher 機能と検索機能をサポートしていません。


Linux でのマルチスレッド データベース アプリケーションのサポート

Oracle Client SDK バージョン 8.0.5 と DB2 Client SDK バージョン 6.1 では、マルチスレッド データベース アプリケーションがサポートされています。


問題 382457。Sybase との接続に失敗すると Web サーバがクラッシュする

Linux で LiveWire を使用して Sybase サーバに接続する場合、その接続に失敗すると Web サーバがクラッシュします。サーバがクラッシュする理由は、LANG および LC_ALL 環境変数の値が locales.dat ファイル内の値に一致しないためです。


回避策

${SYBASE}/locales/locales.dat ファイルを修正して、希望のロケールのエントリを設定します。たとえば、LANG=en_US または LC_ALL=en_US のどちらかあるいは両方を設定する場合は、locales.dat 内の [linux] セクションに次のエントリを追加します。

locale = en_US, us_english, iso_1


問題 382458。LD_LIBRARY_PATH にデータベース ライブラリのパスを設定する必要がある。

Linux で、iPlanet Web Server 4.1 を使用してデータベースに接続するには、LD_LIBRARY_PATH 環境変数がクライアント ライブラリ ディレクトリを参照する必要があります。たとえば、次のようにします (次のコードはすべて 1 行に収めます。)

setenv LD_LIBRARY_PATH ${DB2PATH}/lib:${ORACLE_HOME}/lib:${INFORMIXDIR}
/lib:${INFORMIXDIR}/lib/esql:${SYBASE}/lib


問題 385237。データベースが不安定。

Linux プラットフォームでは、高負荷状態で LiveWire を実行すると、Informix を除くすべてのデータベースで問題が発生する場合があります。


問題 391820。.pl 拡張子の Perl スクリプトでエラーが発生する。

.pl 拡張子の Perl スクリプトに特定の mime.type の xappliciation がある場合、.pl 拡張子の Perl スクリプトでエラーが発生します。


回避策

この問題は、.pl 拡張子の Perl スクリプト内の xapplication の mime.type 拡張子をコメントアウトすることによって解決することができます。

Solaris プラットフォーム


問題。サーバが不安定になる。

Solaris 7 を使用する場合、正しいパッチ クラスタを使用しないとサーバの安定性が低下することがあります。


回避策

Solaris パッチ クラスタ 106541-12 をインストールします。

HP-UX プラットフォーム


問題 392921 (HP-UX のみ)。 Administration Server で SSL2 のみ有効にすることができない。

Administration Server で SSL2 のみを有効にし、Administration Server を停止して起動すると、サーバにアクセスできなくなります。サーバは正常に起動しているように見え、エラー ログにもエラーは記録されませんが、サーバにアクセスすることはできません。


回避策

SSL3 も有効にします。


問題 394322 (HP-UX のみ)。シングル プロセス モードでの SSL のパフォーマンスが低い。

SSL のパフォーマンスに問題がある場合は、RqThrottleMinPerSocket 512 および MaxProcs Xmagnus.conf ファイルに追加することをお勧めします。ここで、MaxProcs ステートメント内の X は、システムに搭載されている CPU 数よりも大きくなります。

IBM AIX プラットフォーム


Java のサポート

JDK を使用している場合、http://www.ibm.com/java/jdk/aix/index.html からバージョン 1.2.2 をダウンロードしたり、ca122-20000726 以降を更新してください。Java サポートは、インストールと同時に正常に機能するようになります。ただし、Servlet および JSP 処理時にサーバがハングした場合は、次の行が正しく設定されているかどうかをチェックしてください。

jvm.serializeFirstRequest=1

(server_root/https-admserv/config/jvm12.conf ファイル内)


問題 392232 (IBM AIX のみ)。 sdk_test.sh によるエラー発生

このバージョンの AIX は $JAVA_HOME/bin/java を直接実行することはできません。その代わり、bin/java を起動する前に正しい環境を設定する $JAVA_HOME/sh/java ラッパー スクリプトが含まれています。nsj ユーティリティが $JAVA_HOME/bin/java を直接使用するため、sdk_test.sh を実行すると、エラーが表示されます。


回避策

server_root/plugins/samples/servlets に移動し、次のように、nsj を java ラッパー スクリプトに置き換えて sdk_test.sh スクリプトを編集します。

# ${NS_HTTPS_HOME}/bin/nsj \
# com.netscape.server.http.examples.tools.HttpGetTest \
# -H ${HOST} -p ${HTTP_PORT} -f /servlet/${servlet}.class
/usr/java_dev2/jre/sh/java -classpath tools/SDKTools.jar \
com.netscape.server.http.examples.tools.HttpGetTest \
-H ${HOST} -p ${HTTP_PORT} -f /servlet/${servlet}.class

Windows NT プラットフォーム


問題 44812 (Windows NT のみ)。 Windows NT iPlanet Web Server が、リモートにマウントされたドライブ上のファイルを検出できない。

ローカルの NT システム上にリモートの Novell Netware または Windows NT ドライブをマウントし、ドライブにドライブ名を指定すると、Web サーバを介してそのドライブのファイルにアクセスしようとすると、iPlanet Web Server は常に "Not Found" エラーを返します。この問題は、リモート ドライブを参照するようにドキュメント ルートまたは URL マッピングを設定しても発生します。


回避策

一般的な問題の「判明している問題と対処方法」で説明されている回避策を参照してください。


問題 385457。マルチプロセス モードがサポートされていない。

Windows NT では、マルチプロセス モードはサポートされていません。つまり、magnus.conf ファイル内の MaxProcs ディレクティブは 1 よりも大きい値を持つことができません。詳細については、NSAPI プログラマ ガイドの付録「magnus.conf」を参照してください。





国際化の情報

この節には国際化の問題に関する情報が記載されています。


問題 381384、396154。パラメータ内の国際化

Servlet に渡されるパラメータ内に非 ASCII 文字を含めると、問題が発生する場合があります。


回避策

contexts.properties ファイル内の context.global.parameterEncoding プロパティを正しく設定します。Servlet が ServletRequest.getParameter メソッドを使用する場合は、parameterEncodingauto に設定し、次の指示に従ってください。

context.global.parameterEncoding プロパティを使用すると、Servlet パラメータの文字エンコード法を調べることができます。このプロパティには次のオプションがあります。



表 5    parameterEncoding オプション

オプション

説明

utf8 

7 ビット ASCII を含む UTF-8 エンコード法を使用します。Servlet パラメータが UTF-8 文字のみ使用している場合は、このオプションを設定します。 

none 

システムのデフォルトのエンコード法を使用します。Servlet パラメータ データのエンコード法がシステムのデフォルトのエンコード法と同じ場合はこのオプションを設定してください。 

auto 

(デフォルト) Content-Type ヘッダ内で設定されている場合は、charset から正しいエンコード法を調べようとします。そうでない場合は、システムのデフォルトのエンコード法が使用されます。Servlet パラメータ内で 非 ASCII 文字が誤まって解釈されないようにするために、このオプションを設定します。

このプロパティを auto に設定すると、サーバは、要求されたエンコード法に変換する前にネイティブ文字を java バイト配列に変換しなければなりません。したがって、utf8 または none の場合、パフォーマンスはわずかに向上します。  

Servlet が ServletRequest.getParameter メソッドを使用して、非 UTF-8 文字を持つフォーム フィールド内の値を取得する場合は、contexts.properties ファイル内で parameterEncoding プロパティを auto (デフォルト) に設定する必要があります。それ以外に設定すると、getParameter メソッドによって取得された値はゼロまたは未定義になります。

データが URL 符号化されると、フォーム フィールドへのデータの入力に使用された元のエンコード法が失われるため、次のことを行う必要があります。





iPlanet Web Server Enterprise Edition 対応の ValiCert Web Server Validator 2.5

ValiCert Web Server Validator は、CRL チェックなどの自動証明書確認機能を iPlanet Web Server Enterprise Edition に追加する NSAPI プラグインです。この製品を iPlanet Web Server Enterprise Edition に組み込むと、主要なすべての CA によって発行されたデジタル証明書の破棄ステータスの確認を行うことができます。この追加機能により、ユーザの証明書が紛失したり、盗まれたりした場合に発生する損害や不正からユーザを保護することができます。iPlanet Web Server Enterprise Edition 対応の ValiCert Web Server Validator には次のような特長があります。

ValiCert Web Server Validator は、iPlanet Web Server Enterprise Edition 4.1 の CD-ROM の /valicert というラベルの付いたディレクトリの下からダウンロードすることができます。Web Server Validator の詳細を参照したり、最新バージョンをダウンロードするには、http://www.valicert.net/netscape にアクセスしてください。

ご不明な点がある場合は、ValiCert テクニカル サポート support@valicert.com までお問い合わせください。





ロード バランス プラグイン libresonate の使用法

概要

このプラグインを使用すると、サーバは特定のスレッド負荷条件が満たされた場合にプログラムを実行できるため、フロントエンドの負荷分散製品は負荷を再分散することができます。

ロード バランサをトリガして負荷を増減させるには、次の 2 つの方法を使用することができます。

標準 : キューに入っているリクエストの数に基づいて負荷を決定します。これは受動的な方法です。キューを満杯にすることによって、既に一部のリクエストを遅らせています。この場合は、HighThreshold を低い値にし、LowThreshold を高い値にする必要があります。

積極的 : プール内のアクティブなスレッドの数に基づいて負荷を決定します。この方法は、リクエストがキューに入れられる前に負荷を軽減できるように、より厳密にリクエストを制御することを目的としています。

スレッド プールの設定

Unix プラットフォームでは、モニタするプラグイン専用のスレッド プールを設定する必要があります。この作業は、管理画面でインスタンスを選択し、[スレッド プール] を選択することによって行うことができます。

必要な設定を行って、新しいスレッド プールを作成します。管理者ガイドでは、スレッド プールの作成方法と各設定値の意味について詳しく説明されています。ほとんどの場合、最小スレッド数と最大スレッド数を設定するだけで十分です。

スレッド プールを設定すると、server_root/https-instance/config/obj.conf ファイルに次の例のような例が追加されます。

Init name="sleep" MinThreads="1" MaxThreads="10" EarlyInit="yes" fn="thread-pool-init"

ライブラリの設定

プラグインを有効にするには、obj.conf を手作業で次にように変更する必要があります。

Init fn="load-modules" funcs="init-resonate" shlib="server_root/bin/https/lib/libresonate.so"

Init fn="init-resonate" ThreadPool="sleep" EventExePath="/tools/ns/bin/perl5" LateInit="yes" CmdLow="/usr/netscape/ent41/plugins/loadbal/CmdLow.pl" CmdHigh="/usr/netscape/ent41/plugins/loadbal/CmdHigh.pl"

init-resonate 関数には次のパラメータを指定することができます。



表 6    init-resonate パラメータ

パラメータ

説明

ThreadPool 

ThreadPool - モニタするスレッド プールの名前。 

Aggressive 

この引数を TRUE に設定すると、キュー内のスレッド数ではなくプール内のスレッド数がプラグインによって使用されます。 

PollTime 

PollTime - スレッドの状態をチェックする頻度。デフォルト値は 2000 秒です。 

HighThreshold 

サーバの負荷を増加させるために HighCmd が実行されるスレッドのキューサイズ/数を定義します。デフォルトは 4096 です。 

LowThreshold 

サーバの負荷を減少させるために LowCmd が実行されるスレッドのキューサイズ/数を定義します。デフォルトは 1 です。 

EventExePath 

実行するスクリプト プログラムへのポインタ (/usr/bin/perl や /bin/sh など)。プラットフォームによって異なりますが、デフォルト値は perl または perl.exe です。 

CmdLow 

LowThreshold が満たされた場合に実行するスクリプトへのポインタ。 

ArgsLow 

CmdLow に送る引数。 

CmdHigh 

HighThreshold が満たされた場合に実行するスクリプトへのポインタ。 

ArgsHigh 

CmdHigh に送る引数。 




ノート

このモジュールを読み込むときは、LateInit="yes" と指定する必要があります。これは、このモジュールによって作成されるモニタリング スレッドは、ns-httpd の起動後に起動する必要があるためです。




magnus.conf 内で LogVerbose on を設定すると、プラグインの設定内容や起動時刻に関する多くの情報がサーバによってエラー ログに記録されます。

例は次のとおりです。

[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin watching thread pool sleep
[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin aggressive setting is FALSE
[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin poll time set to 2000
[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin HighThreshold set to 5
[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin LowThreshold set to 1
[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin event executable path set to /tools/ns/bin/perl5
[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin low command set to /usr/netscape/ent41/plugins/loadbal/CmdLow.pl
[12/Jun/2000:09:36:35] verbose (20685): Resonate plugin high command set to /usr/netscape/ent41/plugins/loadbal/CmdHigh.pl

LogVerbose on が設定され、プラグインが起動されたときのログ エントリの例は次のとおりです。

[12/Jun/2000:09:40:12] verbose (20699): Resonate plugin reducing load.
[12/Jun/2000:09:40:14] verbose (20699): Resonate plugin reducing load.
[12/Jun/2000:09:40:16] verbose (20699): Resonate plugin reducing load.
[12/Jun/2000:09:40:18] verbose (20699): Resonate plugin reducing load.
[12/Jun/2000:09:40:20] verbose (20699): Resonate plugin reducing load.
[12/Jun/2000:09:40:30] verbose (20699): Resonate plugin increasing load.

テスト

ロード バランサを簡単にテストするには、NSAPI を使用して小さな HTML ページを出力し、ある期間に sleep() を呼び出すことによって実行時間をシミュレートします。この方法により、サーバに対する擬似負荷を生成し、ロード バランサ コマンドが正常に機能していることを確認することができます。

サンプル プログラムを設定するには、このプログラムがすべてのリクエストに対して実行されないように、新しい MIME タイプを追加する必要があります。config/mime.types を変更して次のような行を追加します。

type=magnus-internal/sleep exts=sleep

次に、.sleep という拡張子が付いたファイルを document-root ディレクトリ内に作成します。このフォルダはプレースホルダとして使用されるだけなので、どのような内容にすることもできます。

サーバにモジュールを読み込むには、次の行の shlib をライブラリの場所に変更して obj.conf に追加します。また、pool を先ほど定義したスレッド プールの名前に設定する必要があります。

Init fn="load-modules" funcs="dosleep" shlib="/usr/netscape/ent41/plugins/nsapi/examples/dosleep.so" pool="sleep"

その後、次の Service 行を他の行と同じ場所に追加します (どのような順序でもかまいません)。

Service method="(GET|HEAD)" fn="dosleep" duration="10" type="magnus-internal/sleep"

duration という引数は、リクエストごとに休止する時間を秒単位でサーバに指示します。

ここでサーバを起動すると、ロード バランサ プラグインのテスト準備は完了です。NSAPI は、負荷をシミュレートするのに必要な時間にわたってスレッドをビジー状態に保ちます。プラグインは、先ほど作成した .sleep ファイルを取得することによってテストされます。

設定の例

magnus.conf 内で特別なことを行う必要はありません。プラグインに影響を与える設定値は LogVerbose on のみです。obj.conf の例は次のとおりです。

# Sun Netscape Alliance - obj.conf
# You can edit this file, but comments and formatting changes
# might be lost when the admin server makes changes.

Init fn="flex-init" access="/usr/netscape/ent41/https-resonate/logs/access" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%"
Init fn="load-types" mime-types="mime.types"
Init fn="load-modules" funcs="init-resonate" shlib="/usr/netscape/ent41/bin/https/lib/libresonate.so"
Init name="sleep" MinThreads="1" MaxThreads="10" EarlyInit="yes" fn="thread-pool-init"
Init fn="init-resonate" ThreadPool="sleep" EventExePath="/tools/ns/bin/perl5" LateInit="yes" CmdLow="/usr/netscape/ent41/plugins/loadbal/CmdLow.pl" CmdHigh="/usr/netscape/ent41/plugins/loadbal/CmdHigh.pl" HighThreshold="2" LowThreshold="5"
Init fn="load-modules" funcs="dosleep" shlib="/usr/netscape/ent41/plugins/nsapi/examples/dosleep.so" pool="sleep"
Init fn="load-modules" shlib="/usr/netscape/ent41/bin/https/lib/libNSServletPlugin.so" funcs="NSServletEarlyInit,NSServletLateInit,NSServletNameTrans,NSServletService" shlib_flags="(global|now)"
Init fn="NSServletEarlyInit" EarlyInit="yes"
Init fn="NSServletLateInit" LateInit="yes"

<Object name="default">
NameTrans fn="NSServletNameTrans" name="servlet"
NameTrans fn="pfx2dir" from="/servlet" dir="/usr/netscape/ent41/docs/servlet" name="ServletByExt"
NameTrans fn="pfx2dir" from="/ns-icons" dir="/usr/netscape/ent41/ns-icons" name="es-internal"
NameTrans fn="pfx2dir" from="/mc-icons" dir="/usr/netscape/ent41/ns-icons" name="es-internal"
NameTrans fn="pfx2dir" from="/help" dir="/usr/netscape/ent41/manual/https/ug" name="es-internal"
NameTrans fn="pfx2dir" from="/manual" dir="/usr/netscape/ent41/manual/https" name="es-internal"
NameTrans fn="document-root" root="/usr/netscape/ent41/docs"
PathCheck fn="unix-uri-clean"
PathCheck fn="check-acl" acl="default"
PathCheck fn="find-pathinfo"
PathCheck fn="find-index" index-names="index.html,home.html"
ObjectType fn="type-by-extension"
ObjectType fn="force-type" type="text/plain"
Service method="(GET|HEAD)" fn="dosleep" duration="10" type="magnus-internal/sleep"
Service method="(GET|HEAD)" type="magnus-internal/imagemap" fn="imagemap"
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common"
Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file"
AddLog fn="flex-log" name="access"
</Object>

<Object name="cgi">
ObjectType fn="force-type" type="magnus-internal/cgi"
Service fn="send-cgi"
</Object>

<Object name="servlet">
ObjectType fn="force-type" type="text/html"
Service fn="NSServletService"
</Object>

<Object name="jsp092">
ObjectType fn="type-by-extension"
ObjectType fn="change-type" type="magnus-internal/jsp092" if-type="magnus-internal/jsp"
Service fn="NSServletService" type="magnus-internal/jsp092"
</Object>

<Object name="ServletByExt">
ObjectType fn="force-type" type="magnus-internal/servlet"
Service type="magnus-internal/servlet" fn="NSServletService"
</Object>

<Object name="es-internal">
PathCheck fn="check-acl" acl="es-internal"
</Object>

<Object ppath="/usr/netscape/ent41/docs/.perf" 2=">">
Service fn="service-dump"
</Object>

dosleep.c の例は次のとおりです。

#ifdef XP_WIN32
#define NSAPI_PUBLIC __declspec(dllexport)
#else /* !XP_WIN32 */
#define NSAPI_PUBLIC
#endif /* !XP_WIN32 */

#include "nsapi.h"

#define BUFFER_SIZE 1024

#ifdef __cplusplus
extern "C"
#endif
NSAPI_PUBLIC int dosleep(pblock *pb, Session *sn, Request *rq)
{
char buf[BUFFER_SIZE];
int length, duration;
char *dur = pblock_findval("duration", pb);

if (!dur) {
log_error(LOG_WARN, "dosleep", sn, rq, "Value for duration is not set.");

return REQ_ABORTED;
}

duration = atoi(dur);

/* We need to get rid of the internal content type. */
param_free(pblock_remove("content-type", rq->srvhdrs));
pblock_nvinsert("content-type", "text/html", rq->srvhdrs);

protocol_status(sn, rq, PROTOCOL_OK, NULL);

/* get ready to send page */
protocol_start_response(sn, rq);

/* fill the buffer with our message */
length = util_snprintf(buf, BUFFER_SIZE, "<title>%s</title><h1>%s</h1>\n", "Sleeping", "Sleeping");
length += util_snprintf(&buf[length], BUFFER_SIZE - length, "Sample NSAPI that is sleeping for %d seconds...\n", duration);

/* write the message to the client */
if (net_write(sn->csd, buf, length) == IO_ERROR)
{
return REQ_EXIT;
}
sleep(duration);
return REQ_PROCEED;
}





LiveWire データベース クライアントのバージョン

次の節では、Linux および Solaris 8 で iPlanet Web Server Enterprise Edition 4.1 でサポートされているデータベース ベンダー クライアント ライブラリを示します。

Linux

次の表は、Linux で iPlanet Web Server Enterprise Edition 4.1 でサポートされているデータベース ベンダー クライアント ライブラリを示します。



表 7    Linux でサポートされているデータベース ベンダー クライアント ライブラリ

データベース

サポートされているライブラリ

Oracle 

8.0.5 

Informix 

2.30.UC11 

Sybase 

11.1.1 

DB2 

6.1 

Linux プラットフォームでは、高負荷状態で LiveWire を実行すると、Informix を除くすべてのデータベースで問題が発生する場合があるので注意してください。


Linux でのマルチスレッド データベース アプリケーションのサポート

Oracle Client SDK バージョン 8.0.5 と DB2 Client SDK バージョン 6.1 では、マルチスレッド データベース アプリケーションがサポートされています。

Solaris 8

次の表は、Solaris 8 で iPlanet Web Server Enterprise Edition 4.1 でサポートされているデータベース ベンダー クライアント ライブラリを示しています。



表 8    Solaris 8 でサポートされているデータベース ベンダー クライアント ライブラリ

データベース

サポートされているライブラリ

Oracle 

8.0.5 

ISV はデータベースの認証を後日行うことを約束しているため、これは Solaris 8 の制限です。





マニュアルの訂正

次の iPlanet Web Server Enterprise Edition 4.1 マニュアルの変更点に注意してください。


問題 307321。NSAPI 仕様の確認

NSAPI プログラマ ガイドの第 4 章「カスタム SAF の作成」の表 4.1 で、CONTENT_LENGTH および CONTENT_TYPE CGI 変数を取得する NSAPI 関数は次のように訂正する必要があります。



表 9    CGI 変数の訂正

CGI getenv()

NSAPI

CONTENT_LENGTH 

pblock_findval("content-length", rq->headers);  

CONTENT_TYPE 

pblock_findval("content-type", rq->headers);  


新しい password.conf コンフィグレーション ファイルの情報

iPlanet Web Server の管理者ガイドの第 7 章「サーバのプリファレンスの設定」は更新され、新しい password.conf コンフィグレーション ファイルが含められました。製品内のオンライン バージョンまたは「サーバの起動と停止」を参照してください。


nostat の説明の訂正

iPlanet Web Server の管理者ガイドの第 10 章「サーバの設定によるパフォーマンス チューニング」の「その他の obj.conf パラメータ」で、nostat パラメータについて説明された節では次のように記載されています。

例は次のとおりです。

<Object name=default>
...
NameTrans fn="assign-name" from="/nsfc" nostat="/nsfc" name="nsfc"
...
</Object>
<Object name="nsfc">
Service fn=service-nsfc-dump
</Object>


問題 391661。DNS キャッシュのサイズのデフォルト値が間違っている。

オンライン ヘルプには、DNS キャッシュのサイズのデフォルト値が 1024 エントリであると記載されています。しかし、[プリファレンス] タブの下の「パフォーマンス チューニング」ページから DNS キャッシュを有効にすると、[DNS キャッシュのサイズ] フィールドに 512 と表示されます。


RqThrottle の説明の訂正

Performance, Tuning, Sizing, and Scaling Guide」と、管理者ガイドの章「Tuning Your Server for Performance」の節「RqThrottle について」で、obj.conf 内にタイムアウト時間を設定できると説明されていますが、これは間違いです。タイムアウト時間を調整するには、magnus.conf 内で AcceptTimout パラメータを使用してください。


perfdump の説明の訂正

Performance, Tuning, Sizing, and Scaling Guideと、管理者ガイドの章「サーバの設定によるパフォーマンス チューニング」で、perfdump を有効にする指示に間違いがあります。この指示では、obj.conf ファイルに次のオブジェクトを (デフォルト オブジェクトの後ろに) 追加すると説明されています。

<Object ppath="/usr/netscape/server4/docs/.perf">
Service fn = "service-dump"
</Object>

上記では、行 Service fn = "service-dump" に間違いがあります。等号の前後にはスペースを空けないでください。正しい例は次のとおりです。

<Object ppath="/usr/netscape/server4/docs/.perf">
Service fn="service-dump"
</Object>


magnus.conf のセキュリティ ディレクティブの廃止

NSAPI プログラマ ガイドの付録 Bで、ServerCert および ServerKey ディレクティブがリストされていますが、iPlanet Web Server 4.x では廃止されています。


magnus.conf におけるセキュリティ ディレクティブ CERTDefaultNickname の省略

NSAPI プログラマ ガイドの付録 B で、CERTDefaultNickname ディレクティブが省略されています。このディレクティブの説明は次のとおりです。

CERTDefaultNickname ディレクティブは、証明書データベースのサーバ証明書のニックネームです。

シンタックス

CERTDefaultNickname name

name は、証明書データベースのサーバ証明書のニックネームです。

デフォルト

デフォルトはありません。名前を指定する必要があります。





問題の報告方法

iPlanet Web Server に問題がある場合は、次のいずれかの方法で iPlanet カスタマー サポートまでお問い合わせください。

サポートへのお問い合わせ時は次の情報を事前にご準備いただくと、問題解決がより迅速になる場合があります。

次の関連ニュース グループからニュースを購読することも一案です。次のニュース グループでは、iPlanet Web Server に関するトピックを扱っています。





追加情報について

次のサイトには貴重な iPlanet 情報が掲載されています。

iPlanet Web Server Enterprise Edition 4.1 のインストール手順については、インストールおよび移行ガイドを参照してください。

iPlanet Web Server Enterprise Edition 4.1 の管理者マニュアルについては、製品に組み込まれているオンライン ヘルプを参照してください。管理者ガイドと関連ドキュメントは、http://developer.iplanet.com/docs/manuals/enterprise.html にも掲載されています。

必要な情報が見つからない場合は、iPlanet テクニカル サポートまでお問い合わせください。


最終更新日 2000 年 12 月 6 日