web-dev-qa-db-ja.com

NetWareからSLESへのApacheエイリアス

他のNetWareサーバーを呼び出すディレクトリエイリアスを持つApacheを実行しているNetWareサーバーがあります。これらのNetWareサーバーの1つをOES2を使用してSLES10SP3に移行しようとしています。 SLESサーバーを呼び出す新しいエイリアスを使用してApache構成をテストすると、8文字に切り捨てられたファイルのディレクトリリストを取得できます。上記のファイルをダウンロードできません。リストを取得するだけです。 SLESサーバーのNSSボリュームに長い名前空間が設定されています。実際、そこでApache2を起動し、エイリアスとして同じディレクトリを呼び出すと、問題なく機能します。

したがって、機能しないのは、NetWareボックスのApacheを介して呼び出すことだけです。

どんなアイデアでも大歓迎です。

トム

3
SpacemanSpiff

問題は、NetWareサーバーでApache1.3を実行していることです。 Apache1.3とApache2(および2.2)は、異なるベースライブラリにリンクされています。 Apache 1.3は、NetWare2.xで作成されたライブラリであるCLIBにリンクされています。 Apache 2.0は、NetWare5.xで導入されたCLIBの代わりとなるLIBCにリンクされています。このため、リモートサーバーにアクセスする場合、CLIBにリンクされたアプリケーションは、DOS名前空間にない名前を取得するために非常に創造的な長さにならなければなりませんでした。 LIBCには、LONGまたはUNIX名前空間にアクセスするためのネイティブメソッドがあり、これらの問題はありません。

それは、両方のライブラリで使用されるNCPセマンティクスに帰着します。

OES-Linuxサーバーにアクセスしようとすると問題が発生します。 NovellがNCPスタックを非NetWareプラットフォームに移植したとき(eDirectoryをWindows/Linux/Solaris/AIXに移植したとき)、彼らは古いセマンティクスを気にせず、新しい最新のセマンティクスを使用することを選択しました。その後、OESが登場し、eDir用にすでに持っていたNCPスタックを拡張しました。彼らは古いセマンティクスをに入れませんでした。

OES-linuxサーバー上のリソースにアクセスするには、NetWareサーバーでApache 2.0(または2.2)を使用する必要があります。 Apache 1.3は、必要な方法でそれを実行することはできません。

2
sysadmin1138