« 2012年7月 | トップページ | 2012年9月 »

2012年8月

2012年8月29日 (水)

重複スタンプのチェック

処方をカルテにドロップしたときに,重複する薬剤がある場合,警告を出すようにした。

Stampduplicates_2

2012年8月28日 (火)

PVTClientServer をサーバに移行

OpenDolphin 1.3 がORCA から受付情報を受け取る手順は以下のようになっている。

  1. Dolphin クライアントの1台で,受付 CLAIM を受けるための PVTClientServer を立ち上げる。
  2. ORCA からそのクライアントに受付 CLAIM を送る。
  3. 受付 CLAIM を受けたクライアントは,Dolphin サーバに受付情報を送る。
  4. 各々の Dolphin クライアントは Dolphin サーバから受け付け情報を受け取る。

これまで,サーバ機でクライアントを立ち上げて PVTClientServer をさせていたが,PVTClientServer を Dolphin サーバ内の MBean にうつして,Dolphin サーバ内で ORCA からの受付 CLAIM 情報を受信できるようにした。

  • MBean からの RemotePvtServiceImpl#addPvt は認証を受けていないアクセスになるので,@PermitAll した。
  • さらに facility id もセットされていないので,default の facility id をセットするようにした。

自院だけで動けばいいシステムなので,この辺は適当くさくてもよしとする。
サーバ機にクライアントを入れて PVT サーバをさせなくてもよくなったので,サーバの構成が単純になった。

2012年8月26日 (日)

Mountain Lion 環境整備

テスト機で Mac OS X Mountail Lion にアップデートしてみたが,いろいろトラブルがあった

  1. monsiaj が立ち上がらなくなった。これは 10.8.1 で解決した。
  2. webdav クライアントが不安定
    Lion では,Finder で webdav をマウントして,普通のドライブの様に使用できていたが,Mountain Lion では,フォルダの内容が表示されたりされなかったり,ファイルを保存しようとするとエラーが出て保存できたりできなかったり,安定せず使い物にならない。これは 10.8.1 でも解決されず。
  3. ScriptEngineManager#getEngineByName("AppleScript") が null を返すようになった。java -version を調べてみると,バージョンがおかしい。確か,最新版は 1.6.0_33 なはず。
    java version "1.6.0_29"
    Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-12A269)
    Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
    
    Lion 時代にいろいろいじったので,おかしくなってしまったのかもしれない。Java for OS X 2012-004 をググってダウンロード,インストールしたところ,AppleScript が使えるようになった。
    java version "1.6.0_33"
    Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
    Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)
    
  4. Mountain Lion Server の postgres が,TimeMachine の起動のタイミングで勝手に止まってしまう。プロファイルマネージャなど,postgres を使うサーバを一つ起動しておく必要がある。

2012年8月19日 (日)

lucid に orca をインストール

自宅サーバの dom-U に構築した lucid に,orca の インストールとデータ移行を行ってみた。これからしばらくヒマを見て運用テストを続ける予定。

orca のインストール

手順書通りにインストールを進める。

  1. uuid-runtime のインストール
    手順書にはないが,コマンドラインで uuidgen を入力して「コマンドが見つかりません」となる場合はインストールする必要がある。これをインストールしないと,claim 送信時に uuid が文字化けしてしまう。
    # aptitude install uuid-runtime
    
  2. language-support-ja のインストール
    # aptitude install language-support-ja
    
  3. keyring の追加
    # wget -q http://ftp.orca.med.or.jp/pub/ubuntu/archive.key
    # apt-key add archive.key
    
  4. apt-line の追加
    deb http://ftp.orca.med.or.jp/pub/ubuntu lucid4.6 jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu lucid4.6 jma
    deb http://ftp.orca.med.or.jp/pub/ubuntu lucid-common jma
    deb-src http://ftp.orca.med.or.jp/pub/ubuntu lucid-common jma
    
  5. パッケージ更新
    # aptitude update
    # aptitude dist-upgrade
    
  6. ORCA インストール
    # aptitude install jma-receipt
    
  7. user,password の追加
    # gluseradd -file /etc/jma-receipt/passwd -p passwd1 ormaster
    # gluseradd -file /etc/jma-receipt/passwd -p passwd2 doctor
    # gluseradd -file /etc/jma-receipt/passwd -p passwd3 jimu
     :
    

プリンタインストール

  1. 上記のインストールでは,cups のサーバーはインストールされない。当院では brother の非ポストスクリプトプリンタを使用しているので,cups サーバをインストールして,印刷できるように設定する。
    なお,poppler-data をインストールしないと,cups で日本語フォントがプリントできない
    $ sudo aptitude install cups poppler-data
    
    cupsd.conf の設定
    $ cat /etc/cups/cupsd.conf
    #
    # Sample configuration file for the CUPS scheduler.  See "man cupsd.conf" for a
    # complete description of this file.
     :
    Listen orca:631    # orca のホストアドレス
     :
    # Restrict access to the server...
    <Location />
      Order allow,deny
      Allow @Local
     </Location>
    
    # Restrict access to the admin pages...
    <Location /admin>
      Order allow,deny
      Allow @Local
    </Location>
    
    # Restrict access to configuration files...
    <Location /admin/conf>
      AuthType Default
      Require user @SYSTEM
      Order allow,deny
      Allow @Local
    </Location>
     :
    MaxJobs 0
    
  2. ブラザーのホームページから,linux-brjprinter-installer をとってくる。説明にしたがってインストールする。
    $ gunzip linux-brjprinter-installer-x.x.x-x.gz
    $ sudo su
    # bash linux-brjprinter-installer-x.x.x-x HL-5250DN
     :
    インストールしますか? [y/N] ->y
     :
    上記使用許諾に同意しますか? [Y/n] ->y
     :
    Device URIを指定しますか? [y/N] ->y
     :
    0: socket
    1: http
    2: ipp
    3: lpd
    4: beh
    5: scsi
    6: lpd://BRN001XXX/BINARY_P1
    7 (I): IPアドレスの指定使用する
    Device URIの番号を選択してください。 ->7
    ご使用のプリンタ/MFCのIPアドレスを指定してください。->192.168.1.xxx
    テスト印刷を実行しますか? [y/N] ->y
    wait 5s.
    lpr -P HL5250DN /usr/share/cups/data/testprint
    
  3. cupsd をリロードして,ブラウザから https://orca:631/admin にアクセス
  4. 「プリンターの追加」をクリック
  5. 認証は root とパスワードを入力。「発見されたネットワークプリンター」にプリンタが出てくるが,これをつかうとうまくいかない(Unable to locate printer 'BRN001XXXX'! となる)。socket://192.168.1.xxx を指定して手動でプリンタ追加する。ORCA の設定に合わせた名前のプリンタを登録する。( lp1,lp2 等)

データベース移行

  1. hardy で pg_dump
    $ pg_dump -Fc -f orca_db.dump
    
  2. lucid で pg_restore。この時,createdb にオプションが必要。
    $ sudo /etc/init.d/jma-receipt stop
    $ dropdb orca
    $ createdb -lC -Ttemplate0 -EEUC-JP orca
    $ pg_restore -d orca orca_db.dump
    
  3. 構造変換スクリプト
    $ sudo bash /usr/lib/jma-receipt/bin/jma-receipt-db-setup.sh
     :
    Very Good!
    Done. Completed.
    
  4. スキーマチェックスクリプト
    $ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz
    $ tar xvzf jma-receipt-dbscmchk.tgz
    $ cd jma-receipt-dbscmchk
    $ sudo bash jma-receipt-dbscmchk.sh
     :
     データベースの整合性チェックは正常に終了しました。    
    
  5. プログラム更新とマスタ更新

