ウェブサイト検索

Ubuntu 24.04サーバーにOpenEMRをインストールする方法


Ubuntu 24.04サーバーにOpenEMRをインストールする方法

このチュートリアルはこれらのOSバージョンのために存在します

  • Ubuntu 24.04 (ノーブル ナンバット)
  • Ubuntu 22.04 (ジャミー・ジェリーフィッシュ)

このページで

  1. 前提条件
  2. LEMPの依存関係をインストールしています
  3. PHP-FPMの設定
  4. MariaDBサーバーの設定
  5. OpenEMRのソースコードをダウンロードしています
  6. Nginxサーバーブロックの設定
  7. HTTPSでOpenEMRをセキュアにする
  8. OpenEMRのインストール
  9. 結論

OpenEMRはオープンソースの健康記録および医療実践管理ソリューションです。これは完全に統合された電子健康記録と実践管理、スケジューリング、電子請求、および国際化サポートを提供します。OpenEMRはONC認定を受けており、これはOpenEMRが国立健康情報技術コーディネーター室(ONC)の基準を満たしていることを意味します。

このガイドでは、LEMPスタック(Linux、Nginx、MariaDB、PHP-FPM)を使用して、Ubuntu 24.04サーバーにOpenEMRをインストールする方法を説明します。また、Let's Encryptを使用してOpenEMRをHTTPSで保護し、UFW(簡単なファイアウォール)を介してHTTPおよびHTTPSポートを開放する方法も示します。

前提条件

このガイドを始めるために、次のものを用意してください:

  • Ubuntu 24.04サーバー
  • 管理者権限を持つ非ルートユーザー
  • ドメイン名はサーバーのIPアドレスを指し示します。

LEMPの依存関係をインストールしています

OpenEMRは、PHPとMySQLで書かれたウェブベースのアプリケーションです。インストールするには、PHPとMySQLの両方がインストールされていることを確認する必要があります。このガイドでは、LEMPスタック(Linux、Nginx、MariaDB、およびPHP)でOpenEMRを実行します。したがって、今回はAPTリポジトリを通じてこれらのパッケージをインストールします。

まず、以下の'apt'コマンドを実行して、Ubuntuのパッケージインデックスを更新し、LEMPスタックパッケージ(Linux、Nginx、MariaDB、PHP-FPM)をインストールします。インストールを確認するには'Y'と入力してください。

sudo apt update
sudo apt install nginx mariadb-server php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-soap imagemagick libtiff-tools php-ldap

インストールが完了したら、以下の'systemctl'コマンドを使用して'nginx'サービスのステータスを確認してください。Nginxが実行中で、かつ有効になっていることを確認してください。

sudo systemctl is-enabled nginx
sudo systemctl status nginx

次に、次のコマンドを使用して「mariadb」サービスを確認してください。これにより、MariaDBサーバーが実行中であり、Ubuntuサーバーで有効になっていることが確認できます。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

最後に、以下のコマンドで「php8.3-fpm」サービスを確認してください。PHP-FPMサービスが稼働しているのがわかります。

sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

PHP-FPMの設定

LEMPスタックがインストールされたら、'php.ini'を編集してPHP-FPMの設定を行い、その後PHP-FPMサービスを再起動して変更を適用しましょう。

'php.ini'ファイルを'nano'エディタで編集します。

sudo nano /etc/php/8.3/fpm/php.ini

以下のようにデフォルト設定を変更してください。現在のRAMに合わせて'memory_limit'を調整することを忘れないでください。

max_execution_time = 60
max_input_time = -1
memory_limit = 512M
post_max_size = 30M
upload_max_filesize = 30M
max_input_vars = 3000
mysqli.allow_local_infile = On

ファイルを保存して、作業が完了したらエディタを終了してください。

次に、以下の'chgrp'コマンドを実行して、'/var/lib/php/sessions'ディレクトリの所有権をユーザー'www-data'に変更します。

sudo chgrp -R www-data /var/lib/php/sessions

最後に、下記のコマンドで「php8.3-fpm」サービスを再起動してください。これにより、PHP-FPMのインストールに変更が適用されます。

sudo systemctl restart php8.3-fpm

MariaDBサーバーの設定

PHPが設定されたので、次はMariaDBサーバーの設定を行い、OpenEMR用の新しいデータベースを作成しましょう。このセクションでは、<em>mariadb-secure-installation</em>ユーティリティを使用してMariaDBサーバーを保護し、<em>mariadb</em>クライアントを介して新しいデータベースとユーザーを作成します。

まず、次の'mariadb-secure-installation'コマンドを実行して、MariaDBサーバーを安全にします。

sudo mariadb-secure-installation

これから以下の設定について質問されます:

  • ENTER を押して、MariaDB サーバーの設定を続行します
  • <strong>Y</strong>を入力してMariaDBのルートパスワードを設定し、その後パスワードを入力して繰り返してください。
  • 「root」ユーザーのリモートログインを無効にするには、'Y'を入力してください。
  • データベース'test' とその特権を削除するには、'Y' を入力してください
  • 'Y' を入力して設定を完了してください

MariaDBサーバーがセキュリティで保護された後、OpenEMRのインストールに使用される新しいデータベースとユーザーを作成する必要があります。

以下の'mariadb'コマンドを使用してMariaDBサーバーにログインします。プロンプトが表示されたら、MariaDBのルートパスワードを入力してください。

sudo mariadb -u root -p

以下のクエリを実行して、OpenEMR用の新しいデータベースとユーザーを作成します。この例では、新しいデータベース「openemr」を作成し、ユーザーは「openemruser」、パスワードは「password」です。データベースの詳細はあなたの情報に合わせて調整できます。

