何で今どき linux mint 19.1 かと言うと、病院のオフライン環境にある端末が linux mint 19.1 だからなのですが、オフラインでいろいろとインストールするのはとても面倒です。まるで手足を縛られて環境設定する感じです。
しかしコンピュータをいちいちネット環境のあるところまで持っていくのも面倒なので、今後のことを考えるとやはりオフラインでインストールできた方が便利です。
virtualbox にまっさらな状態で linux mint 19.1 をインストールして、そこから NAS 上のデータベースにアクセスして、dicom ファイルをローカルにダウンロードして weasis で閲覧します。
プロセス
大きく6つのプロセスがあります。それぞれちょっと面倒です。
- flask のインストール
- mysql のインストールと設定
- apache のインストール
- weasis の設定
- java の設定
- pymysql のインストール
flask のインストール
まずは python-pip のインストール。
[wpdm_package id=’1427′]
#!/bin/bash
sudo dpkg -i python-idna_2.6-1_all.deb
sudo dpkg -i python-pip-whl_9.0.1-2.3~ubuntu1.18.04.5_all.deb
sudo dpkg -i python-asn1crypto_0.24.0-1_all.deb
sudo dpkg -i python-wheel_0.30.0-0.2_all.deb
sudo dpkg -i python-pkg-resources_39.0.1-2_all.deb
sudo dpkg -i python-keyrings.alt_3.0-1_all.deb
sudo dpkg -i python-cffi-backend_1.11.5-1_amd64.deb
sudo dpkg -i python-enum34_1.1.6-2_all.deb
sudo dpkg -i libc-dev-bin_2.27-3ubuntu1.4_amd64.deb
sudo dpkg -i python-ipaddress_1.0.17-1_all.deb
sudo dpkg -i python-pip_9.0.1-2.3~ubuntu1.18.04.5_all.deb
sudo dpkg -i libc6-dev_2.27-3ubuntu1.4_amd64.deb
sudo dpkg -i python-all_2.7.15~rc1-1_amd64.deb
sudo dpkg -i python-setuptools_39.0.1-2_all.deb
sudo dpkg -i libstdc++-7-dev_7.5.0-3ubuntu1~18.04_amd64.deb
sudo dpkg -i python-cryptography_2.1.4-1ubuntu1.4_amd64.deb
sudo dpkg -i libexpat1-dev_2.2.5-3ubuntu0.2_amd64.deb
sudo dpkg -i libpython2.7-dev_2.7.17-1~18.04ubuntu1.6_amd64.deb
sudo dpkg -i python2.7-dev_2.7.17-1~18.04ubuntu1.6_amd64.deb
sudo dpkg -i python-secretstorage_2.3.1-2_all.deb
sudo dpkg -i libpython-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i python-keyring_10.6.0-1_all.deb
sudo dpkg -i g++-7_7.5.0-3ubuntu1~18.04_amd64.deb
sudo dpkg -i python-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i libpython-all-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i python-all-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i g++_4%3a7.4.0-1ubuntu2.3_amd64.deb
sudo dpkg -i build-essential_12.4ubuntu1_amd64.deb
次に、python3-flask のインストール。
[wpdm_package id=’1430′]
#!/bin/bash
sudo dpkg -i libjs-jquery_3.2.1-1_all.deb
sudo dpkg -i python3-werkzeug_0.14.1+dfsg1-1ubuntu0.1_all.deb
sudo dpkg -i python3-simplejson_3.13.2-1_amd64.deb
sudo dpkg -i python3-asn1crypto_0.24.0-1_all.deb
sudo dpkg -i python3-blinker_1.4+dfsg1-0.1_all.deb
sudo dpkg -i python3-jinja2_2.10-1ubuntu0.18.04.1_all.deb
sudo dpkg -i javascript-common_11_all.deb
sudo dpkg -i python3-itsdangerous_0.24+dfsg1-2_all.deb
sudo dpkg -i python3-cryptography_2.1.4-1ubuntu1.4_amd64.deb
sudo dpkg -i python3-flask_0.12.2-3ubuntu0.1_all.deb
sudo dpkg -i python3-openssl_17.5.0-1ubuntu1_all.deb
これで flask は動くはずですので、参考サイトを参照して hello.py を動かしてみます。
mysql のインストールと設定
まずは mysql のインストール。
mysql のインストールはオフラインでもできるのですがここではオンラインで実行しています。
sudo apt install mysql-server
ローカルからサーバーの mysql にアクセスするためには、サーバー側でローカルに対する許可を与える必要があります。サーバーの mysql にログインして設定します。
まずはローカルの IP アドレスをユーザー名 heno、パスワード moheno で登録します。
mysql> CREATE USER heno@'192.168.0.8' IDENTIFIED BY 'moheno';
heno に対して pydcmdb に対する select 権限を与えます。
mysql> GRANT SELECT ON pydcmdb.* TO 'heno'@'192.168.0.8';
設定したら、今度はローカルからサーバーの mysql にアクセスします。
mysql -h 192.168.0.91 -u heno -p
パスワード moheno でログインできれば mysql の設定は終わりです。
apache のインストール
apache もここではオンラインで実行しています。
sudo apt install apache2
weasis の設定
ローカルにダウンロードされた dicom ファイルを見るためには dicom ビューワが必要ですが、ここでは weasis を使います。
weasis-portable.zip を取得して解凍し、その中の weasis に substance.jnlp ファイルと weasisStart.jnlp ファイルを作成します。
[wpdm_package id=’1432′]
この weasis の中には、flask というディレクトリがありその中の flask.sh というシェルスクリプトをクリックすると自動的に flask が立ち上がり、サーバーの mysql にログインします。
ただし、サーバーの IP アドレス・dicom ファイルの保存されている場所の IP アドレス・ftp 情報などは環境に合わせて変更する必要があります。
この weasis 全体を /var/www/html に移動します。この時、パーミッションエラーになるはずですので、以下のようにしてパーミッションを変更します。
sudo chmod -R 777 /var/www/html
weasis を /var/www/html に移動したら、今度は weasis のパーミッションも変更します。そうしないと dicom ファイルがダウンロードされず、また java も起動できません。
sudo chmod -R 777 /var/www/html/weasis
java の設定
dcm4chee では java 8 を使用するとしつこく警告画面が出ることがありますが、この場合は警告画面は最初だけですので、java8 でも java7 でもいいと思います。
このページの下の方に設定方法があるので、それを参考にして java を設定します。
java -version で java8 などになっていない場合は以下のようにして java を設定します。
source /etc/profile
sudo update-alternatives --install "/usr/bin/java" "java" "$JAVA_HOME/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "$JAVA_HOME/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "$JAVA_HOME/bin/javaws" 1
sudo update-alternatives --set java $JAVA_HOME/bin/java
sudo update-alternatives --set javac $JAVA_HOME/bin/javac
sudo update-alternatives --set javaws $JAVA_HOME/bin/javaws
pymysql のインストール
python から mysql に接続するためには pymysql が必要です。
pymysqlは .whlなのですが、そのままでは download manager でアップロードできないので、ダウンロード・解凍して使います。
[wpdm_package id=’1453′]
pip install PyMySQL-1.0.2-py3-none-any.whl
ModuleNotFoundError: No module named ‘pip’
python-pip をインストールしたのに上のようなエラーが出ることがあります。
ここから、適当な pip をダウンロードして以下のようにしてインストールします。
linux mint 19.1 では pip-21.3.1-py3-none-any.whl で動きました。
python pip-21.3.1-py3-none-any.whl/pip install --no-index pip-21.3.1-py3-none-any.whl
ModuleNotFoundError: No module named ‘distutils.cmd’
python get-pip.py を実行するとさらに上のようなエラーが出ることがあります。
その時は、python3-distutils をインストールします。
[wpdm_package id=’1441′]
#!/bin/bash
sudo dpkg -i python3-lib2to3_3.6.9-1~18.04_all.deb
sudo dpkg -i python3-distutils_3.6.9-1~18.04_all.deb
まとめて実行
以下のように各プログラムを配置します。