帳票のインストール

  1. 公開帳票のインストール
    $ for d in `ls` ; do cd $d ; sudo bash install.sh ; cd ../ ; done
    
  2. 地方公費
  3. sky.sh 様のカスタマイズ帳票

その他

  • claim server の起動設定
    $ dpkg-reconfigure jma-receipt
    
  • jma-receview のインストール
  • postgres の外部からのアクセス受け入れ
    /etc/postgres/8.4/postgres.conf
    listen_address = '*'
    
    /etc/postgres/8.4/pg_hba.conf
    host  all  all 192.168.1.0/24  trust
    

2012年8月17日 (金)

ファイルサーバのバージョンアップ

当院では、添書などの文書はファイルサーバ(samba)に保存するようにしている。ファイルサーバは ubuntu 8.04 を dom-U として使用していたが、今回これを 12.04 までアップグレードしてみた。

  1. update-manager-core をインストールして,do-release-upgrade する。-d オプションをつけることで,LTS 内で10.04 → 12.04 とアップグレードできる。
    まずは,10.04 (lucid) までアップグレード。
    $ sudo aptitude install update-manager-core
    $ sudo do-release-upgrade -d
     :
    System upgrade is complete.
    Restart required
    To finish the upgrade, a restart is required.
    If you select 'y' the system will be restarted.
    
    Continue [yN] y
    
  2. このリスタートは,カーネルがセットされてないので失敗する。lucid の xen 用カーネル(2.6.32-xxx-ec2)をファイルサーバの cfg ファイル(samba.cfg)に指定して再起動。
    $ cat /etc/xen/samba.cfg
    kernel  = '/xen-kernels/lucid/vmlinuz-2.6.32-346-ec2'
    ramdisk = '/xen-kernels/lucid/initrd.img-2.6.32-346-ec2'
     :
    
  3. もう一度 do-release-upgrade -d する。今度はリスタートで立ち上がるが,カーネルは lucid のままになっている。
  4. 再起動の前に hvc0.conf を作成する。
    # sed -e 's/tty1/hvc0/g' /etc/init/tty1.conf > /etc/init/hvc0.conf
    
    これがないと再起動したときに,
    Begin: Running /scripts/init-bottom ... done.
    
    の後で止まってしまう。
  5. さらに,virtual マシン用のカーネルをインストールする
    # aptitude install linux-image-virtural
    
    インストールされた カーネルを /xen-kernels/precise にもってくる。
  6. samba.cfg に 12.04 のカーネル(3.2.0-29-virtual)を指定して再起動。
    $ cat /etc/xen/samba.cfg
    kernel  = '/xen-kernels/precise/vmlinuz-3.2.0-29-virutal'
    ramdisk = '/xen-kernels/precise/initrd.img-3.2.0-29-virutal'
     :
    
    dom-0 が ubuntu 12.04 の場合は,dom-0 の generic カーネルを指定しても起動するが,dom-U の generic を指定すると立ち上がらない。
これで,samba のデータや設定等はそのまま引き継いでアップグレードできた。

2012年8月13日 (月)

Moutain Lion 対応 monsiaj

テスト用の Mac を Mountain Lion にアップグレードしたところ,monsiaj が立ち上がらなくなってしまった。monsiaj-20120806 版を,Mountain Lion で立ち上がるように改造した。業務用のマシンはもうしばらく Lion のままにすることにする。
※ その後,Mac OS X 10.8.1 のアップデートで立ち上がるようになった(2012/8/26 )

2012年8月10日 (金)

Ubuntu 10.04 を dom-U としてインストール

当院の ORCA サーバは,Xen の dom-U として構築した Ubuntu 8.04 である。来年3月でサポートが切れるので,今年中に 10.04(Lucid) にアップデートしようと考えている。まだまだ時間はあるが,とりあえず,Xen の dom-U で Lucid を構築できるかどうかやってみた。
  1. インストールするパーティションを用意する。当院では,物理パーティションを作って構築している。今回は,自宅サーバ(ubuntu 12.04 on mac mini)の sdb6 に parted で 20GB のパーティションを作り,ext3 でフォーマットして作成してみた。
    # parted /dev/sdb
    (parted) mkpart
    Partition name?  []? lucid
    File system type?  [ext2]? ext3
    Start? 160GB
    End? 180GB
    (parted) p
    Number  Start   End     Size    File system  Name                  Flags
     1      20.5kB  210MB   210MB   fat32        EFI System Partition  boot
     2      211MB   30.0GB  29.8GB  ext3         orca
     3      30.0GB  60.0GB  30.0GB  ext3         dolphin
     4      60.0GB  90.0GB  30.0GB  ext3         samba
     5      90.0GB  160GB   70.0GB  ext3         vmz
     6      160GB   180GB   20.0GB               lucid
    (parted) quit
    # sudo mkfs.ext3 /dev/sdb6
    mke2fs 1.41.12 (17-May-2010)
    warning: 256 blocks unused.
     :
    This filesystem will be automatically checked every 25 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    
  2. debootstrap をインストールする
    # aptitude install debootstrap
    
  3. 作成した sdb6 を /mnt にマウントして,debootstrap でシステムを構築する
    # debootstrap --arch i386 lucid /mnt http://archive.ubuntu.com/ubuntu
    I: Retrieving Release
    I: Retrieving Packages
    I: Validating Packages
     :
    #
    
  4. chroot で /mnt に入り,xen のカーネルと libc をインストールする。使うカーネルは linux-image-ec2。
    # chroot /mnt
    # aptitude install linux-image-ec2 libc6-xen 
    
  5. さらに、各種設定をしてから chroot を抜ける
    # passwd
    # adduser
    # visudo
    # dpkg-reconfigure tzdata
    # aptitude insatall language-pack-ja
    # dpkg-reconfigure locales
    # exit
    
  6. カーネルを /xen-kernels/lucid/ にコピー
    $ sudo cp /mnt/boot/* /xen-kernels/lucid/
    
  7. スワップファイルの作成
    # mkdir /mnt/swap
    # dd if=/dev/zero of=/mnt/swap/swap0 bs=1K count=1M
    # chmod 600 /mnt/swap/swap0
    # mkswap /mnt/swap/swap0
    
  8. /mnt/etc/fstab の作成
    /dev/xvda1    /      ext3  errors=remount-ro       0  1
    /swap/swap0   none   swap  sw                      0  0
    proc          /proc  proc  rw,nodev,nosuid,noexec  0  0
    
  9. /mnt/etc/network/interface の作成
    auto eth0
    iface eth0 inet dhcp
    
  10. その他必要に応じてファイルを編集
    • /etc/resolv.conf
    • /etc/hostname
    • /etc/apt/sources.list
  11. /etc/xen/lucid.cfg の作成
    kernel  = '/xen-kernels/lucid/vmlinuz-2.6.32-305-ec2'
    ramdisk = '/xen-kernels/lucid/initrd.img-2.6.32-305-ec2'
    memory  = '512'
    name        = 'lucid'
    vif       = [ 'mac=00:16:3e:00:01:00' ]
    disk = [ 'phy:sdb6,xvda1,w' ]
    root = '/dev/xvda1 ro'
    on_poweroff = 'destroy'
    on_reboot = 'restart'
    on_crash = 'restart'
    
  12. /mnt をアンマウントして,lucid を立ち上げる
    # umount /mnt
    # xm create lucid.cfg -c
    Started domain lucid (id=4)
     :
    Ubuntu 10.04.4 LTS lucid tty1
    lucid login: 
    

2012年8月 7日 (火)

ubuntu 12.04 on mac mini

当院では,サーバは xen の dom-U で構築して運用している。ubuntu は,8.04 では dom-0 として使えたのだが,それ以降は使えなくなってしまっていたので,dom-0 としては debian squeeze を使っている。その後,ubuntu でも 12.04 から再び xen で dom-0 ができるようになったようなので,自宅サーバの dom-0 を deiban から ubuntu に移行してみた。

11.04 → 12.04 へのアップグレード

以前インストールしていた 11.04 を 12.04 にアップデートする。

  1. ubuntu 11.04 を full-upgrade しておく。
  2. do-release-upgrade コマンドを入力し,いくつかの質問に答える。これで 11.10 にアップデートされる。
    $ sudo do-release-upgrade
    Checking for a new ubuntu release
    Get:1 Upgrade tool signature [198 B]
    Get:2 Upgrade tool [1473 kB]
    Fetched 1473 kB in 0s (0 B/s)
    authenticate 'oneiric.tar.gz' against 'oneiric.tar.gz.gpg'
    extracting 'oneiric.tar.gz'
     :
    Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be cancelled.
     Continue [yN]  Details [d]y
     :
    Remove obsolete packages?
    20 packages are going to be removed.
     Continue [yN]  Details [d]y
     :
    To finish the upgrade, a restart is required.
    If you select 'y' then system will be restarted.
     Continue [yN] y
    
  3. リブート後に,まずは squeeze で立ち上げる。
  4. update-grub をして,squeeze の grub.cfg にインストールした ubuntu を認識させる。
    Generating grub.cfg ...
     :
    Found Ubuntu 11.10 (11.10) on /dev/sda7
     :
    done
    
    確かに 11.10 にアップグレードされている。
  5. 次に,この 11.10 で起動し,さらに do-release-upgrade する。
  6. 終了したら,もう一度 squeeze で起動し直して update-grub する。
    Generating grub.cfg ...
     :
    Found Ubuntu 12.04 LTS (12.04) on /dev/sda7
     :
    done
    
    確かに 12.04 がインストールされた。もう一度再起動して 12.04 で立ち上げる。

xen のインストール

  1. ubuntu 12.04 では,xen のために新たにカーネルを登録する必要がない。以下のパッケージをインストールするだけでOK。
    • xen-hypervisor-4.1-amd64
    • xenwatch
    • xen-tools
  2. squeeze の update-grub では ubuntu の xen 起動用のメニューが作られないので,ubuntu の grub.cfg を squeeze にコピーして使う。手順としては,
    1. /etc/default/grub の設定
    2. update-grub
    3. できあがった grub.cfg を squeeze にコピー なお,あらかじめ /etc/grub.d/10_linux を 25_linux 等に変更しておく。
  3. xen の設定は squeeze と同じ。/etc/xen/xend-config.sxp でネットワーク設定,/etc/default/xendomains で XENDOMAIN_RESTORE, XENDOMAIN_SAVE を設定する。

パーティションの引っ越し

しばらく ubuntu 12.04 で運用してみたが問題ないようなので,squeeze の代わりに /dev/sda4 に ubuntu 12.04 を引っ越した。/dev/sda4 に引っ越すと,ubuntu の update-grub が反映されるようになる。

  1. ubuntu のライブ CD を usb で作る。
    ubuntu のデスクトップバージョンの iso をダウンロードして,unetbootin で usb を作成。その usb で起動して作業する。
  2. squeeze のバックアップ
    # dd if=/dev/sda4 | gzip -c > squeeze.dump.gz
    
  3. ubuntu の引っ越し
    # dd if=/dev/sda7 of=/dev/sda4
    
  4. /dev/sda に grub をインストール
    # mount /dev/sda4 /mnt
    # grub-install --force --recheck --root-directory=/mnt /dev/sda
    

自宅サーバの mac mini は,squeeze だとネットワークドライバが標準では対応しておらず,インストールに小細工が必要だったが,ubuntu はそのまま使える。今後は自宅サーバは ubuntu で運用することにした。職場のマシンは squeeze で問題ないので,このまま squeeze で行く予定。

« 2012年7月 | トップページ | 2012年9月 »