Tarantella

2007/8/24更新

対応バージョン: E3-3.2

Tarantellaではレジュームを設定することによりクライアントとの接続が切れた場合にも継続動作を保証する。

しかし同様の機能がWindows2000 or TSE側にも用意されているためTarantella側でセッションを終了したにもかかわらず、Windows側には不要なプロセスが残る場合がある。

その整合性をとるためにTarantella側でのみレジュームを行うように設定する。

以下にWindows2000 Server上での設定手順を示す。

管理者としてWindows 2000 Serverにログインする。
[スタート]-[プログラム]-[管理ツール]-[ターミナルサービス構成]を選択。
接続タイプのリスト中で"RDP-Tcp"をダブルクリックする。
[セッション]タブの中の「セッションの限界に達したり接続が切断した場合」で[セッションを終了する]をチェックする。

尚、この設定における変更は、(設定)以降のセッションにのみ適用されることに注意する。

2007/8/24更新

対応バージョン: E3-3.2

以下のようなものがある。

LPDEST

プリンタ名

例)

tta_printer

ALTDISPLAY

クライアントのディスプレイID

例)

foo.bar.com:10

TTA_CLIENT_IPADDR

クライアントのIPアドレス

例)

192.168.253.151

TTA_PRIMARY_DNSNAME

プライマリTarantellaサーバのFQDN。

例)

foo.bar.com

TTA_USERNAME

Tarantella接続ユーザ名

例)

.../_ens/o=Tarantella System Objects/cn=Administrator

2007/8/24更新

対応バージョン: E3-3.2

基本的にTarantellaはユーザ名により各セッションリソースを管理している。

そのため同一ユーザ名を複数のユーザが使うような方法は考慮されていない。

たとえばクライアントマシンAにてあるユーザ名でログインした後に別のクライアントマシンBにて他のユーザが同じユーザ名でログインする状況を考える。

この時マシンAにてアプリケーションを使用していた場合そのアプリケーションはマシンBからはレジューム状態に見える。

これはレジュームか否かの判断ポイントがTarantellaのログイン/ログアウト時にあるためである。

この時このユーザ名に結び付けられたWebtopセッションは後にログインしたクライアントの画面に移転され、既存のセッション(先にログインしていたクライアントのセッション)は使用できなくなる。

しかしそれぞれが同じユーザ名でログインした後それぞれ同じアプリケーションを起動した場合にはアプリケーションはそれを異なるプロセスとして起動する(レジュームの判断がされないためにアプリケーションサーバ上では2つのプロセスが動作する)。

またどちらかのユーザがTarantellaからログアウトした場合、残りのユーザも強制的にTarantellaからログアウトされる。

ただし、このとき残った方のユーザがレジューム設定されたアプリケーションを使用していた場合には再度ログインしてアプリケーションを再開させることが可能である。

このため同じユーザが複数の環境にて同一ログイン名を使いまわすような運用は可能であるが複数のユーザが同一ユーザ名を共有するような運用には向かない。

これらはTarantellaの実装に基づく仕様である。

よってTarantellaを運用する場合には各ユーザごとに異なるユーザ名を割りあてるか、匿名ログイン機能により一時的なユーザを生成するかのいずれかの方法での運用を勧める。

2007/8/24更新

対応バージョン: E3-3.2

管理ユーザであればコントロールセンタ(管理ツール)からセッションマネージャを使用して個々のユーザの各セッションを監視する事ができ、セッションを強制的に遮断することも可能である。

また、ユーザの画面を管理者がモニタリングする機能としてシャドウイング機能がある。

同機能はE3以降でサポートされたもので、実行中のユーザセッションをオブジェクトマネージャからモニタ(操作を含む)することが可能である。

2007/8/24更新

対応バージョン: E3-3.2

tarantella webtopsession logoutコマンドを使用する。

例)

# tarantella webtopsession list
:
Client: 192.168.253.158
Logged in at: 2003-6-5 23:3:34.407
User: .../_user/usr1
Logged in to: web2.private.jp
Connection type: Secure

# tarantella webtopsession logout ".../_user/usr1"
.../_user/usr1: Successfully logged out.

2007/8/24更新

対応バージョン: E3-3.2

以下の各ファイルが/opt/tarantella/var/tsp配下に格納される。

cert.pem

サーバ証明書

csr.pem

サーバ証明書発行用CSR

ca.der

DERエンコードされたCAの証明書

ca.pem

CAの証明書

key.pem

CAのプライベートキー

証明書の内容を表示するにはtarantella security certinfoコマンドを使用する。

# tarantella security certinfo
:
----------------------------------
Certificate: Summary
----------------------------------
Subject:
 C=JP
 ST=Some State
 O=Some Organization
 CN=host1.bar.com
 Email=foo@bar.com

Issuer:
 C=JP
 ST=Some State
 O=Some Organization
 CN=host1.bar.com
 Email=foo@bar.com

Validity:
  Not Before: May 29 01:46:01 2002 GMT
  Not After : May 29 01:46:01 2003 GMT

Key and certificate are compatible.

2007/8/24更新

対応バージョン: E3-3.2

プライベート認証局を構築する方法はツールによって様々であるが、一般的な構築方法は以下のようになる(ここではOS=Linux、Webサーバ=Apacheを想定)。

サーバ側の各証明書の作成

プライベート認証局証明書(ルート認証)の作成