#!/bin/bash
#python, flask
cd ~/python-pip
sudo dpkg -i python-idna_2.6-1_all.deb
sudo dpkg -i python-pip-whl_9.0.1-2.3~ubuntu1.18.04.5_all.deb
sudo dpkg -i python-asn1crypto_0.24.0-1_all.deb
sudo dpkg -i python-wheel_0.30.0-0.2_all.deb
sudo dpkg -i python-pkg-resources_39.0.1-2_all.deb
sudo dpkg -i python-keyrings.alt_3.0-1_all.deb
sudo dpkg -i python-cffi-backend_1.11.5-1_amd64.deb
sudo dpkg -i python-enum34_1.1.6-2_all.deb
sudo dpkg -i libc-dev-bin_2.27-3ubuntu1.4_amd64.deb
sudo dpkg -i python-ipaddress_1.0.17-1_all.deb
sudo dpkg -i python-pip_9.0.1-2.3~ubuntu1.18.04.5_all.deb
sudo dpkg -i libc6-dev_2.27-3ubuntu1.4_amd64.deb
sudo dpkg -i python-all_2.7.15~rc1-1_amd64.deb
sudo dpkg -i python-setuptools_39.0.1-2_all.deb
sudo dpkg -i libstdc++-7-dev_7.5.0-3ubuntu1~18.04_amd64.deb
sudo dpkg -i python-cryptography_2.1.4-1ubuntu1.4_amd64.deb
sudo dpkg -i libexpat1-dev_2.2.5-3ubuntu0.2_amd64.deb
sudo dpkg -i libpython2.7-dev_2.7.17-1~18.04ubuntu1.6_amd64.deb
sudo dpkg -i python2.7-dev_2.7.17-1~18.04ubuntu1.6_amd64.deb
sudo dpkg -i python-secretstorage_2.3.1-2_all.deb
sudo dpkg -i libpython-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i python-keyring_10.6.0-1_all.deb
sudo dpkg -i g++-7_7.5.0-3ubuntu1~18.04_amd64.deb
sudo dpkg -i python-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i libpython-all-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i python-all-dev_2.7.15~rc1-1_amd64.deb
sudo dpkg -i g++_4%3a7.4.0-1ubuntu2.3_amd64.deb
sudo dpkg -i build-essential_12.4ubuntu1_amd64.deb
cd ~/python3-flask
sudo dpkg -i libjs-jquery_3.2.1-1_all.deb
sudo dpkg -i python3-werkzeug_0.14.1+dfsg1-1ubuntu0.1_all.deb
sudo dpkg -i python3-simplejson_3.13.2-1_amd64.deb
sudo dpkg -i python3-asn1crypto_0.24.0-1_all.deb
sudo dpkg -i python3-blinker_1.4+dfsg1-0.1_all.deb
sudo dpkg -i python3-jinja2_2.10-1ubuntu0.18.04.1_all.deb
sudo dpkg -i javascript-common_11_all.deb
sudo dpkg -i python3-itsdangerous_0.24+dfsg1-2_all.deb
sudo dpkg -i python3-cryptography_2.1.4-1ubuntu1.4_amd64.deb
sudo dpkg -i python3-flask_0.12.2-3ubuntu0.1_all.deb
sudo dpkg -i python3-openssl_17.5.0-1ubuntu1_all.deb
cd ~/python3-distutils
sudo dpkg -i python3-lib2to3_3.6.9-1~18.04_all.deb
sudo dpkg -i python3-distutils_3.6.9-1~18.04_all.deb
cd ~/
python pip-21.3.1-py3-none-any.whl/pip install --no-index pip-21.3.1-py3-none-any.whl
pip install PyMySQL-1.0.2-py3-none-any.whl
# apache2
cd ~/apache
sudo dpkg -i libapr1_1.6.3-2_amd64.deb
sudo dpkg -i apache2-data_2.4.29-1ubuntu4.14_all.deb
sudo dpkg -i libaprutil1_1.6.1-2_amd64.deb
sudo dpkg -i liblua5.2-0_5.2.4-1.1build1_amd64.deb
sudo dpkg -i libaprutil1-ldap_1.6.1-2_amd64.deb
sudo dpkg -i libaprutil1-dbd-sqlite3_1.6.1-2_amd64.deb
sudo dpkg -i apache2-utils_2.4.29-1ubuntu4.14_amd64.deb
sudo dpkg -i apache2-bin_2.4.29-1ubuntu4.14_amd64.deb
sudo dpkg -i apache2_2.4.29-1ubuntu4.14_amd64.deb
# mysql 5.7
cd ~/mysql
sudo dpkg -i mysql-common_5.8+1.0.4_all.deb
sudo dpkg -i libaio1_0.3.110-5ubuntu0.1_amd64.deb
sudo dpkg -i libevent-core-2.1-6_2.1.8-stable-4build1_amd64.deb
sudo dpkg -i libhtml-template-perl_2.97-1_all.deb
sudo dpkg -i mysql-client-core-5.7_5.7.33-0ubuntu0.18.04.1_amd64.deb
sudo dpkg -i mysql-server-core-5.7_5.7.33-0ubuntu0.18.04.1_amd64.deb
sudo dpkg -i libevent-2.1-6_2.1.8-stable-4build1_amd64.deb
sudo dpkg -i mysql-client-5.7_5.7.33-0ubuntu0.18.04.1_amd64.deb
sudo dpkg -i mysql-server-5.7_5.7.33-0ubuntu0.18.04.1_amd64.deb
# weasis
cd ~/
sudo mv weasis /var/www/html
sudo chmod -R 777 /var/www/html/weasis
# java
sudo mkdir /usr/local/java
cd ~/
sudo mv jdk1.8.0_231 /usr/local/java
sed -i -e '$a export JAVA_HOME=/usr/local/java/jdk1.8.0_231' ~/.bashrc
sed -i -e '$a export PATH=$PATH:$JAVA_HOME/bin' ~/.bashrc
source ~/.bashrc
後は、java のバージョン変更、java control panel での設定、/var/www/html/weasis/flask の python ファイルの設定、IPアドレスの固定などです。