ライセンスサーバの自動起動
ライセンスサーバはスタート・ストップを制御するスクリプトが/etc/webct/S96WebCTLicenseに置かれます。これをシステムのrcディレクトリにシンボリックリンクを張るのが最も簡単な方法になります。まず、以下のコマンドを利用して現在のランレベルを調べてください。
$ /sbin/runlevel N 3
N 3などと表示されました。これは一つ前のrunlevelと現在のrunlevelを示しています。ランレベルを一度も切り換えていないのであれば一つ前は存在しないためNとなります。 すなわち、現在のランレベルは3ということがわかりました。 これはシステムごとによって異なっている可能性がありますので、必ず現在のランレベルを調べるようにしてください。
ランレベルがわかったら、そのランレベルのrcディレクトリに対してシンボリックリンクを張ります。rootで以下のようなコマンドを実行するだけで出来ます。
# ln -s /etc/webct/S96WebCTLicense /etc/rc3.d
/etc/rc3.dの3が先程調査したランレベルになります。 例えばランレベルが2だった場合は/etc/rc2.dに対してシンボリックリンクを張ることになります。
続いてランレベル0にS96WebCTLicenseのSをKに変えたシンボリックリンクを張ります。 こうしておくことでシャットダウン時にライセンスサーバも同時にシャットダウンしてくれるようになります。
# ln -s /etc/webct/S96WebCTLicense /etc/rc0.d/K96WebCTLicense
サーバを再起動できる環境にあるのであれば、ここまでで一度再起動して、正常にライセンスサーバが起動するか試してみてください。
# shutdown -r now
WebCTサーバを自動起動する
最も単純な方法は/etc/webct/S96WebCT0 のようなシェルスクリプトを自作し、それに対してシンボリックリンクを張ることです。
#!/bin/sh WEBCT_INSTALL_DIR=/home/webct/webct_root start() { ${WEBCT_INSTALL_DIR}/webct/webctctl start exit 0 } stop() { ${WEBCT_INSTALL_DIR}/webct/webctctl stop exit 0 } case "$1" in start) start ;; stop) stop ;; esac
WEBCT_INSTALL_DIR=/home/webct/webct_rootはお使いのWebCTのインストールしたディレクトリに合わせる必要があります。 これを作成した後、スクリプトのパーミッションを755のような実行できる値に設定します。
$ chmod 555 /etc/webct/S96WebCT0以下のようにstart、stopの引数を与えて正しくWebCTが起動、停止できることを確認します。
# 起動 $ /etc/webct/S96WebCT0 start Cleaning out temp files Preparing WebCT files Starting WebCT services: Starting Web Server Starting WebCT Chat Server Starting WebCT Whiteboard Server Starting HTML Editor Server # 停止 $ /etc/webct/S96WebCT0 stop Stopping WebCT services: Stopping Web Server Stopping WebCT Chat Server: stopped. Stopping WebCT Whiteboard Server: stopped. Stopping HTML Editor Server: stopped.
良さそうであれば、以下のようにリンボリックリンクを張ります。ランレベルはライセンスサーバの自動起動で調査したものを与えてください。
# ln -s /etc/webct/S96WebCT0 /etc/rc(ランレベル).d/ # ln -s /etc/webct/S96WebCT0 /etc/rc0.d/K96WebCT0
ここまで良いようであれば再起動します。
一般ユーザで自動起動する
先程までのやりかたで起動するとWebCTがrootで起動されます。 1024より上のポートを利用している場合必ずしもrootで起動する必要はありませんし、rootで起動した場合、一般ユーザでは止められなくなります。
$ /etc/webct/S96WebCT0 stop Stopping WebCT services: Stopping Web Server httpd (pid 905?) not running Stopping WebCT Chat Server: stopped. Stopping WebCT Whiteboard Server: stopped. Stopping HTML Editor Server: stopped.
これが好ましくない場合は先程のスクリプトを少し修正することで対処できます。 この作業の前にrootでWebCT起動した場合はrootになってWebCTを停止しておいてください。
先程の起動スクリプトを以下のように修正します。
#!/bin/sh WEBCT_INSTALL_DIR=/home/webct/webct_root WEBCT_USER=webct start() { su $WEBCT_USER -c "${WEBCT_INSTALL_DIR}/webct/webctctl start" exit 0 } stop() { su $WEBCT_USER -c "${WEBCT_INSTALL_DIR}/webct/webctctl stop" exit 0 } case "$1" in start) start ;; stop) stop ;; esac
これをrootで起動してみるなどしてテストし、良いようであれば再起動してテストして下さい。