MetaFrameの NFuse 1.5を設定する(JServ + GNUJSP)
はじめに
MetaFrame は、Citrix Systems 社が開発した Windows 2000/Windows NT 4.0 Terminal Server 上のビジネス・アプリケーション等を遠隔でコントロールできるようにするためのソフトウェアです。その MetaFrame の操作を Web ブラウザを介して行なえるようにする NFuse 1.5 というソフトウェアの Linux への設定方法を記述します。NFuse は、JSP の環境が必要なのですが Redhat + Apache を利用しようとすると GNUJSP の環境が必要(マニュアルでは GNUJSP が前提にかかれている)。それなら、いまさらって感じだけど JServ + GNUJSP を導入することが手っ取り早いのでインストールします。
項目 | バージョン | コメント |
GNUJSP | 1.0.1 | http://www.klomp.org/gnujsp/downloads/gnujsp-1.0.1.tar.gz |
JServ | 1.1.2 | http://java.apache.org/jserv/dist/ApacheJServ-1.1.2.tar.gz |
JSDK | 2.0 | http://java.sun.com/products/servlet/archive.html |
JDK | 1.3 |
http://java.sun.com/j2se/1.3/ja/download-linux.html |
Apache | 1.3.19 | http://httpd.apache.org/dist/apache_1.3.19.tar.gz |
GNUJSP が前提だったり、GNUJSP が JServ を要求したりしていろいろとバージョンが古いのでいやだけど、Tomcat 上に構築して失敗するとやり直しで面倒なのでとりあえず NFuse のドキュメントに従っています.....
インストール
Redhat 6.2J にインストールなので、JDK からインストールします。JDK は、Tar 版をダウンロードしました(rpm 版でも構わない)。各モジュールのインストールは、/usr/local に行います。JDK は、Tar 版をダウンロードしました(rpm版は /usr/java にインストールするので気分的に嫌)。また、ダウンロードしたモジュールは、/usr/local/src においてあることを前提にしてください。Redhat 6.2J は、標準で Dynamic Shared Object (DSO) をサポートした apache がインストールされていますが、オリジナルとは分けて NFuse 専用にしたいので新しくインストールしなおします。
JDK のインストール
# cd /usr/local # sh src/j2sdk-1_3_0_02-linux.bin
JSDK のインストール
# tar xzpf src/jsdk20-solaris2-sparc.tar.Z
JServ と Apache のインストール
# cd /usr/local/src # gzip -dc apache_1.3.19.tar.gz | tar xf - # gzip -dc ApacheJServ-1.1.2.tar.gz | tar xf - # cd apache_1.3.19 # ./configure # cd ../ApacheJServ-1.1.2 # ./configure --prefix=/usr/local/jserv --with-apache-src=/usr/local/src/apache_1.3.19 \ > --with-java-platform=2 --with-jdk-home=/usr/local/jdk1.3.0_02 \ > --with-JSDK=/usr/local/JSDK2.0/lib/jsdk.jar # make # make install # cd ../apache_1.3.19 # ./configure --activate-module=src/modules/jserv/libjserv.a --enable-module=so # make # make install
Apache の動作に必要な情報の変更を行います。/usr/local/apache/conf/httpd.conf の編集。
- JServ を利用するための変更(Include /usr/local/jserv/etc/jserv.conf の追加)
- サービスポートの変更(標準インストールで 80 番が既に利用されている場合に必要。ここでは、8080 に変更しています。)
- パフォーマンス関連の設定や所有者情報など(変更する必要があれば...)
- ログの書き込みのためのオーナーの変更
# vi /usr/local/apache/conf/httpd.conf Port 8080 ... User nobody
Group nobody ... ... 最後の行 ... Include /usr/local/jserv/etc/jserv.conf # chown nobody:nobody /usr/local/jserv/logs # /usr/local/apache/bin/apachectl start
ブラウザで http://server-name:8080/servlet/Hello をアクセスして以下のように表示れれば JServ が正常にインストールされたことになる。
Example Apache JServ ServletCongratulations, ApacheJServ 1.1.2 is working! |
エラーとなった場合、/usr/local/jserv/logs/mod_jserv.log ファイルをチェックしてエラーの原因を調べます。エラーとなる多くの原因は localhost:8007 にコネクトできないことです。OS のネットワークの設定を確認して問題となる原因を解決してください。どうしても解決できない場合、/usr/local/jserv/etc/jserv.conf, /usr/local/jserv/etc/jserv.properties ファイルの localhost の記述をホスト名や IP Address に設定してみてください。
GNUJSP のインストール
# cd /usr/local # gzip -dc src/gnujsp-1.0.1.tar.gz | tar xf -
JSP を動作させる際に必要なプロコンパイルを行う作業用ディレクトリー(scratchdir)の作成
# mkdir /usr/local/apache/jsp # chown nobody:nobody /usr/local/apache/jsp
GNUJSPの動作に必要な情報の変更を行います。/usr/local/jserv/etc/jserv.conf の追加編集。
- .jsp ページを提供するときに、HTTP要求を JServのサーブレットエンジンに転送するための URL を指定
- GNUJSPゾーン設定ファイルで使用する GNUJSPサーブレットの別名を指定
# vi /usr/local/jserv/etc/jserv.conf ApJServVMTimeout 30
ApJServMount /jsp /jspzone
ApJServAction .jsp /jsp/gnujsp
プロパティーの設定(項目の追加および変更)。
# vi /usr/local/jserv/etc/jserv.properties #wrapper.classpath=/usr/local/JSDK2.0/lib/jsdk.jar wrapper.classpath=/usr/local/gnujsp-1.0.1/lib/servlet-2.0-plus.jar
wrapper.classpath=/usr/local/jdk1.3.0_02/lib/tools.jar ... zones=root,jspzone ... root.properties=/usr/local/jserv/etc/zone.properties jspzone.properties=/usr/local/jserv/etc/jspzone.properties # cp /usr/local/jserv/etc/zone.properties /usr/local/jserv/etc/jspzone.properties # vi /usr/local/jserv/etc/jspzone.properties # List of Repositories #repositories=/usr/local/jserv/servlets
repositories=/usr/local/gnujsp-1.0.1/lib/gnujsp10.jar
repositories=/usr/local/gnujsp-1.0.1/lib/sax2.jar
repositories=/usr/local/gnujsp-1.0.1/lib/openxml-1.2-w3c.jar
repositories=/usr/local/gnujsp-1.0.1/lib/aelfred.jar ... # Servlet Aliases servlet.gnujsp.code=org.gjt.jsp.JspServlet ... # Aliased Servlet Init Parameters servlet.gnujsp.initArgs=scratchdir=/usr/local/apache/jsp
servlet.gnujsp.initArgs=usepackages=true
servlet.gnujsp.initArgs=checkdependancies=true,checkclass=true
servlet.gnujsp.initArgs=compiler=builtin-javac -classpath %classpath%:%scratchdir%:/usr/local/gnujsp-1.0.1/lib/gnujsp10.jar -d %scratchdir% -deprecation %source%
最後のinitArgsは、見やすくするために3行になっていますが1行で記述してください。 # /usr/local/apache/bin/apachectl restart # cp -r /usr/local/gnujsp-1.0.1/examples /usr/local/apache/htdocs/
ブラウザで http://server-name:8080/examples/hello.jsp をアクセスして以下のように表示れれば GNUJSP が正常にインストールされたことになる。
The Famous JSP Hello ProgramThe following line should contain the text "Hello GNUJSP World!".If thats not the case start debugging ... Hello GNUJSP World! |
NFuse 1.5 の設定
GNUJSP が利用できる環境になってやっと NFuse の設定が行えます。NFuseWebExt-UNIX.tar.gz を CD または、ダウンロードサイトからコピーしてインストーラを起動します。ダウンロードしたモジュールが、/usr/local/src においてあることを前提にしてください。また、Citrix server (citrix.foobar.co.jp)のポート番号を知っている必要があります。Windows の場合、レジストリーの HKLM\SYSTEM\CurrentControlSet\Services\CtxHttp\TcpPort を調べ、UNIX の場合、ctxnfusesrv -l コマンドで調べる。
# mkdir /usr/local/src/NFuse # cd /usr/local/src/NFuse # gzip -dc ../NFuseWebExt-UNIX.tar.gz | tar xpf - # sh setupNFuse ... Select a setup option: 1. Install Citrix NFuse 1.5 2. Remove Citrix NFuse 1.5 3. Quit Citrix NFuse 1.5 setup Enter option number 1-3 [1]: <Enter> ... Yes, I accept this AGREEMENT (you must accept this agreement to install the software). No, I do not accept this AGREEMENT. Please answer [Default: NO] YES ... 1. Apache Server 2. Netscape Enterprise Server 3.6 3. iPlanet Web Server 4.0 (formerly Netscape Enterprise Server 4.0) or 4.1 Enter option number 1-3 [1]: <Enter> Please enter your web server's document root directory. [Default: /usr/local/apache/htdocs ] <Enter> Please enter a directory to which to copy the Citrix NFuse Java objects. This directory should be accessible by your web server. [Default: /usr/local/jserv/NFuse ] <Enter> That directory does not currently exist. Would you like to create it? [yes] <Enter> Would you like to install the Citrix NFuse example web sites [yes]? <Enter> Please enter a directory to which to copy the Citrix NFuse sample web pages. This directory should be accessible by your web server. [Default: /usr/local/apache/htdocs/NFuse15 ] <Enter> That directory does not currently exist. Would you like to create it? [yes] <Enter> Please enter the virtual URL for servlets for your Web Server /citrix Please enter a directory in which to store the automatically generated gif files for Citrix NFuse. This directory should be a subdirectory of your document root, and will be made writeable by all. [Default: /usr/local/apache/htdocs/NFuseicons] <Enter> That directory does not currently exist. Would you like to create it? [yes] <Enter> NFuse requires the ICA Client files to be present in the NFuseClients subdirectory of your web server's root URL. NFuse uses these files for ICA session embedding and Web-based ICA Client installation. Do you want to copy the ICA Clients to the NFuseClients directory? [yes] <Enter> Please provide the path to the ICAWEB directory of the Citrix ICA clients CD. /mnt/cdrom/ Please enter the name of the Citrix Server from which to retrieve Program Neighborhood information. The Citrix XML Service must be installed on this server. citrix.foobar.co.jp Please enter the port on which the previously entered Citrix server will be listening. [default: 80] <Enter> Setup will now copy the files for Citrix NFuse to the destinations you chose. If you are installing over an existing installation of Citrix NFuse, please make sure that the destination files are not in currently in use. Any web server, servlet engine, or JSP engine which may be currently using those files should be stopped before continuing. [Hit enter to continue.] <Enter> Copying NFuse Java objects... Copying NFuse DTD... Creating and copying NFuse example web pages... Copying keystore... Creating NFuse configuration file... Install has completed successfully. Please read the README file in the same directory as this script for further information about configuring your web server for Citrix NFuse. Quitting Citrix NFuse 1.5 Setup #
NFuse の動作に必要な情報の変更を行います。/usr/local/jserv/etc/jserv.conf の編集(項目の追加)。
- .jsp ページを提供するときに、HTTP要求を JServのサーブレットエンジンに転送するための URL を指定
- GNUJSPゾーン設定ファイルで使用する GNUJSPサーブレットの別名を指定
# vi /usr/local/jserv/etc/jserv.conf
ApJServMount /jsp /jspzone ApJServMount /citrix /citrix ApJServMount /nfuse /citrix
... ApJServAction .jsp /jsp/gnujsp ApJServAction .jsp /nfuse/gnujsp
プロパティーの設定(項目の追加)。
# vi /usr/local/jserv/etc/jserv.properties ... wrapper.classpath=/usr/local/gnujsp-1.0.1/lib/servlet-2.0-plus.jar wrapper.classpath=/usr/local/jdk1.3.0_02/lib/tools.jar wrapper.classpath=/usr/local/jserv/NFuse/nfuse.jar wrapper.classpath=/usr/local/jserv/NFuse/ctxxml4j.jar wrapper.classpath=/usr/local/jserv/NFuse ... zones=root,jspzone,citrix ... root.properties=/usr/local/jserv/etc/zone.properties jspzone.properties=/usr/local/jserv/etc/jspzone.properties citrix.properties=/usr/local/jserv/etc/citrix.properties # cp /usr/local/jserv/etc/jspzone.properties /usr/local/jserv/etc/citrix.properties # vi /usr/local/jserv/etc/citrix.properties # List of Repositories #repositories=/usr/local/jserv/servlets repositories=/usr/local/jserv/NFuse
repositories=/usr/local/jserv/NFuse/nfuse.jar
repositories=/usr/local/jserv/NFuse/ctxxml4j.jar
repositories=/usr/local/jserv/NFuse/jsafeObf.jar
repositories=/usr/local/jserv/NFuse/sslplus3.1.7.jar
repositories=/usr/local/gnujsp-1.0.1/lib/gnujsp10.jar
repositories=/usr/local/gnujsp-1.0.1/lib/sax2.jar
repositories=/usr/local/gnujsp-1.0.1/lib/openxml-1.2-w3c.jar
repositories=/usr/local/gnujsp-1.0.1/lib/aelfred.jar ... # Aliased Servlet Init Parameters servlet.gnujsp.initArgs=scratchdir=/usr/local/apache/jsp
servlet.gnujsp.initArgs=usepackages=true
servlet.gnujsp.initArgs=checkdependancies=true,checkclass=true
servlet.gnujsp.initArgs=compiler=builtin-javac -classpath %classpath%:%scratchdir%:/usr/local/gnujsp-1.0.1/lib/gnujsp10.jar:/usr/local/jserv/NFuse/nfuse.jar -encoding ISO8859_1 -d %scratchdir% -deprecation %source%
最後のinitArgsは、見やすくするために3行になっていますが1行で記述してください。 # /usr/local/apache/bin/apachectl restart
ブラウザで http://server-name:8080/NFuse15/html/login.htm をアクセスするとログイン画面が表示されます。
Citrix サーバーに登録してあるユーザーでログインすると、以降 MetaFrame が利用できるようになります。利用する際に、ICA クライアントがインストールされている場合そのまま利用できます。ICA クライアントがインストールされていなかったりバージョンが古い場合、ICA クライアントをダウンロードしてくれます(NFuse インストール時に ICA クライアントのコピーを CD からインストールした場合)。
※注釈
「記載内容につきまして、Citrix Systems Japanが情報をご提供しているものではありません。よってCitrix Systems Japanはこの情報に関して一切の責任を負いません。」
商標・登録商標
NFuse, MetaFrame は Citrix Systems 社の登録商標です。