インターネットに接続していない、もしくはセキュリティ上の理由で接続できない医院などで、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