例)

# /usr/share/ssl/misc/CA -newca

サーバ証明書(秘密鍵)の作成

例)

# /usr/share/ssl/misc/CA -newreq
→ 作成された鍵ファイル(newreq.pem)を適当なファイル名(例:server-req.pem)に変更する。

公開鍵の作成と有効期限の設定

例)

# openssl ca -days 360 -in server-req.pem -out server-cert.pem

各クライアント用の証明書の作成

秘密鍵の作成

例)

# /usr/share/ssl/misc/CA -newreq
→ 作成された鍵ファイル(newreq.pem)を適当なファイル名(例:client-req.pem)に変更する。

公開鍵の作成と有効期限の設定

例)

# openssl ca -days 360 -in client-req.pem -out client-cert.pem

証明書をPKCS#12形式に変換する

例)

# openssl pkcs12 -export -in client-cert.pem -inkey client-req.pem \
-certfile /usr/share/ssl/misc/demoCA/cacert.pem -out client.p12

Apacheへの証明書インストール

作成した認証局証明書(ルート認証)をApacheにインストールする。

例)

# cp /usr/share/ssl/misc/demoCA/cacert.pem /etc/httpd/conf/ssl.crt/ca.crt

作成したサーバ証明書(秘密鍵)を Apache にインストールする。

例)

 
# cp /usr/share/ssl/misc/server-req.pem /etc/httpd/conf/ssl.key/server.key

作成した公開鍵をApacheにインストールする。

例)

# cp /usr/share/ssl/misc/server-cert.pem /etc/httpd/conf/ssl.crt/server.crt

不要なデモ用証明書を削除する。

例)

# rm /etc/httpd/conf/ssl.crt/snakeoil-*

ハッシュを更新する。

例)

# cd /etc/httpd/conf/ssl.crt ; make

Tarantellaへの証明書インストール

認証局証明書(ルート認証)をTarantellaのディレクトリにコピーする。

例)

# cp /usr/share/ssl/misc/demoCA/cacert.pem /opt/tarantella/var/tsp

サーバ証明書(秘密鍵)をTarantellaのディレクトリにコピーする。

例)

# cp /usr/share/ssl/misc/server-req.pem /opt/tarantella/var/tsp

公開鍵をTarantellaのディレクトリにコピーする。

例)

# cp /usr/share/ssl/misc/server-cert.pem /opt/tarantella/var/tsp

サーバ証明書(秘密鍵)の暗号を解除する。

例)

# tarantella security decryptkey \
  --enckey /opt/tarantella/var/tsp/server-req.pem \
  --deckey /opt/tarantella/var/tsp/server-req.pem.out \
  --format PEM

Tarantellaに証明書をインストールする。

例)

# tarantella security certuse \
  --certfile /opt/tarantella/var/tsp/server-cert.pem \
  --keyfile /opt/tarantella/var/tsp/server-req.pem.out

ルート認証を有効にする。

例)

# tarantella security customca --rootfile /opt/tarantella/var/tsp/cacert.pem

関連資料・記事

2007/8/24更新

対応バージョン: E3-3.2

Tarantellaではユーザ環境(Webtop)をHTTPで実現しているが、別途セキュリティパックを導入することで特定のユーザ対象にSSLv3の暗号化サービス(HTTPS)を提供できる(ブラウザの対応にも依存するが最高128bitのRC4暗号化)。

またX.509相互認証によりサーバやクライアントの「なりすまし」を防ぐためサイトを保証する事も可能である。

2007/10/5更新

対応バージョン: E3-3.2

サーバ側でコマンドラインからテスト印刷を行なう方法としてprinttestpage.en.shというシェルスクリプトが用意されている。

ただし、WebTopから印刷を行わないとセットされない環境変数等があるので注意が必要で

ある。

% /opt/tarantella/bin/scripts/printtestpage.en.sh
Looking for Tarantella Administrator...
Printing test page (text) for UNIX user root
  -> Tarantella user .../_ens/o=Tarantella System Objects/cn=admin@foo.bar
Real print command is /bin/lp
Using printer tta_printer (LPDEST=tta_printer,PRINTER=<null>,TTA_PRINTER=<null>)

Printing on printer tta_printer for user root
  -> Tarantella user .../_ens/o=Tarantella System Objects/cn=admin
request id is tta_printer-12 (standard input)

% tail /opt/tarantella/var/log/print.log
2002/06/05 15:05:57 Printing test page (text) for UNIX user root
2002/06/05 15:05:57 Tarantella print job root-14527 for user root@foo.bar
2002/06/05 15:05:58 Print conversion: printer-type=PCL passthru=0

2007/11/14更新

対応バージョン: E3-3.2

リモートのTarantella用プリンタを定義するにはローカルプリンタ定義と同様に同製品付属のprtinstall.en.shを使用する。

例) 「hosta」というホスト上で「tta_1」「tta_2」という2つのホストの「tta_printer」を使用できるようにする場合

まず「tta_1」「tta_2」上でリモートからの印刷を許可するよう/etc/hosts.lpdに「hosta」を設定しておく。

# hostname
tta_1

# cat hosta >> /etc/hosts.lpd

(*) 「tta_2」についても同様に設定する。

(*) 「hosta」に論理ホストが設定されている場合、それも設定する。

次に「hosta」上でリモートプリンタの設定を行う。

# hostname
hosta

# /opt/tarantella/bin/scripts/prtinstall.en.sh \
--ttahost tta_1 \ ← Tarantellaサーバ名
--appprinter tta_printer_1 ← プリンタ名(任意)

# /opt/tarantella/bin/scripts/prtinstall.en.sh \
--ttahost tta_2 \ ← Tarantellaサーバ名
--appprinter tta_printer_2 ← プリンタ名(任意)

これによりツール内でlpadminが実行され/etc/lp/Systemsに以下のエントリが追加される。

tta_1:x:-:bsd:-:n:10:-:-:
tta_2:x:-:bsd:-:n:10:-:-:

またツール内でlpadminが実行され/etc/printers.confに以下のエントリが追加される。

tta_printer_1:\
        :bsdaddr=tta_1,tta_printer,Solaris:

tta_printer_2:\
        :bsdaddr=tta_2,tta_printer,Solaris:

さらに、Tarantellaログインスクリプト用のプリンタ設定ファイルである/etc/ttaprinter.confに以下の内容が追加される(LPDEST環境変数が定義されていないところが重要)。

PATH=/opt/tarantella/bin:$PATH export PATH
#LPDEST=tta_1 export LPDEST #TTA_HOST=1
#LPDEST=tta_2 export LPDEST #TTA_HOST=2

(*) Tarantellaサーバが1台しかない場合はこのファイル中にてLPDEST環境変数が設定されるが、Tarantellaサーバが複数存在する場合はこのファイルでは設定されず、Tarantellaサーバ上でアプリケーションが起動される際にtta_という値が自動的に設定される。このTarantellaの仕様により、どのTarantellaサーバからアプリケーションが起動されても適切なプリンタ名がLPDESTにセットされる。

関連資料・記事

2007/11/14更新

対応バージョン: E3-3.2

ローカルのTarantella用プリンタを定義するには同製品付属のprtinstall.en.shを使用する。

例) 「tta」というホスト上でローカルプリンタを定義する場合

# hostname
tta

# /opt/tarantella/bin/scripts/prtinstall.en.sh
DNS name of primary Tarantella server
(press [Return] to accept default [tta]): ■ ← リターン(自ホスト上に定義)

この作業により/etc/printers.confに「tta_printer」というエントリが定義される。

tta_printer:\
        :bsdaddr=tta,tta_printer,Solaris:

関連資料・記事

2007/10/5更新

対応バージョン: E3-3.2

tarantella printに以下のオプションを指定してさまざまな制御ができる。

start

印刷サービス開始

stop

印刷サービス終了

resume

印刷サービス再開

pause

印刷サービス一時停止

status

印刷状態表示

例)

# tarantella print status
- Print master: web1.private.jp
- Printing is enabled for the array

→ 印刷サーバと印刷サービスの状態が表示されている。

list

印刷ジョブ一覧表示

例)

# tarantella print list
Printed: Tue Jun 04 21:51:44 JST 2002
Size: 25665
Job name: stdin
Job ID: usr1-26505
Application server: apserv1
Status: New
Owner: .../_user/usr1

Printed: Tue Jun 04 21:51:44 JST 2002
Size: 17570
Job name: stdin
Job ID: usr1-26457
Application server: apserv1
Status: New
Owner: .../_user/usr1
:

cancel

印刷ジョブ削除(キャンセル)

さらにサブオプションとして以下の3種類が指定できる。

--all

印刷ジョブを全て削除

--person

指定ユーザが実行しているジョブを全て削除

--jobid

指定したジョブを削除

例)

# tarantella print cancel --all
Canceled print job usr1-26505.
Canceled print job usr1-26457.
Canceled print job b1usr1-26167.

# tarantella print cancel --person ".../_user/usr1"
Canceled print job usr1-26505.

# tarantella print cancel --jobid usr1-26345
Canceled print job usr1-26345.

2007/10/5更新

対応バージョン: E3-3.2

Tarantellaは登録ユーザ以外にも匿名ユーザによるログインが可能である。

匿名ユーザでログインするためにはあらかじめTarantella管理者がアレイマネージャを使用して「匿名ユーザのログイン認証機構」をチェックしておく必要がある(デフォルトでは使用できないよう設定されている)。

匿名ユーザを使用する場合はTarantellaのログイン画面にてユーザ名とパスワードを空白のまま「OK」を押すだけである。

ただし匿名ユーザの場合はユーザにアプリケーションサーバにログインするための「ユーザ名/パスワード」をキャッシュさせることはできないため、アプリケーションを実行する度にそのアプリケーション用の認証を行う必要がある。

しかしTarantella管理者であればこの認証情報の登録が可能である。

具体的にはTarantellaのコマンドラインを使用して以下のように登録する。

例) 匿名ユーザがアプリケーションサーバ「winserver」に対してログインする時には常に「guest」ユーザでアクセスさせる

# /opt/tarantella/bin/tarantella passcache new \
--anon \
--resource ".../_ens/o=organization/cn=winserver" \
--resuser guest \
--respass <上記ユーザのパスワード>

アプリケーションサーバが複数台ある場合にはそれぞれのサーバに対して上の方法で登録しておく。

2007/8/24更新

対応バージョン: E3-3.2

必要なパラメータを記述したURLの指定によりWebtopへログインせずにアプリケーションを実行できる。

必要なパラメータを以下に示す。

ob

実行するアプリケーションのTFN名

ts

実タイムスタンプ(セッションの識別情報)

aw

ウィンドウの幅

ah

ウィンドウの高さ

ti

ラベル名

例としてTarantellaのサーバ名が「server」、実行するアプリケーションが「.../_ens/Org/xclock」、時間が「0824」、幅と高さがそれぞれ「300」、ラベルを「xclock」とする場合のURLは次のようになる(TFN名の指定時には「/」の代わりに「%2f」を使う)。

http://server/tarantella/cgi-bin/ttawebtop.cgi/tarantella/webtops/en_US/standard/xde.html?ob=...%2f_ens%2fOrg%2fxclock&ts=0824&aw=300&ah=300&ti=xclock

2007/8/24更新

対応バージョン: E3-3.2

Tarantellaはアプリケーション(AP)サーバへログインするための「ユーザ名/パスワード」情報をキャッシュとして保存する。

デフォルトではキャッシュするようになっているので一度アクセスしたAPサーバに対してはログイン処理を省略することができる。

このキャッシュ情報は管理者がコントロールセンタから削除できるが、一時的にキャッシュ情報を利用しないのであれば「Shift」キーを押しながらアプリケーションアイコンを選択するとAPサーバに対するユーザ名とパスワードの入力が「明示的に」求められ、キャッシュは使われない。

APサーバがUNIXの場合には以上の作業だけであるが、Windows TSE/2000の場合にはTarantellaの認証とは別に毎回Windows環境の認証ウインドウが開いてしまう。

これを省略するには以下の手順でTSE側の設定を変更する。

1. Administrator権限で[管理ツール]-[ターミナルサービス構成]を開く。

2. [接続]-[RDP-Tcp]のプロパティを開いてログオン設定を選択し、「常にパスワードの入力を求める」のチェックを外す。

2007/9/8更新

対応バージョン: E3-3.2

以下のような原因が考えられる。

Tarantellaとアプリケーションサーバ間のネットワーク接続が正しくない。
アプリケーションのアイコンを登録時にアプリケーションのPATHが正しくない。
アプリケーションサーバに対するログイン名やパスワードが正しくない。
アプリケーションサーバがUNIXの場合に、そのサーバにtelnetでログインできない。

telnetが出来ない理由として以下のような原因が考えられる。

・inetdなどのデーモンが動作していない。

・ファイアウォール機能などにより外部からのアクセスが禁止されている。

・OSのライセンスが切れている。

アプリケーションサーバがWindowsの場合、Windowsコネクティビティパックがインストールされているか確認し、インストールされていなければインストールする。

(確認)

# pkginfo ttawcp

(インストール)

# pkgadd -d ttawcp

2007/8/24更新

対応バージョン: E3-3.2

アプリケーションプロセスは各アプリケーションサーバ上で動作する。

そのため扱うファイルもアプリケーションサーバから見える必要がある。

例えばTarantellaを通してWindows2000上のMS Word2000を実行している場合、作成した文書ファイルはWindows2000に接続されたディスクに書き込むことが通常の動作であるが、現バージョンのTarantellaではサポートしていない。

今後上記のようなクライアントマシン上のファイルへの直接アクセス(ローカルデバイスのアクセス)もサポートされる予定である。

2007/8/24更新

対応バージョン: E3-3.2

TarantellaはJavaによりウィンドウを制御しているが、Javaを実行しているJVMがIMEからマルチバイト文字を受けた場合の動作が原因である。

具体的にはInternet Explorer 5.Xではこのような動作をするがNetscape Navigator 4.Xではこのような問題は発生しない(JVMはこれらの入力を無視する)。

Tarantellaを使用する場合IMEはクライアントPCのものではなくサーバ側のIMEを使用するようにすればこの問題は発生しない。

また操作ミスを防ぐためにTarantellaではDisableIMEを提供している。

これをクライアントPC側に用意しておくことでTarantellaが表示するウィンドウに対してクライアントPCからのマルチバイト文字入力を防ぐことが可能である。

ちなみにTarantellaの表示するウィンドウに対してクライアントPCのIMEを使用するにはJavaの日本語入力仕様(InputMethod Framework)を待つことになるが、現状のJava2ではこの機能はサポートされていない。

回避策としてTarantella CD-ROMなどに含まれる"DisableIME.exe"をあらかじめクライアントマシンにインストールしておけばTarantellaセッションに対するIMEの入力を回避することが可能である。

2007/8/24更新

対応バージョン: E3-3.2

Windowsアプリケーションに対して日本語入力を行う場合、例えばMS-IMEではIMEを起動するがTarantella経由のアプリケーションに対してこの操作を行うとIMEは起動しても入力ができない。

この操作によりウインドウがクローズすることもある。

これはTarantellaの日本語化の問題ではなく、Javaウィンドウに共通する日本語入力の問題である。

そこでTarantellaで日本語入力を行う場合にはアプリケーションサーバのIMEやFEPを使用することになる。

例えばWindows2000Serverをアプリケーションサーバに使用する場合にはサーバ上のMS-IMEを使う。

またUNIXのXベースのアプリケーションであればUNIX上のkinput2やhtt等を使用する。

ただしクライアントマシンとサーバマシンのIME起動のキーシーケンスが同じ場合には先にクライアントマシン上でハンドリングされるためにサーバ上のIMEを起動することができない(これが冒頭の問題となる)。