CREATE DATABASE openemr;
CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2';
GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';
FLUSH PRIVILEGES;

以下のクエリを実行して、'openemruser' の権限を確認してください。そのユーザーが 'openemr' データベースにアクセスできることを確認してください。

SHOW GRANTS FOR openemruser@localhost;

最後に、「quit」と入力してMariaDBサーバーを終了します。

OpenEMRのソースコードをダウンロードしています

PHP-FPMとMariaDBサーバーの設定が完了したので、次のステップはOpenEMRのソースコードをダウンロードし、適切な権限と所有権でインストールを設定することです。

/var/wwwディレクトリに移動し、以下のwgetコマンドを使用してOpenEMRソースコードをダウンロードしてください。

cd /var/www/
wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.2/openemr-7.0.2.tar.gz

ダウンロードしたら、以下の「tar」コマンドを実行してOpenEMRソースコードを抽出し、新しいディレクトリの名前を「openemr」に変更します。これにより、OpenEMRソースコードは「/var/www/openemr」ディレクトリに保存されます。

tar -pxzf openemr-7.0.2.tar.gz
mv openemr-7.0.2 openemr

最後に、以下の'chown'コマンドを実行して、'/var/www/openemr'ディレクトリの所有権を'www-data'ユーザーに変更します。

sudo chown -R www-data:www-data /var/www/openemr

Nginxサーバーブロックの設定

OpenEMRのソースコードをダウンロードした後、OpenEMRインストールを実行するために使用される新しいNginxサーバーブロックを作成します。したがって、ドメイン名が準備され、サーバーのIPアドレスにポイントされていることを確認してください。

次の 'nano' エディタコマンドを使用して、新しい Nginx サーバーブロック設定 '/etc/nginx/sites-available/openemr' を作成します。

sudo nano /etc/nginx/sites-available/openemr

設定を挿入し、'server_name'オプションをあなたのドメイン名に変更することを確認してください。

server {
listen 80;
server_name openemr.example.com;
access_log /var/log/nginx/openemr.access.log;
error_log /var/log/nginx/openemr.error.log;
root /var/www/openemr;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
Pass PHP Scripts To FastCGI Server
location ~* \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Depends On The PHP Version
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
include fastcgi_params;
}
deny access to writable files/directories
location ~* ^/sites/*/(documents|edi|era) {
deny all;
return 404;
}
deny access to certain directories
location ~* ^/(contrib|tests) {
deny all;
return 404;
}
Alternatively all access to these files can be denied
location ~* ^/(admin|setup|acl_setup|acl_upgrade|sl_convert|sql_upgrade|gacl/setup|ippf_upgrade|sql_patch)\.php {
deny all;
return 404;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
log_not_found off;
access_log off;
}
location ~ /\. {
deny all;
}
}

ファイルを保存してエディタを終了します。

以下のコマンドを実行して、'openemr' サーバーブロックを有効にし、Nginxの構文を検証してください。正しいNginxの構文であれば、'テストは成功です - 構文は正常です' という出力が表示されます。

sudo ln -s /etc/nginx/sites-available/openemr /etc/nginx/sites-enabled/
sudo nginx -t

最後に、以下の'systemctl'コマンドを実行して、Nginxウェブサーバーを再起動し、変更を適用してください。

sudo systemctl restart nginx

HTTPSでOpenEMRをセキュアにする

このセクションでは、Certbotをインストールし、OpenEMRをHTTPSで保護します。これは、パブリックドメイン名とサーバーを使用している場合に機能します。ローカルサーバーや開発環境では、自己署名証明書を使用できます。

SSLを設定する前に、以下の'ufw'コマンドを実行して、サーバーのHTTPおよびHTTPSサービスを両方オープンします。'success'のような出力が表示されます。

Sudo ufw allow 'Nginx Full'

次に、以下の「apt」コマンドを使用して「certbot」および「python3-certbot-nginx」プラグインをインストールします。インストールを確認するために「Y」と入力してください。

sudo apt install certbot python3-certbot-nginx -y

インストールが完了したら、以下の「certbot」コマンドを実行してSSL証明書を生成し、OpenEMRのインストールを保護します。

sudo certbot --nginx -d openemr.howtoforge.local

プロセスが完了すると、あなたのSSL証明書は「/etc/letsencrypt/live/domain.com」ディレクトリに利用可能になります。また、あなたのOpenEMRインストールはHTTPSで保護されます。

OpenEMRのインストール

ウェブブラウザを開いて、ウェブブラウザを通じて https://openemr.howtoforge.local/ にアクセスしてください。

まず、インストーラーはOpenEMRのソースコードの権限を確認しますので、適切な権限を持っていることを確認してください。

「データベースを作成しました」オプションを選択して、データベース統合を設定してください。

OpenEMRのデータベースの詳細と新しい管理者アカウントを入力してください。

データベースの初期化が行われており、あなたの管理者ユーザーが作成されます。

次に、PHPの設定がOpenEMRの要件を満たしていることを確認してください。

インストールが完了すると、OpenEMRのログインページにリダイレクトされます。管理者ユーザー名とパスワードを入力し、次にログインをクリックします。

成功すれば、次のOpenEMRダッシュボードが表示されます。

結論

おめでとうございます!Ubuntu 24.04サーバーにOpenEMRのインストールが完了しました。OpenEMRはPHP-FPM、Nginxウェブサーバー、MariaDBサーバーで稼働しています。また、CertbotとLet's Encryptを使用してHTTPSでOpenEMRを保護しました。

関連記事: