OpenEMR là một công cụ quản lý hồ sơ sức khỏe điện tử và hoạt động y tế nguồn mở. Công cụ này được Văn phòng Điều phối viên Quốc gia về Công nghệ Thông tin Y tế (ONC) chứng nhận và có hồ sơ sức khỏe tích hợp, quản lý hoạt động, lập lịch, thanh toán điện tử, quốc tế hóa, hỗ trợ miễn phí và nhiều tính năng khác. Nó có thể theo dõi thông tin nhân khẩu học của bệnh nhân, lên lịch cho bệnh nhân, duy trì hồ sơ sức khỏe cực kỳ chi tiết với các báo cáo xét nghiệm, thuốc men và quy trình, theo dõi đơn thuốc của họ, hỗ trợ thanh toán y tế, tạo báo cáo chi tiết và hỗ trợ nhiều ngôn ngữ.
Trong hướng dẫn này, bạn sẽ học cách cài đặt phần mềm OpenEMR trên máy chủ chạy Debian 12.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Kiểm tra xem tường lửa có đang chạy không.
Bạn sẽ nhận được kết quả sau.
Cho phép cổng SSH để tường lửa không làm gián đoạn kết nối hiện tại khi bật nó.
Cho phép cả cổng HTTP và HTTPS.
Kích hoạt Tường lửa
Kiểm tra lại trạng thái của tường lửa.
Bạn sẽ thấy kết quả tương tự.
Nhập khóa ký của Nginx.
Thêm kho lưu trữ cho phiên bản ổn định của Nginx.
Cập nhật hệ thống kho lưu trữ.
Cài đặt Nginx.
Xác minh cài đặt. Trên hệ thống Debian, lệnh sau chỉ hoạt động với
Khởi động Nginx máy chủ.
Kiểm tra trạng thái dịch vụ.
Kiểm tra phiên bản MySQL.
Chạy tập lệnh cài đặt an toàn MariaDB.
Bạn sẽ được yêu cầu nhập mật khẩu gốc. Nhấn Enter vì chúng tôi chưa đặt bất kỳ mật khẩu nào cho nó.
Tiếp theo, bạn sẽ được hỏi xem bạn có muốn chuyển sang phương pháp xác thực socket Unix không. Plugin
Tiếp theo, bạn sẽ được hỏi xem bạn có muốn thay đổi mật khẩu root của mình không. Trên Debian 12, mật khẩu root gắn chặt với việc bảo trì hệ thống tự động, vì vậy bạn nên để nguyên. Nhập
Tiếp theo, bạn sẽ được hỏi một số câu hỏi nhất định để cải thiện tính bảo mật của MariaDB. Nhập Y để xóa người dùng ẩn danh, không cho phép đăng nhập root từ xa, xóa cơ sở dữ liệu thử nghiệm và tải lại các bảng đặc quyền.
Bạn có thể vào shell MariaDB bằng cách nhập
Tạo OpenEMR cơ sở dữ liệu.
Tạo tài khoản người dùng OpenEMR.
Cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng.
Vì chúng ta không sửa đổi người dùng gốc, bạn nên tạo một người dùng SQL khác để thực hiện các tác vụ quản trị sử dụng xác thực mật khẩu. Chọn một mật khẩu mạnh cho mật khẩu này.
Xóa quyền của người dùng.
Thoát khỏi shell.
Để luôn sử dụng phiên bản PHP mới nhất hoặc nếu bạn muốn cài đặt nhiều phiên bản PHP, hãy thêm kho lưu trữ PHP của Ondrej.
Đầu tiên, hãy nhập khóa GPG PHP của kho lưu trữ Sury.
Thêm Ondrej Kho lưu trữ PHP của Sury.
Cập nhật danh sách kho lưu trữ hệ thống.
Tiếp theo, cài đặt PHP và các tiện ích mở rộng của nó theo yêu cầu của OpenEMR.
Xác minh cài đặt.
Debian 12 không đi kèm Snapd đã cài đặt. Cài đặt gói Snapd.
Chạy các lệnh sau để đảm bảo phiên bản Snapd của bạn được cập nhật.
Cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến
Kiểm tra xem Certbot có hoạt động bình thường không.
Chạy lệnh sau để tạo SSL Chứng chỉ.
Lệnh trên sẽ tải chứng chỉ xuống thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Bạn sẽ tìm thấy
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Giải nén các tệp.
Tạo
Di chuyển các tệp đã giải nén vào web thư mục.
Cấp quyền cho người dùng Nginx trên thư mục gốc web.
Tải xuống tệp lưu trữ phpMyAdmin cho ngôn ngữ tiếng Anh. Lấy liên kết cho phiên bản mới nhất từ trang Tải xuống phpMyAdmin.
Giải nén tệp lưu trữ vào thư mục công khai.
Chuyển sang công khai thư mục.
Đổi tên thư mục đã giải nén thành tên khó hiểu để cải thiện bảo mật.
Mở tệp cấu hình để chỉnh sửa.
Tìm dòng
Bạn có thể sử dụng trình tạo blowfish trực tuyến của phpSolved hoặc thực hiện thông qua dòng lệnh.
Sao chép giá trị và dán dưới dạng đã hiển thị.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Thay đổi quyền sở hữu thư mục phpMyAdmin thành máy chủ Nginx.
Xóa cài đặt phpMyAdmin thư mục.
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng
Tìm
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tăng thời gian thực thi cho PHP-FPM và PHP-CLI lên 60 giây.
Đặt giá trị của biến
Tăng giới hạn bộ nhớ cho PHP-FPM từ 128MB lên 512MB.
Tăng kích thước tệp tải lên lên 30MB.
Tăng số lượng biến đầu vào tối đa lên 3000.
Cho phép truy cập, theo góc nhìn của PHP, các tệp cục bộ bằng các câu lệnh LOAD DATA.
Khởi động lại PHP-FPM dịch vụ.
Thay đổi nhóm thư mục phiên PHP thành Nginx.
Dán mã sau vào đó.
Lưu ý thư mục gốc được sử dụng trong cấu hình Nginx là
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh tệp cấu hình Nginx cú pháp.
Khởi động lại dịch vụ Nginx.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22508%22%3E%3C/svg%3E
Tại đây, nó sẽ kiểm tra quyền đối với tệp và xác nhận xem bạn có thể tiến hành bước 1 hay không. Nếu bạn thấy từ
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E
Ở trang tiếp theo, bạn sẽ được hỏi xem bạn có muốn trình cài đặt tạo cơ sở dữ liệu hay sử dụng cơ sở dữ liệu được tạo sẵn không. Chọn tùy chọn Tôi đã tạo cơ sở dữ liệu và nhấp vào nút để tiến hành bước 2.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22671%22%3E%3C/svg%3E
Ở trang tiếp theo, hãy điền thông tin xác thực cơ sở dữ liệu mà bạn đã định cấu hình ở bước 4 trước đó. Ngoài ra, hãy nhập thông tin xác thực tài khoản quản trị viên của bạn. Đảm bảo tên người dùng của bạn dài từ 12 ký tự trở lên, nếu không, bạn sẽ gặp lỗi. Bạn có thể bật xác thực hai yếu tố (2FA) tại đây nhưng bạn nên định cấu hình sau khi cài đặt. Nhấp vào nút để tạo cơ sở dữ liệu và tài khoản người dùng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Trang tiếp theo sẽ hiển thị trạng thái cài đặt và sẽ hiển thị cho bạn tên người dùng và mật khẩu. Nhấp vào nút để tiến hành bước 4.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22560%22%3E%3C/svg%3E
Trang tiếp theo sẽ liệt kê các giá trị được đề xuất và hiện tại từ tệp
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22660%22%20height=%2240%22%3E%3C/svg%3E
Khi bạn đã hài lòng, hãy nhấp vào nút để tiến hành bước 5.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22537%22%3E%3C/svg%3E
Bước tiếp theo liệt kê các thiết lập máy chủ Apache mà chúng ta sẽ bỏ qua vì chúng ta đang sử dụng máy chủ Nginx. Nhấp vào nút để tiếp tục đến trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Tại đây, bạn sẽ được yêu cầu chọn một chủ đề cho bảng quản trị. Chọn tùy chọn Giữ nguyên và nhấp vào nút để tiếp tục. Bạn có thể thay đổi chủ đề từ bảng quản trị sau này, tuy nhiên bạn sẽ không thể thấy chúng trông như thế nào. Nếu bạn chọn từ trang cài đặt, bạn cũng có thể kiểm tra chúng trông như thế nào trước khi chọn. Chúng tôi sẽ sử dụng chủ đề mặc định.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22679%22%3E%3C/svg%3E
Trang cuối liệt kê một số lưu ý cuối cùng về phần mềm và thông tin đăng nhập tài khoản. Nhấp vào nút Bắt đầu để mở trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22698%22%20height=%22538%22%3E%3C/svg%3E
Bạn sẽ nhận được cửa sổ bật lên đăng ký OpenEMR để nhận thông báo từ trang web của họ. Bạn có thể bỏ qua và nhập thông tin đăng nhập của mình và nhấp vào nút Đăng nhập để truy cập bảng điều khiển.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22423%22%3E%3C/svg%3E
Nếu bạn không cấu hình xác thực hai yếu tố trong quá trình cài đặt, hãy thực hiện bằng cách nhấp vào biểu tượng hình đại diện ở trên cùng bên phải và chọn tùy chọn Quản lý MFA.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22287%22%20height=%22241%22%3E%3C/svg%3E
Ở trang tiếp theo, chọn Phương pháp xác thực từ menu thả xuống và bắt đầu cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22342%22%3E%3C/svg%3E
Bạn có thể bắt đầu sử dụng OpenEMR để quản lý hoạt động kinh doanh chăm sóc sức khỏe của mình từ đây. Để truy cập phpMyAdmin, hãy truy cập URL
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22411%22%20height=%22342%22%3E%3C/svg%3E
Trong hướng dẫn này, bạn sẽ học cách cài đặt phần mềm OpenEMR trên máy chủ chạy Debian 12.
Điều kiện tiên quyết
-
Máy chủ chạy Debian 12.
-
Người dùng sudo không phải root.
-
Tên miền đủ điều kiện (FQDN) nhưopenemr.example.com
.
-
Đảm bảo mọi thứ đều đã cập nhật.
Mã:
$ sudo apt update
$ sudo apt upgrade
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Debian đi kèm với ufw (Uncomplicated Firewall) theo mặc định.Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo ufw status
Mã:
Status: inactive
Mã:
$ sudo ufw allow OpenSSH
Mã:
$ sudo ufw allow http
$ sudo ufw allow https
Mã:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Mã:
$ sudo ufw status
Mã:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Bước 2 - Cài đặt Nginx
Debian 12 đi kèm với phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho lưu trữ Nginx chính thức.Nhập khóa ký của Nginx.
Mã:
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list
Mã:
$ sudo apt update
Mã:
$ sudo apt install nginx
sudo
.
Mã:
$ sudo nginx -v
nginx version: nginx/1.24.0
Mã:
$ sudo systemctl start nginx
Mã:
? nginx.service - nginx - high performance web server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled) Active: active (running) since Tue 2023-08-08 02:03:03 UTC; 5s ago Docs: https://nginx.org/en/docs/ Process: 4929 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 4930 (nginx) Tasks: 2 (limit: 2315) Memory: 1.8M CPU: 12ms CGroup: /system.slice/nginx.service ??4930 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??4931 "nginx: worker process"
Bước 3 - Cài đặt MariaDB
Debian 12 không đi kèm MySQL theo mặc định và họ vẫn chưa phát hành gói chính thức cho MySQL. Do đó, chúng tôi sẽ sử dụng MariaDB cho MySQL. MariaDB cũng không có gói chính thức cho Debian 12 nhưng Debian đi kèm với nó. Do đó, hãy cài đặt nó bằng lệnh sau.
Mã:
$ sudo apt install mariadb-server
Mã:
$ mysql --version
mysql Ver 15.1 Distrib 10.11.3-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
Mã:
$ sudo mysql_secure_installation
Mã:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
unix_socket
cho phép bạn sử dụng thông tin đăng nhập hệ điều hành của mình để kết nối với máy chủ MariaDB. Vì bạn đã có tài khoản root được bảo vệ, hãy nhập n
để tiếp tục.
Mã:
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n
n
để tiếp tục.
Mã:
... skipping.
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] n
Mã:
... skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y ... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y ... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
sudo mysql
hoặc sudo mariadb
trên dòng lệnh.Bước 4 - Cấu hình MariaDB
Đăng nhập vào shell MariaDB.
Mã:
$ sudo mysql
Mã:
mysql> CREATE DATABASE openemr;
Mã:
mysql> CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2!';
Mã:
mysql> GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';
Mã:
MariaDB> GRANT ALL ON *.* TO 'navjot'@'localhost' IDENTIFIED BY 'Yourpassword32!' WITH GRANT OPTION;
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> exit
Bước 5 - Cài đặt PHP và các tiện ích mở rộng của nó
Debian 12 được cài đặt sẵn PHP 8.2 theo mặc định. Bạn có thể cài đặt bằng cách chạy lệnh sau.
Mã:
$ sudo apt install 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
Đầu tiên, hãy nhập khóa GPG PHP của kho lưu trữ Sury.
Mã:
$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
Mã:
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Mã:
$ sudo apt update
Mã:
$ sudo apt install php8.2-fpm php8.2-mysql php8.2-bcmath php8.2-xml php8.2-zip php8.2-curl php8.2-mbstring php8.2-gd php8.2-tidy php8.2-intl php8.2-cli php8.2-soap imagemagick libtiff-tools php8.2-ldap
Mã:
$ php --version
PHP 8.2.8 (cli) (built: Jul 16 2023 11:00:43) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.8, Copyright (c) Zend Technologies with Zend OPcache v8.2.8, Copyright (c), by Zend Technologies
Bước 6 - Cài đặt SSL
Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL. Bạn có thể cài đặt Certbot bằng kho lưu trữ của Debian hoặc tải phiên bản mới nhất bằng công cụ Snapd. Chúng tôi sẽ sử dụng phiên bản Snapd.Debian 12 không đi kèm Snapd đã cài đặt. Cài đặt gói Snapd.
Mã:
$ sudo apt install snapd
Mã:
$ sudo snap install core && sudo snap refresh core
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.6.0
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d openemr.example.com
/etc/letsencrypt/live/openemr.example.com
trên máy chủ của bạn.Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo systemctl list-timers
snap.certbot.renew.service
là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
.....
Tue 2023-08-08 03:09:00 UTC 23min left Tue 2023-08-08 02:39:00 UTC 6min ago phpsessionclean.timer phpsessionclean.service
Tue 2023-08-08 04:21:00 UTC 1h 35min left - - snap.certbot.renew.timer snap.certbot.renew.service
Tue 2023-08-08 06:25:00 UTC 3h 39min left Mon 2023-08-07 13:54:08 UTC 12h ago ntpsec-rotate-stats.timer ntpsec-rotate-stats.service
Mã:
$ sudo certbot renew --dry-run
Bước 7 - Tải xuống OpenEMR
Truy cập trang tải xuống OpenEMR và lấy liên kết cho phiên bản OpenEMR mới nhất. Tải OpenEMR xuống máy chủ.
Mã:
$ wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.1/openemr-7.0.1.tar.gz
Mã:
$ tar -pxzf openemr-7.0.1.tar.gz
/var/www/html
thư mục.
Mã:
$ sudo mkdir /var/www/html -p
Mã:
$ sudo mv openemr-7.0.1 /var/www/html/openemr
Mã:
$ sudo chown -R nginx:nginx /var/www/html/openemr
Bước 8 - Cài đặt phpMyAdmin
Trước khi cấu hình PHP-FPM, chúng tôi sẽ cài đặt phpMyAdmin mà bạn có thể sử dụng để duyệt và chỉnh sửa cơ sở dữ liệu.Tải xuống tệp lưu trữ phpMyAdmin cho ngôn ngữ tiếng Anh. Lấy liên kết cho phiên bản mới nhất từ trang Tải xuống phpMyAdmin.
Mã:
$ wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-english.tar.gz
Mã:
$ sudo tar -xzf phpMyAdmin-5.2.1-english.tar.gz -C /var/www/html/openemr
Mã:
$ cd /var/www/html/openemr
Mã:
$ sudo mv phpMyAdmin-5.2.1-english sm175
Bước 9 - Cấu hình phpMyAdmin
Sao chép tệp cấu hình mẫu.
Mã:
$ sudo cp sm175/config.sample.inc.php sm175/config.inc.php
Mã:
$ sudo nano sm175/config.inc.php
$cfg['blowfish_secret'] = '';
và nhập chuỗi ngẫu nhiên gồm 32 ký tự để xác thực dựa trên cookie.Bạn có thể sử dụng trình tạo blowfish trực tuyến của phpSolved hoặc thực hiện thông qua dòng lệnh.
Sao chép giá trị và dán dưới dạng đã hiển thị.
Mã:
$cfg['blowfish_secret'] = 'Tc/HfLPBOAPxJ-rhQP}HJoZEK69c3j:m';
Thay đổi quyền sở hữu thư mục phpMyAdmin thành máy chủ Nginx.
Mã:
$ sudo chown -R nginx:nginx /var/www/html/openemr/sm175
Mã:
$ sudo rm -rf /var/www/html/openemr/sm175/setup
Bước 10 - Cấu hình PHP-FPM
Mở tệp/etc/php/8.2/fpm/pool.d/www.conf
.
Mã:
$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf
user=www-data
và group=www-data
trong tệp và thay đổi chúng thành nginx
.
Mã:
; Unix user/group of the child processes. This can be used only if the master
; process running user is root. It is set after the child process is created.
; The user and group can be specified either by their name or by their numeric
; IDs.
; Note: If the user is root, the executable needs to be started with
; --allow-to-run-as-root option to work.
; Default Values: The user is set to master process running user by default.
; If the group is not set, the user's group is used.
user = nginx
group = nginx
...
listen.owner = www-data
và listen.group = www-data
dòng trong tệp và thay đổi chúng thành nginx
.
Mã:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: Owner is set to the master process running user. If the group
; is not set, the owner's group is used. Mode is set to 0660.
listen.owner = nginx
listen.group = nginx
Tăng thời gian thực thi cho PHP-FPM và PHP-CLI lên 60 giây.
Mã:
$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php/8.2/fpm/php.ini
max_input_time
thành 1
.
Mã:
$ sudo sed -i 's/max_input_time = 60/max_input_time = -1/' /etc/php/8.2/fpm/php.ini
Mã:
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/' /etc/php/8.2/fpm/php.ini
Mã:
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 30M/' /etc/php/8.2/fpm/php.ini
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 30M/' /etc/php/8.2/fpm/php.ini
Mã:
$ sudo sed -i 's/;max_input_vars = 1000/max_input_vars = 3000/g' /etc/php/8.2/fpm/php.ini
Mã:
$ sudo sed -i 's/;mysqli.allow_local_infile = On/mysqli.allow_local_infile = On/g' /etc/php/8.2/fpm/php.ini
Mã:
$ sudo systemctl restart php8.2-fpm
Mã:
$ sudo chgrp -R nginx /var/lib/php/sessions
Bước 11 - Cấu hình Nginx
Tạo và mở tệp/etc/nginx/conf.d/openemr.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/openemr.conf
Mã:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name openemr.example.com; access_log /var/log/nginx/openemr.access.log; error_log /var/log/nginx/openemr.error.log; # SSL ssl_certificate /etc/letsencrypt/live/openemr.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/openemr.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/openemr.example.com/chain.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; # use https://blog.cloudflare.com/announcing-1111 Cloudfare+Apnic labs, It is free and secure resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] valid=300s; root /var/www/html/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-fpm/www.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; }
}
# enforce HTTPS
server { listen 80; listen [::]:80; server_name openemr.example.com; return 301 https://$host$request_uri;
}
/var/www/html/wallabag/public/
.Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Xác minh tệp cấu hình Nginx cú pháp.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
$ sudo systemctl restart nginx
Bước 12 - Cài đặt OpenEMR
Mở URLhttps://openemr.example.com
trong trình duyệt của bạn và bạn sẽ thấy màn hình thiết lập sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22508%22%3E%3C/svg%3E
Tại đây, nó sẽ kiểm tra quyền đối với tệp và xác nhận xem bạn có thể tiến hành bước 1 hay không. Nếu bạn thấy từ
ready
màu xanh lá cây, điều đó có nghĩa là bạn có thể tiếp tục. Nhấp vào nút màu xanh lam để tiếp tục bước 1.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E
Ở trang tiếp theo, bạn sẽ được hỏi xem bạn có muốn trình cài đặt tạo cơ sở dữ liệu hay sử dụng cơ sở dữ liệu được tạo sẵn không. Chọn tùy chọn Tôi đã tạo cơ sở dữ liệu và nhấp vào nút để tiến hành bước 2.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22671%22%3E%3C/svg%3E
Ở trang tiếp theo, hãy điền thông tin xác thực cơ sở dữ liệu mà bạn đã định cấu hình ở bước 4 trước đó. Ngoài ra, hãy nhập thông tin xác thực tài khoản quản trị viên của bạn. Đảm bảo tên người dùng của bạn dài từ 12 ký tự trở lên, nếu không, bạn sẽ gặp lỗi. Bạn có thể bật xác thực hai yếu tố (2FA) tại đây nhưng bạn nên định cấu hình sau khi cài đặt. Nhấp vào nút để tạo cơ sở dữ liệu và tài khoản người dùng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Trang tiếp theo sẽ hiển thị trạng thái cài đặt và sẽ hiển thị cho bạn tên người dùng và mật khẩu. Nhấp vào nút để tiến hành bước 4.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22560%22%3E%3C/svg%3E
Trang tiếp theo sẽ liệt kê các giá trị được đề xuất và hiện tại từ tệp
php.ini
của bạn. Đảm bảo các giá trị hiện tại đáp ứng yêu cầu. Trình cài đặt hiển thị giá trị sai cho biến max_execution_time
vì một lý do nào đó ngay cả khi bạn đã đặt đúng. Bạn có thể bỏ qua điều này. Bạn có thể xác minh giá trị hiện tại bằng cách sử dụng lệnh sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22660%22%20height=%2240%22%3E%3C/svg%3E
Khi bạn đã hài lòng, hãy nhấp vào nút để tiến hành bước 5.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22537%22%3E%3C/svg%3E
Bước tiếp theo liệt kê các thiết lập máy chủ Apache mà chúng ta sẽ bỏ qua vì chúng ta đang sử dụng máy chủ Nginx. Nhấp vào nút để tiếp tục đến trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Tại đây, bạn sẽ được yêu cầu chọn một chủ đề cho bảng quản trị. Chọn tùy chọn Giữ nguyên và nhấp vào nút để tiếp tục. Bạn có thể thay đổi chủ đề từ bảng quản trị sau này, tuy nhiên bạn sẽ không thể thấy chúng trông như thế nào. Nếu bạn chọn từ trang cài đặt, bạn cũng có thể kiểm tra chúng trông như thế nào trước khi chọn. Chúng tôi sẽ sử dụng chủ đề mặc định.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22679%22%3E%3C/svg%3E
Trang cuối liệt kê một số lưu ý cuối cùng về phần mềm và thông tin đăng nhập tài khoản. Nhấp vào nút Bắt đầu để mở trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22698%22%20height=%22538%22%3E%3C/svg%3E
Bạn sẽ nhận được cửa sổ bật lên đăng ký OpenEMR để nhận thông báo từ trang web của họ. Bạn có thể bỏ qua và nhập thông tin đăng nhập của mình và nhấp vào nút Đăng nhập để truy cập bảng điều khiển.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22423%22%3E%3C/svg%3E
Nếu bạn không cấu hình xác thực hai yếu tố trong quá trình cài đặt, hãy thực hiện bằng cách nhấp vào biểu tượng hình đại diện ở trên cùng bên phải và chọn tùy chọn Quản lý MFA.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22287%22%20height=%22241%22%3E%3C/svg%3E
Ở trang tiếp theo, chọn Phương pháp xác thực từ menu thả xuống và bắt đầu cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22342%22%3E%3C/svg%3E
Bạn có thể bắt đầu sử dụng OpenEMR để quản lý hoạt động kinh doanh chăm sóc sức khỏe của mình từ đây. Để truy cập phpMyAdmin, hãy truy cập URL
https://openemr.example.com/sm175/
trong trình duyệt của bạn. Bạn có thể đăng nhập bằng thông tin xác thực cơ sở dữ liệu OpenEMR hoặc người dùng có quyền root mà bạn đã tạo ở bước 4 để đăng nhập vào phpMyAdmin.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22411%22%20height=%22342%22%3E%3C/svg%3E