そのような場合を考慮してWindows環境のためにTarantellaでは2つの方法を提供している。

Tarantella接続の場合のIME起動のキーアサインを変更

Tarantella経由でサーバのIMEを起動するためにデフォルトで[Alt]+[Shift]+[@]キーを割り当てている。

これによりクライアントマシンのIME起動とは操作が異なるため問題は起きない。

(*) ただしこの方法はアプリケーションサーバがWindowsの場合のみ有効である。

DisableIME.exeを使う

TarantellaCD-ROMなどに含まれる"DisableIME.exe"をあらかじめクライアントマシンにインストールしておけばTarantella使用時にはクライアントマシンのIMEを一時的に使えなくするため通常の操作でサーバ側のIMEを起動できる。

(*) 以下からダウンロードも可能。

2007/10/5更新

対応バージョン: E3-3.2

ファイアウォール外でのTarantellaサービス提供

通常はDMZにTarantellaを置き、アプリケーションサーバは内部LANに配置する事が出来るため既存のセキュリティを維持したまま安全なファイアウォール越しのアクセスを提供できる。

またTarantellaは通常AIPの通信にポート番号「3144」を使用するのでファイアウォールにはこのポート番号とHTTPポートを開けるだけでUNIX/Windowsなどの様々なアプリケーションサービスを提供できる。

Tarantellaはインターネットに対応したプロダクトなので、サーバ/クライアント間やアレイサーバ間の通信にUDPポートなどを使用することはない。

ファイアウォールについてはTCPポートのみで制御可能である。

DNSの設定

一般にファイアウォールのあるネットワークでは特定のホストのDNS名を外側と内側それぞれ異なったものにする。

例えばあるホストに対して、インターネット側(外側)から見た場合のDNS名をwww.service.net、ファイアウォール内側から見た場合のDNS名をinside.service.netと設定した場合、ファイアウォール内側のユーザはどちらの名前も使用できるが、インターネット側(外側)のユーザはwww.service.net以外ではこのホストにアクセスできない。

このような場合、www.service.netを「外部DNS名」、inside.service.netを「ピアDNS名」と呼んで区別する。

Tarantellaを導入するサーバの外部DNS名とピアDNS名が同じ場合には特殊な設定は必要ないが、異なる場合には「HOSTの汎用プロパティ」属性のうち「DNS名」について外部DNS名を指定する必要がある。

設定しなければピアDNS名がそのまま適用され不具合が生じる可能性がある。

「HOSTの汎用プロパティ」属性を変更するためにはアレイマネージャから設定するか、コマンドラインから「tarantella config」を使って行う。

2007/8/24更新

対応バージョン: E3-3.2

Xベースのアプリケーションを利用する場合、フォントは/opt/tarantella/fonts以下の標準フォントが利用されるが、ここに用意されていないフォントの場合には新たにTarantellaサーバに追加する必要がある。

2007/9/8更新

対応バージョン: E3-3.2

TarantellaはJavaが動作するブラウザのみあれば十分な動作が行える。

たとえばOS起動後にブラウザのみが全画面で表示するようにしてブラウザの終了にてOSを終了させるようなカスタマイズも可能である。

また一般のWindowsマシンを専用端末にしたい場合、IEなどのブラウザを起動するだけでは一般ユーザがウィンドウ枠に対するマウス操作で「ウィンドウの終了」が出来るため専用端末としては脆弱になってしまう。

そのような場合にはIEの起動オプションに「-k」(キオスクモード)を指定すると最初からブラウザが全画面表示されウィンドウ枠が表示されないので専用端末のように扱うことも可能である。

この全画面表示でブラウザの終了は[Alt]+[F4]で行う(メニューが表示されないためマウスでの制御は出来ないようになっている)。

さらに他の画面に切り替えたい場合には[Alt]+[TAB]で行う。

使用例)

[スタート]-[ファイル名を指定して実行]を選択して以下のコマンドを入力

"C:\Program Files\Internet Explorer\iexplore.exe" -k http://<サーバ>/tarantella/

Windowsの起動シェルには通常はエクスプローラが指定されている(この指定はsystem.iniファイルで行われている)が、ここをIEと「-k」オプション指定で起動させればTarantellaのみを使用して他の操作(クライアントマシンのローカルアプリケーションの利用を含む)を不可能にするカスタマイズも簡単に行える。

このような設定を行ったシステムでは[スタート]メニューが表示されないので終了時には[Ctrl]+[Alt]+[DEL]により「シャットダウン」を選択して終了させる。

2007/9/8更新

対応バージョン: E3-3.2

E3から表示モードに「kiosk(キオスク)」が加わった。

オブジェクトマネージャから各アプリケーション属性にて「kiosk」を選択すると対象のアプリケーションのウィンドウ枠が表示されない。

この表示では画面の切り替えを[Alt]+[TAB]キー、画面の終了を[Alt]+[F4]キーで行う。

2007/8/24更新

対応バージョン: E3-3.2

アプリケーションの登録時に以下の設定を行う。

属性でアプレットの高さと幅をそれぞれ「0」に指定する。
ウィンドウのタイトルバーまでも完全に隠すためには表示ウィンドウ属性を「新規ブラウザから開く」を選択してブラウザの表示を「全画面表示」にする。

2007/8/24更新

対応バージョン: E3-3.2

