How to Install OpenEMR on CentOS 7
Introduction
OpenEMR is an open-source electronic health records and medical practice management solution. This article explains how to install OpenEMR on CentOS 7.
1. Install Prerequisites
- Deploy a LAMP Application on CentOS 7 cloud server instance from Vultr Marketplace Apps
- Login as root.
- Update the server.
2. Configure MySQL Database
Log in to MySQL as root.
# mysql -u root
Create an openemr database.
mysql> CREATE DATABASE openemr;
Create a new database user. Replace
<PASSWORD>
with a strong password.mysql> CREATE USER 'openemr-user'@'localhost' IDENTIFIED BY '<PASSWORD>';
Grant the user permission to access the database.
mysql> GRANT ALL PRIVILEGES ON openemr.* TO 'openemr-user'@'localhost';
Reload the grant tables to activate the permission settings.
mysql> FLUSH PRIVILEGES;
Exit MySQL.
mysql> exit
3. Download OpenEMR
Download OpenEMR.
# wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/6.0.0/openemr-6.0.0.tar.gz
Please see the OpenEMR Download page for the latest OpenEMR version.
Extract the files.
# tar xvzf openemr*.tar.gz
Move the
openemr-6.0.0
directory to/var/www/html/openemr
.# mv openemr-6.0.0 /var/www/html/openemr
Give apache ownership of the directory.
# chown -R apache:apache /var/www/html/openemr
Temporarily give all users read and write access during the installation.
# chmod 666 /var/www/html/openemr/sites/default/sqlconf.php
4. Install OpenEMR
Navigate to
http://example.com/openemr
, replacing example.com with your server's IP address. The browser displays the OpenEMR Setup page.Click Proceed to Step 1 to continue with the installation.
Choose I have already created the database and click Proceed to Step 2 to continue.
In the MySQL Server Details section, enter the database Login Name and Password you set in section two.
In the OpenEMR Initial User Details section, create an Initial User Login Name and Initial User Password.
If you want 2 Factor Authentication, click the Enable 2FA option.
Click Create DB and User.
Click Proceed to Step 4.
5. Configure Apache and PHP
Return to your terminal session.
Edit php.ini.
# nano /etc/php.ini
Locate these variables and change their settings as shown.
- Remove the leading
;
character from max_input_vars and change its value to3000
. - Change max_execution_time to
60
. - Change max_input_time to
-1
. - Change post_max_size to
30M
. - Change memory_limit to
256M
. - Remove the leading
;
character from mysqli.allow_local_infile.
- Remove the leading
Save and exit the file.
Reload the Apache web server for these changes to take effect.
# systemctl reload httpd
Return to your web browser.
Click Proceed to Step 5.
Return to your terminal session.
Create a new configuration file named
openemr.conf
.# nano /etc/httpd/conf.d/openemr.conf
Paste the following into the file.
<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>
Save and exit the file.
Restart Apache.
# systemctl restart httpd
Return to your web browser.
Click Proceed to Select a Theme.
Choose Keep Current, then click Proceed to Final Step.
A confirmation page appears. Click Start to log in.
(Optional) Register your installation for security updates and new release announcements.
6. Change Permissions
OpenEMR recommends setting file permissions as follows.
# chmod 644 /var/www/html/openemr/library/sqlconf.php
# chmod 644 /var/www/html/openemr/sites/default/sqlconf.php
# chmod 600 /var/www/html/openemr/acl_upgrade.php
# chmod 600 /var/www/html/openemr/setup.php
# chmod 600 /var/www/html/openemr/sql_upgrade.php
# chmod 600 /var/www/html/openemr/ippf_upgrade.php
See the OpenEMR documentation for more details.
More Information
To learn more about OpenEMR, please see these resources: