LAMPスタック(Apache、MySQL、PHP)を使用してUbuntu20.04にOpenEMRをインストールする方法
序章
OpenEMR は、オープンソースの電子健康記録および医療行為管理ツールです。 これは、電子医療記録、処方箋、患者の人口統計追跡、スケジューリング、レポート、および電子請求を管理するために、医師および医療施設によって使用されます。 この発行の時点で、OpenEMRは30を超える言語をサポートしています。
このチュートリアルでは、LAMP環境( L inux、 A pache、 M ySQL、
前提条件
- ルート以外のUbuntu20.04サーバー
sudo
-有効なユーザーアカウントと基本的なファイアウォール。 これは、Ubuntu20.04の初期サーバーセットアップガイドを使用して構成できます。 - Apache、MySQL、PHPを含む完全にインストールされたLAMPスタックで、HTTPトラフィックを許可するようにファイアウォール設定が調整されています。 LAMPスタックをインストールする手順は、ガイド Ubuntu 20.04 にLinux、Apache、MySQL、PHP(LAMP)スタックをインストールする方法のステップ1から3にあります。 LAMPガイドのステップ4から6は、テスト目的であり、このチュートリアルでは不要であるため、オプションであることに注意してください。
ステップ1—追加のPHP拡張機能をインストールする
LAMPスタックを設定する場合、PHPがMySQLと通信するために必要な拡張機能のセットは最小限でした。 OpenEMRを正しく機能させるには、2つの追加のPHP拡張機能をインストールする必要があります。 使用する apt
サーバーのパッケージリストを更新し、 php-xml
と php-mbstring
拡張機能:
- sudo apt update
- sudo apt install php-xml php-mbstring
両方の拡張機能をインストールした後、変更を有効にするには、ApacheWebサーバーをリロードする必要があります。
- sudo systemctl reload apache2
Webサーバーがリロードされると、次のステップに進む準備ができているはずです。
ステップ2—OpenEMR用のMySQLデータベースを作成する
次に、MySQLforOpenEMRでデータベースを作成します。 まず、データベースルートユーザーとしてMySQLにログインします。
- sudo mysql
データベースルートユーザーとしてMySQLにログインしたら、次の名前のデータベースを作成します。 openemr
次のコマンドを使用します。
- CREATE DATABASE openemr;
次に、新しいユーザーを作成し、置き換えてパスワードを割り当てます PASSWORD
以下に、選択した強力なパスワードを入力します。
- CREATE USER 'openemr_user'@'localhost' IDENTIFIED BY 'PASSWORD';
次に、新しいユーザーに権限を付与します openemr
データベース:
- GRANT ALL PRIVILEGES ON openemr.* TO 'openemr_user'@'localhost';
これらの変更を有効にするには、次のコマンドを入力します。
- FLUSH PRIVILEGES;
特権をフラッシュしたら、MySQLを終了できます。
- exit
これで、次のステップに進む準備ができました。
ステップ3—OpenEMR用のPHPの構成
このステップでは、にいくつかの変更を加えます php.ini
OpenEMRドキュメントで推奨されているファイル。 新しいUbuntu20.04サーバー内のすべての前提条件に従った場合、 php.ini
Apache Webサーバーに適用されるものは、次の場所にある必要があります。 /etc/php/7.4/apache2/php.ini
. PHPのバージョンが異なる場合、このパスは少し異なる場合があります。 必要に応じて調整し、選択したテキストエディタでファイルを開きます。 ここでは、 nano
:
- sudo nano /etc/php/7.4/apache2/php.ini
あなたが入ったら php.ini
ファイルの場合、OpenEMRで推奨されているようにいくつかのオプションの値を変更します。 nanoを使用している場合は、次を使用してこれらのオプションを検索できます。 CTRL
+ W
. セミコロンがある場合 ;
調整するオプションの前では、オプションをコメントアウトするためにセミコロンが使用されているため、必ず削除してください。
次のオプションの値を変更する必要があります。
max_ input_vars
このオプションは、サーバーが1つの関数で使用できる変数の数を制限します。 OpenEMRでは、このオプションに値を設定する必要があります 3000
:
max_input_vars = 3000
max_execution_time
このオプションは、スクリプトが終了するまでに実行できる時間(秒単位)を制限します。 OpenEMRでは、このオプションに値を設定する必要があります 60
:
max_execution_time = 60
max_input_time
このオプションは、スクリプトが入力データを解析できる時間を秒単位で制限します。 OpenEMRでは、このオプションに値を設定する必要があります -1
、つまり max_execution_time
代わりに使用されます:
max_input_time = -1
post_max_size
このオプションは、アップロードされたファイルを含む投稿のサイズを制限します。 OpenEMRでは、このオプションの値が 30M
:
post_max_size = 30M
memory_limit
このオプションは、スクリプトが割り当てることができるメモリの量を制限します。 OpenEMRでは、このオプションの値が 256M
:
memory_limit = 256M
mysqli.allow_local infile
このオプションを使用すると、LOADDATAステートメントを使用してローカルファイルにアクセスできます。 OpenEMRでは、次のオプションをオンにする必要があります。
mysqli.allow_local_infile = On
オプションの調整が完了したら、ファイルを保存して終了します。 使用している場合 nano
、を押すことでそれを行うことができます CTRL
+X
、 それから Y
と ENTER
確認するために。
次に、変更を有効にするためにApacheWebサーバーをリロードする必要があります。
- sudo systemctl reload apache2
Webサーバーがリロードされると、次のステップに進む準備ができているはずです。
ステップ4—OpenEMRをダウンロードする
このステップでは、OpenEMRをダウンロードし、インストール用にファイルを準備します。 開始するには、コマンドを使用してOpenEMRをダウンロードします wget
、インターネットからファイルを取得します。
- wget https://downloads.sourceforge.net/project/openemr/OpenEMR%20Current/5.0.2.1/openemr-5.0.2.tar.gz
次に、を使用してファイルを抽出します tar
指図。 The xvzf
引数は、ファイルを抽出するようにシェルに指示するために使用されます(x
)、抽出したファイルに名前を付けます(v
)、でファイルを解凍します gzip
(z
)、コマンドで指定されたファイルを使用します(f
).
- tar xvzf openemr*.tar.gz
ファイルの抽出が完了すると、次の名前のディレクトリが作成されます。 openemr-5.0.2.
ディレクトリ名をに変更します openemr
を使用して mv
指図:
- mv openemr-5.0.2 openemr
次に、ディレクトリをHTMLディレクトリに移動します。
- sudo mv openemr /var/www/html/
ここで、ディレクトリの所有権を変更する必要があります。 使用 chown
コマンドと R
すべてのファイルの所有者とに関連付けられたグループを設定するフラグ openemr
に www-data
:
- sudo chown -R www-data:www-data /var/www/html/openemr
インストールプロセスの場合、OpenEMRでは、の権限を変更する必要もあります。 sqlconf.php
すべてのユーザーがファイルを読み書きできるが、実行できないようにするためのファイル。 インストールが完了したら、セットアップを保護するためにこれらの権限をもう一度変更します。 これらの権限は、 chmod
コマンドを使用して 666
引数として:
- sudo chmod 666 /var/www/html/openemr/sites/default/sqlconf.php
の権限を変更した後 sqlconf.php
ファイルがあれば、次のステップに進む準備ができています。
ステップ4—OpenEMRをインストールする
このステップでは、Webブラウザーを介してOpenEMRをインストールし、ApacheWebサーバーを構成します。 Webブラウザーを開き、に移動します http://server_ip/openemr
、交換 server_ip
サーバーのIPアドレスを使用します。
すべてが正常に機能している場合、ブラウザはOpenEMRセットアップページを表示する必要があります。
クリック Proceed to Step 1
. これで、インストールプロセスのステップ1の新しいOpenEMRセットアップページに移動するはずです。
このチュートリアルのステップ3でOpenEMRデータベースを作成したので、新しいページでデータベースを作成しましたを選択します。 次に、をクリックします。ステップ2に進みます。
これで、ブラウザにOpenEMRセットアップのステップ2が表示されます。
[MySQLサーバーの詳細]セクションのログインフィールドとパスワードフィールドに、手順3で選択したユーザー名とパスワードを入力します。
OpenEMRの初期ユーザーの詳細セクションで、初期ユーザーのログイン名とパスワードを作成します。
最初のユーザーに対して2要素認証を有効にする場合は、2FAを有効にするオプションをクリックします。
次に、DBとユーザーの作成をクリックします。次のページが読み込まれるまでに数分かかる場合があります。 このページでは、ユーザーとデータベースが正常に作成されたことを確認します。
をクリックしてステップ4に進み、続行します。 次のページでは、アクセス制御リストの作成と構成を確認します。
をクリックしてステップ5に進み、続行します。 次のページでは、OpenEMRに必要なPHP構成を示します。 ステップ4ですでに調整したので、現在の構成は要件と一致している必要があります。
をクリックしてステップ6に進み、続行します。 次のページでは、OpenEMR用にApacheWebサーバーを構成する方法を示します。
OpenEMR用にApacheWebサーバーを構成するには、次の名前の新しい構成ファイルを作成します。 openemr.conf
. あなたはあなたの端末からそれをすることができます nano
編集者:
- sudo nano /etc/apache2/sites-available/openemr.conf
ファイル内に、次のディレクティブを貼り付けます。
<Directory "/var/www/html/openemr">
AllowOverride FileInfo
Require all granted
</Directory>
<Directory "/var/www/html/openemr/sites">
AllowOverride None
</Directory>
<Directory "/var/www/html/openemr/sites/*/documents">
Require all denied
</Directory>
ファイルを保存して閉じます。 次に、Apacheを再起動して、変更が読み込まれるようにします。
- sudo systemctl restart apache2
次に、ブラウザに戻り、テーマの選択をクリックします。 次のページで、テーマを選択してクリックします Proceed to Final Step
:
これで、インストールに関する確認の詳細が記載された最終セットアップページに移動するはずです。
このページには、最初のユーザーのユーザー名とパスワードの詳細も表示されます。 ページを離れる前に、これらの詳細を利用できるようにしてください。 準備ができたら、下部にあるリンクをクリックしてOpenEMRの使用を開始します。
インストールを登録するかどうかを尋ねるウィンドウがポップアップ表示されます。 選択したら、最初のユーザー資格情報を使用してOpenEMRにログインします。 ログインすると、ブラウザにOpenEMRダッシュボードが表示されます。
先に進む前に、次の手順に示すように、ファイルのアクセス許可を変更してください。
手順5—ファイルシステムのアクセス許可を変更する
システムのセキュリティを向上させるために、OpenEMRは、インストール後にいくつかのファイルの権限を変更するようにユーザーにアドバイスします。 このステップでは、これらのファイルのアクセス許可を変更して、読み取りおよび書き込みアクセスをさらに制限します。
まず、の権限を変更します sqlconf.php
手順3でアクセス許可を変更して、所有者に読み取りおよび書き込みアクセス権を付与し、グループメンバーに読み取りアクセス権のみを付与したファイル。
これらの権限は、 chmod
コマンドを使用して 644
引数として:
- sudo chmod 644 openemr/library/sqlconf.php
次に、他のいくつかのファイルのアクセス許可を変更して、ファイルの所有者のみがファイルの読み取りと書き込みを行えるようにします。
を使用してこれらの権限を付与します chmod
とのコマンド 600
次のファイルの引数:
- sudo chmod 600 openemr/acl_setup.php
- sudo chmod 600 openemr/acl_upgrade.php
- sudo chmod 600 openemr/setup.php
- sudo chmod 600 openemr/sql_upgrade.php
- sudo chmod 600 openemr/gacl/setup.php
- sudo chmod 600 openemr/ippf_upgrade.php
これで、ファイルの権限設定がより安全になります。
ファイルのアクセス許可を変更することに加えて、OpenEMRのドキュメントは、OpenEMRの各コンポーネントを保護するための追加の手順を強く推奨しています。 これらの手順には、インストール後のOpenEMRでのスクリプトの削除、強力なパスワードの適用、HTTPSのみのトラフィックの有効化、ファイアウォールの調整、およびApacheの強化が含まれます。 OpenEMRのインストールを最適に保護する方法の詳細については、OpenEMRの[セキュリティドキュメント]( https://www.open-emr.org/wiki/index.php/Securing_OpenEMR )にアクセスしてください。
結論
これで、Apache、MySQL、およびPHPを使用してUbuntu20.04サーバーにOpenEMRがインストールされました。 ドメイン名をサーバーにポイントする手順については、ガイド共通ドメインレジストラからDigitalOceanネームサーバーをポイントする方法に従ってください。 OpenEMRのドキュメントについては、OpenEMRWikiページにアクセスしてください。