OpenEMR 4.0 Linux Installation
Required Software Installation (distribution specific)
First install and configure MySQL, Apache (or another PHP-capable webserver), and PHP5. We recommend referring to your specific operating system (OS) documentation for installation of these software packages.
Debian Lenny
To install the prerequisite software on debian, use the APT system as the system administrator:
- apt-get install mysql-server apache2-mpm-prefork libapache2-mod-php5 php5-mysql
Centos Or RedHat
- If using CentOS or Redhat, then ensure when configuring MySQL for OpenEMR, STRICT_MODE must be disabled. This can be done in the MySQL configuration (my.cnf) file. You can check the setting in an existing MySQL instance by executing SHOW VARIABLES; in the MySQL Command Line Client and checking the value of SQL_MODE. For more details see: http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html)
Installing OpenEMR
Extracting the Tarball
1. First, Download OpenEMR from sourceforge:
- http://downloads.sourceforge.net/openemr/openemr-4.0.0.tar.gz (MD5 sum: PENDING RELEASE)
2. Next, Extract the downloaded archive:
- tar -pxvzf openemr-4.0.0.tar.gz
3. Move the extracted openemr-4.0.0 directory to your webserver root directory, and then go to this directory. Refer to your OS and webserver documentation to obtain you webserver root directory. For example, Mandriva's webserver root directory is /var/www/html, so in mandriva you would use the following commands:
- mv openemr-4.0.0 /var/www/html/openemr
- cd /var/www/html
Some other common webserver root directories are:
- Debian: /var/www/
- The FHS: /srv/www/
Cleaning up FileSystem Permissions
1. Modify file permissions (this should be done as root user):
- chmod 666 openemr/library/sqlconf.php
2. Modify directory permissions. We need to make the following directories writable by the webserver username. The webserver username is dependent on your OS; "apache", "www-data", and "nobody" are some common examples. Mandriva's webserver username is "apache", so in mandriva you would use the following commands (this should be done as root user):
- chown -R apache:apache openemr/sites/default/documents
- chown -R apache:apache openemr/sites/default/edi
- chown -R apache:apache openemr/sites/default/era
- chown -R apache:apache openemr/sites/default/letter_templates
- chown -R apache:apache openemr/library/freeb
- chown -R apache:apache openemr/gacl/admin/templates_c
- chown -R apache:apache openemr/interface/main/calendar/modules/PostCalendar/pntemplates/cache
- chown -R apache:apache openemr/interface/main/calendar/modules/PostCalendar/pntemplates/compiled
Configuring the Install through the WEB GUI
1. Open up web-browser and point it to the installation script at http://localhost/openemr/setup.php .
- The first screen gives some general instructions and ensures file and directory permissions are set up correctly. It should tell you all your file system permissions are good, and have a 'Continue' button on the bottom of the form. If it does, Click the 'Continue' button. Otherwise, If there are errors on this screen, then follow instructions to fix. (screenshot below)
2. The next page is 'OpenEMR Setup' 'Step 1', which asks whether setup should create the database.
- Leave the setting set to 'Have setup create the database', and click the 'Continue' button. (screenshot below)
3. The next page is 'OpenEMR Setup' 'Step 2'. It has a list of options used to setup the database, along with OpenEMR user and OpenEMR path information.
- Most users will just need to enter a 'Initial User Password' for the OpenEMR User and a 'Password' for the sql user(these fields are circled in red in below screenshot). Some users may also have to enter the password of the 'root' user in the mysql server. (screenshot below)
4. The next page is 'OpenEMR Setup' 'Step 3'. On this page you should see logs of OpenEMR connecting and creating the database.
- At the bottom of the page, it should read 'Next step will install and configure access controls (php-GACL).' Click the 'Continue' button. (screenshot below)
5. The next page is 'OpenEMR Setup' 'Step 4'. On this page, OpenEMR configures access controls (php-GACL).
- You should see logs of OpenEMR installing and configuring php-GACL. you should see 'Success!' in green lettering four times. At the bottom of the page, it should read 'Next step will configure PHP.'. Click the 'Continue' button. (screenshot below)
6. The next page is 'OpenEMR Setup' 'Step 5'. On this page is displayed recommendations of how to configure your php.ini config file.
- Read and follow the instructions carefully. At the bottom of the page, it should read "Next step will configure Apache web server.". We suggest you print this screen for future reference. Click the 'Continue' button. (screenshot below)
7. The next page is 'OpenEMR Setup' 'Step 6'. On this page is displayed recommendations and warnings regarding directories Apache should NOT allow the outside world to see, as these directories contain Protected Health Information.
- Read and follow the instructions carefully. We suggest you print this screen for future reference. Click the 'Continue' button. (screenshot below)
8. The next page is 'OpenEMR Setup'. This is the final configuration page.
- This final installation screen gives additional instructions. This information is personalized for your setup, so we suggest you print this screen for future reference. At the bottom of the page is your OpenEMR username and password, along with a link to OpenEMR. (screenshot below)
- OpenEMR after installation: (screenshot below)
Post-install FileSystem Permission Cleanups
1. After installation is finished, then secure files (this should be done as root user):
- chmod 644 openemr/library/sqlconf.php
- chmod 600 openemr/acl_setup.php
- chmod 600 openemr/acl_upgrade.php
- chmod 600 openemr/sl_convert.php
- chmod 600 openemr/setup.php
- chmod 600 openemr/sql_upgrade.php
- chmod 600 openemr/gacl/setup.php
- chmod 600 openemr/ippf_upgrade.php
- chmod 600 openemr/admin.php