デフォルトでは最上位の「組織」に定義された複数のアプリケーションが利用できるようになっている。

この「組織」のWebtopから標準の「Applications」というグループを削除すると全てのアプリケーションが実行できない状態になる。

ここで改めてアプリケーションを登録していけば必要なアプリケーションのみを実行させることが出来る。

2007/10/5更新

対応バージョン: E3-3.2

TarantellaはUNIXスレッド利用して動作するように実装されていて、Linux版のTarantellaもUNIXベースのソースコードをほぼそのまま使用している。

しかしLinuxのOSが提供するスレッドはUNIXスレッドとは異なり擬似スレッドと呼ばれ、スレッドを呼んでも結果新たなプロセスをfork()してしまう(つまりスレッドのソースコードは利用できるがスレッドの恩恵はない)。

そのためTarantellaが呼ぶスレッドもすべてプロセスになってしまい、異常に多くのプロセスが発生する結果となる。

これはLinuxの実装の問題でありトラブルではない。

SolarisやUnixWareなど他のUNIXシステムではTarantellaを使用した場合にも正しくスレッドが使われている。

2007/10/5更新

対応バージョン: E3-3.2

Tarantellaサーバに必要なメモリは最低128MBであるが、Linuxシステムが64MB以上のメモリを正しく認識していない場合がある。

この場合には物理メモリが256MB搭載されていてもLinuxカーネルは64MBとして動作する。

これは以下の方法で確認できる。

BIOSが搭載された物理メモリを正しく認識しているか?

ハードウェアの起動時にBIOSが搭載メモリ容量を表示するはずであるが、そのときの値が正しいか確認する。

もし異なる場合にはBIOSの設定等を確認して正しい値が表示されるようにする。

Linuxカーネルが搭載された物理メモリを正しく認識しているか?

コマンドラインからtopコマンドを実行すると現在カーネルが認識している物理メモリが次のように表示される。

:
Mem:   126924k total, 107292k used,   19632k free,  7184K buffers
Swap: 1212868k total,   5592k used, 1207276k free, 76840k cached
:

この例ではメモリが128MBとして認識されている。

もしこの値が実際に搭載した値よりも小さい場合にはカーネルに対して明示的にメモリ量を教える必要がある。

これには2つの方法がある。

以下は物理メモリを256Mに指定する場合の例である。

システム起動時に設定する

システム起動時にブートプロンプトが表示されるはずであるが、そこでパラメータを指定する。

たとえばTurboLinux6.0Jの場合には以下のように指定する。

boot: linux mem=256M

この後リターンキーを入力するとシステムが起動する。

OSの不具合によりカーネルパニックを起こす事があるが、その場合には物理メモリよりも少し少ない値(例ではmem=250Mなど)と指定すれば正しく動作するはずである。

固定値を設定する

起動時のパラメータは/etc/lilo.confファイルにて指定できる。

上と同様にメモリを256MBに指定するときには以下のように"append="行を1行追加する。

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux

image=/boot/vmlinuz-2.2.12-32
label=linux
initrd=/boot/initrd-2.2.12-32.img
read-only
root=/dev/hda8
append="mem=256M"

lilo.confファイルを修正後、root権限で/sbin/liloを実行すると次回の再起動からこの設定が反映される。

注意点

通常UNIXのswap領域は物理メモリ以上のサイズを用意するが、Linuxのカーネルが2.2.x+以前ではswap領域の最大値は128MBである。

物理メモリが128MB以上でもswapをこれ以上大きくできないので128MBのまま使用する。

2.2.x+以降ではi886マシンの場合2GBまで指定可能である。

2007/10/5更新

対応バージョン: E3-3.2

UNIX版のWebブラウザではJavaのフォント指定の問題により日本語が正しく表示できないことがある。

ブラウザのフォントリソース(Solarisなら/opt/netscape/java/classes/font.properties.ja)を正しく設定することで問題は改善できるが具体的な修正方法は各プラットホームに依存する。

2007/10/5更新

対応バージョン: E3-3.2

Tarantellaはインストール時にサーバのホスト名やドメインを参照して内部にデータベースを構築している。

そのためインストール後にホスト名やドメイン名が変更されるとこのデータベースの内容と整合性が取れずに正常に動作できない。

この整合性をとる方法は存在しないので、ホスト名やドメイン名を変更した場合にはTarantellaの再インストールを行う必要がある。

一般にTarantellaのアンインストールにはuninstallコマンドを使用する。

# /opt/tarantella/bin/tarantella uninstall

しかしこのコマンドの実行では組織情報は削除されないのでデータベースの内容もそのまま残ってしまう。

そこで--purgeオプションをつけて設定情報を完全に削除することを推奨する。

# /opt/tarantella/bin/tarantella uninstall --purge

2007/9/8更新

対応バージョン: E3-3.2

再読み込みを実行しても異常が解消されない場合はブラウザ上のJVMがハングアップしている可能性がある。

あまりに頻発する場合にはブラウザのバージョンを変更することを推奨する。

またブラウザを変更することでパフォーマンスが向上するケースもある。

2007/9/8更新

対応バージョン: E3-3.2

Tarantellaの設定をバックアップするにはまず事前にTarantellaサーバを停止し、以下のファイル/ディレクトリ配下を退避する。

/etc/ttaauthd.conf
/etc/ttaprinter.conf

