インターネットに接続していない、もしくはセキュリティ上の理由で接続できない医院などで、orcaのオフラインアップデート(マスタ更新、プログラム更新)をさせる方法について考えてみた。現状のjma-receiptでは、ftp経由でファイルを取得する方法が採用されている。オフラインアップデート対応は、一部のソースコードは書いてあるが、コメントアウトされている状態で止まっているようだ。そういや、マスタ更新、プログラム更新だけでなくて、Debian GNU/Linux側の更新をする場合でも、debianアーカイブのミラーを作成すれば可能か..。
1.ftpサーバをたてる方法 ノートPCなどでorcaサイトのftpのミラーサーバを作り、/etc/hostsを 書き換えて更新する方法。 2.プロキシサーバをたてる方法 1.と同様に、ノートPCでプロキシサーバなどにftpのコンテンツをキャッシュ させる方法。 3.モバイルネットワークにする方法 ノートPCなりなんらかのデバイス+無線アクセスを使って外部ネットワークに アクセスさせる方法。 4.CD-R等からアップデートする方法 CD-Rなどのメディアを医院に送付してアップデートしてもらう方法。 CDを作成する手間がかかる。また、事務員さんでも使えるようにする必要がある。 そのままglclient上でアップデートを行えるようにするには、ORCAのソースコード に手を入れる必要がある。(日医の公式対応を待つか?) 5.ORCAサーバ内にコピーするかftpサーバをたててCD-R等からアップデートする方法 1.と4.の組み合わせパターン。とりあえず、ORCAのソースコードを触らない 方針でいくと、ローカルのコンテンツの更新のみをCD-Rによって行う方法。 事務員さんでも使える、ローカルのコンテンツ更新用のアプリを書く必要がある。
□ ダウンロード オフラインアップデート設定スクリプト Ver0.13 ダウンロード (終了ステータスの設定がおかしかったのを修正) □ 接続例 |ORCAサーバマシン|=====LAN====|オフラインアップデート用サーバマシン| (192.168.0.2) (192.168.0.3) □ 使い方 オフラインアップデート用のサーバにしたいマシンで(ノート等)、上記のスクリプトを root権限で実行してください。実行時にはインターネットに接続されている 必要があります。ftpアーカイブの更新もこのスクリプトで行えます。 基本的にEnterを押していけばインストールは完了します。 # ./orca_offline.sh 次に、ORCAサーバマシン側の/etc/hostsを書き換えて、日医の ftpサーバへのアクセスをオフラインアップデート用マシンに向けます。 以下のような設定を追加してください。 <オフラインアップデート用マシンのIPアドレス> ftp.orca.med.or.jp 例) 192.168.0.3 ftp.orca.med.or.jp これで設定は完了です。glclientを起動して、マスタ更新/プログラム更新を 行ってみてください。
オフラインアップデートの詳細
□ サーバの設定
コンテンツのミラーリング
ftpサーバにはproftpdを選ぶことにした。
# apt-get install proftpd
を実行して、以下のようなAnonymous FTPの設定の行を追加。
proftpdの起動方法はinetd経由かスタンドアローンかは好みで選べばいいが
分からなければ、デフォルトのスタンドアローンを選択する。
<Anonymous /home/ftp/ftp.orca.med.or.jp/>
User ftp
Group nogroup
UserAlias anonymous ftp
ExtendedLog /var/log/proftpd.log READ
RequireValidShell off
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
proftpdを再起動
# /etc/init.d/proftpd restart
マスタ更新
wget -m --passive-ftp ftp://ftp.orca.med.or.jp/pub/orca_data/
プログラム更新
wget -m --passive-ftp ftp://ftp.orca.med.or.jp/pub/bugfix/debian/
#プログラム更新で特定のバージョンだけのアップデータが欲しいのなら
#wget -m ftp://ftp.orca.med.or.jp/pub/bugfix/debian/i386/woody/2.6.0/
#のようにしてバージョンを指定して取得することもできる。
2005/12/14現在の必要なディスク要領
264M /home/ftp/ftp.orca.med.or.jp/pub/bugfix
81M /home/ftp/ftp.orca.med.or.jp/pub/orca_data
□ クライアントの設定
/etc/hostsにftpサーバにしたマシンを指定する。
例:
192.168.0.100 ftp.orca.med.or.jp
この状態でマスタ更新/プログラム更新を行えばよい。
ちゃんと接続できるか確認するには、Mozillaやtelnetを使って接続等を試してみるとよい。
□ その他
proftpdは書き込みを禁じたanonymous接続にしているが、アクセス制限には
注意すること。必要があればproftpd.confなどの設定やiptablesなどの
パケットフィルタリングを行うこと。
日医総研のftpサーバに負担がかかるので、頻繁には実行しないこと。
wgetの際には-mでミラーリングオプションを付けて不要なファイルは取得しないこと。
proftpdが起動しない場合はpsでプロセスを確認。起動していないようなら
システムログを参照すること。
□ 関連リンク
ProFTPD 日本語訳サイト
http://www.infoscience.co.jp/technical/proftpd/
The ProFTPD Project
http://www.proftpd.org/docs/
GNU Wget 1.9 マニュアル
http://www.bookshelf.jp/texi/wget/wget-ja_toc.html
Wgetを使おう的ページ
http://www.geocities.jp/horiuchimasaru/wget.html