/opt/tarantella/bin/bin/ttaauxserv
/opt/tarantella/bin/lp
/opt/tarantella/bin/lpr
/opt/tarantella/bin/scripts/lp_interface.en
/opt/tarantella/bin/scripts/printtestpage.en.sh
/opt/tarantella/var/docroot/cgi-bin/ttaprinter.cgi
/opt/tarantella/var/password/tier3cache/
/opt/tarantella/var/info/
/opt/tarantella/var/preferences/
/opt/tarantella/var/state/licusage
/opt/tarantella/var/serverconfig/global/
/opt/tarantella/var/serverconfig/local/
/opt/tarantella/var/ens/

(ユーザによるWebtopカスタマイズ部分)
/opt/tarantella/var/docroot/

これら設定ファイル中にはFQDN情報やArray情報といったホスト固有の設定も含まれているので、単に別のホストにリストアしただけではTarantellaは動作しないので注意が必要である。

参考までに、作業の内容によって変更されるファイル/ディレクトリを以下に示す。

FQDN変更

/etc/ttaauthd.conf
/etc/ttaprinter.conf

/opt/tarantella/bin/bin/ttaauxserv
/opt/tarantella/bin/lp
/opt/tarantella/bin/lpr
/opt/tarantella/bin/scripts/lp_interface.en
/opt/tarantella/bin/scripts/printtestpage.en.sh
/opt/tarantella/var/docroot/cgi-bin/ttaprinter.cgi
/opt/tarantella/var/info/
/opt/tarantella/var/state/licusage
/opt/tarantella/var/serverconfig/global/
/opt/tarantella/var/serverconfig/local/
/opt/tarantella/var/ens/

Object変更

/opt/tarantella/var/password/tier3cache/
/opt/tarantella/var/info/
/opt/tarantella/var/preferences/
/opt/tarantella/var/state/licusage
/opt/tarantella/var/serverconfig/local/
/opt/tarantella/var/ens/

Array構築

/opt/tarantella/var/info/
/opt/tarantella/var/preferences/
/opt/tarantella/var/state/licusage
/opt/tarantella/var/serverconfig/global/
/opt/tarantella/var/ens/

2007/10/5更新

対応バージョン: E3-3.2

Tarantellaのユーザ認証には複数の方法があり、目的に応じて選択できる。

通常Tarantellaが持つユーザ情報はTarantellaサーバをインストールしたUNIXシステムのユーザをそのまま利用する。

その場合NISにも対応している。

実際のユーザ認証の流れは、

Tarantellaにログイン
アプリケーションサーバにログイン

となるが、2のアプリケーションサーバへのログインは省略することも可能なので設定によっては一度ログインを行うだけで利用を許可された全てのアプリケーションに接続することもできる。

2007/10/5更新

対応バージョン: E3-3.2

ログファイルには以下のメッセージが出力されている。

/opt/tarantella/var/log/sslXXX.log

ssldaemon/certificate/outofdate Certificate has expired, client may accept certificate

/opt/tarantella/var/log/error.log

The client has established a TCP connection but failed to negotiate an SSL connection.
Connection closed by Tarantella Security Daemon.
Reported SSL error: sslv3 alert certificate expired.

このような場合、以下の原因が考えられる。

Tarantellaサーバに組み込んでいるSSLサーバ証明書の有効期限が切れた。
OSの日時がずれてSSLサーバ証明書の有効期間外になった。

例えば有効期間が4/1〜9/31の証明書を4/1に作成したが、OSの日付が1日前にずれて3/31になるとこの証明書は使用できなくなる。

2007/9/8更新

対応バージョン: E3-3.2

Tarantellaを使用するためにはクライアントマシン上にJavaアプレットをインストールする必要がある。

(自動的に実行される)このアプレットはIEではCABファイルとして扱われる。

しかしWindows2000の場合OSのセキュリティが厳しいために一般ユーザではこのCABファイルをインストールできない。

そこで一度administratorなどの管理者権限でIE上からTarantellaにアクセスしてCABファイルをシステムにインストールした後で、改めて一般ユーザでTarantellaにアクセスすることになる。

なお、CABファイルのインストールはそのシステム共通の情報なので一度インストールしてしまえばそのシステム上の全てのユーザに対して有効である。

2007/9/8更新

対応バージョン: E3-3.2

以下の方法で原因の切り分けを行う。

クライアント - Tarantella間のネットワーク接続は正しく行われているか?

クライアントマシンからTarantellaサーバへpingを実行する。

pingが正しく返られないようであればネットワークの接続やDNSの登録などに問題があるかもしれない。

クライアントからWWWサーバのトップページに接続できるか?

正しく接続できなければWWWサーバの設定などを確認する。

WWWサーバの設定ファイルにTarantellaは正しく登録されているか?

WWWサーバの設定ファイルにTarantellaについての登録を行う必要がある。

ScriptAlias /tarantella/cgi-bin <install_dir>/var/docroot/cgi-bin
Alias       /tarantella         <install_dir>/var/docroot

ブラウザはJavaに対応しているか?

ブラウザのインストール方法によってはJava対応のモジュール(JVM)が入らないことがある。

例えばIE5や6の標準インストールではJVMはインストールされないのでカスタムインストールか、コンポーネントの追加を選択する必要がある。

2007/9/8更新

対応バージョン: E3-3.2

Tarantellaサーバにアクセスすると最初にスプラッシュ画面が表示されるが、例えば日本語環境で英語版のTarantellaを使用しているような場合、日本語のスプラッシュ画面のWebページが用意されていないので上記のようなエラーになる。

このエラーが出ても単にスプラッシュ画面が表示されないだけなので動作上問題ないが、気になるようなら例えば以下のようにして英語版のスプラッシュ画面にリンクを張ってもよい。

# cd /opt/tarantella/var/docroot/resources/login/sco/tta/boot
# ln -s locale=en-us locale=ja-jp

もちろんオリジナルのスプラッシュ画面を用意してそれを同ディレクトリに置いてもよい。

2007/10/5更新

対応バージョン: E3-3.2

Tarantellaで定義した以下のオブジェクトを組み合わせた「接続タイプ」という属性を指定することで非常に細かいアクセス制限をアプリケーションの一切の変更無く設定することができる。

ユーザ
クライアントマシンのIPアドレス
アプリケーションサーバのIPアドレス

2007/10/15更新

対応バージョン: E3-3.2

準備

あらかじめインストールしておくもの

Solarisパッチ(後述)
SSLライブラリ(セキュリティパックを使用する場合)

導入に必要なもの

製品CD-ROM

導入OS

Solaris8

Solarisパッチ適用

Tarantellaインストールに先立ち、以下のSolarisパッチを適用しておく必要がある。

108940-12、またはそれ以降 (必須)

Motif 2.1の不具合修正

109454-01 (マルチプロセッサシステムの場合、必須)

/kernel/fs/fifofsと/kernel/fs/sparcv9/fifofsの不具合修正

108921-07、またはそれ以降 (推奨)

dtwm(CDEウィンドウマネージャ)の不具合修正

インストール

インストーラ起動

% su
# cd <CD-ROM>
# sh ttaspso.shx (ベースパッケージ)

----------------------------------------------------------------------
Tarantella Software License Agreement
----------------------------------------------------------------------
To use Tarantella you must agree to be bound by
the terms of the Software License Agreement.

  Y - I have read, and accept the terms of the license agreement
  N - I do not accept the terms of the license agreement
  R - Let me read the license agreement

Accept terms of Software License Agreement? [R] ■ ←使用許諾

----------------------------------------------------------------------
Setting up Tarantella Enterprise 3
----------------------------------------------------------------------
Tarantella Setup recommends you use the following settings:
 
Installation type = install 3.20.907
Installation directory = /opt/tarantella
Peer DNS name = <ホスト名>
License mode = Evaluation (30-day limit)
Archive logs every week? = yes (Sunday 03:00 hours)
 
Are these settings OK?
  Y - Yes, install using these settings
  N - No, tell me more about the options and let me change the settings
  Q - Quit now

OK to use these settings? [Y] ■ ←とりあえず30日評価版をインストール

Tarantella Setup is recording settings...
 
Tarantella Setup is installing files...
:

# sh tspspso.shx ←  セキュリティパックを追加インストールする場合(目的に応じて任意)

オリエンタルXフォントパックインストール

# sh ttaforie.shx

インストール物 (man,infoは除く)

Tarantella本体
/opt/tarantella/*/*
設定ファイル
/etc/ttaauthd.conf
/etc/ttaprinter.conf

/etc/lp/interfaces/tta_printer
/etc/lp/printers/tta_printer/*
initスクリプト
/etc/rc3.d/S90Tarantella

/etc/rc0.d/K10Tarantella -> /etc/rc3.d/S90Tarantella
/etc/rc1.d/K10Tarantella -> /etc/rc3.d/S90Tarantella
/etc/rc2.d/K10Tarantella -> /etc/rc3.d/S90Tarantella

インストール後、/etc/printers.confに「tta_printer」エントリが追加される。

各種設定

環境変数設定(root)

<既存の設定に追加>
PATH

/opt/tarantella/bin

ライセンス入力

# tarantella license add <ライセンスキー>

プリンタ設定

/etc/printers.confに以下の内容が追加されるので必要に応じて編集する。

tta_printer:\
      :bsdaddr=<ホスト名>,tta_printer,Solaris:

SSLを有効化する場合の設定

# tarantella config edit --security-connectiontypes ssl
# tarantella config edit --array-port-encrypted 443
# tarantella config edit --security-firewallurl https://127.0.0.1:443

Webサーバとの連携設定 ... iPlanet Web Server-4.1と連携する場合

http:///tarantella として管理画面にアクセス可能にする。

WebブラウザでAdmin Serverにアクセスし、該当のサーバを選択して設定を行う。

ドキュメントルート

[Content Mgmt]タブの[Additional Document Directories]メニューにて以下のように設定する。

URL prefix       : /tarantella
Map To Directory : /opt/tarantella/var/docroot
Apply Style      : [NONE]
CGIディレクトリ

[Programs]タブの[CGI Directory]メニューにて以下のように設定する。

URL prefix    : /tarantella/cgi-bin/
CGI directory : /opt/tarantella/var/docroot/cgi-bin/
SSLを使用する場合、443ポートへのバインドをlocalhostに限定し、グローバルの443へのバインドをTarantellaに任せる。

[Preferences]タブの[Network Settings]メニューにて以下のように設定する。

Bind To Address: 127.0.0.1

動作確認

Webブラウザから以下のURLにアクセスし、Tarantellaのログイン画面が表示されればよい。

http://<server>/tarantella