Monthly Archives: June 2010

OpenEMR – Macintosh Installation

OpenEMR on the Macintosh

Configuration
iMac
Leopard 10.6.3

Configure PHP

Open the Terminal application in the Utilities folder

changes are based on the vi editor

cd /etc/apache2
sudo vi httpd.conf

/LoadModule php5
#LoadModule php5_module        libexec/apache2/libphp5.so
s/^#//
LoadModule php5_module        libexec/apache2/libphp5.so

:w

:q

create a file “/etc/php.ini” with the following contents.    The Date/Time are eastern so you need to substitute your TZ in “date.timezone”

; Openemr Stuff
short_open_tag = On
max_execution_time = 60
max_input_time = 90
memory_limit = 128M
display_errors = Off
log_errors = On
register_globals = Off
post_max_size = 30M
magic_quotes_gpc = On
file_uploads = On
upload_max_filesize = 30M
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
date.timezone = “America/New_York”

Add the following to apache setup

sudo vi /etc/apache2/other/openemr.conf
i

<Directory /Library/WebServer/Documents/openemr/documents>
order deny,allow
Deny from all
</Directory>
<Directory /Library/WebServer/Documents/openemr/openemr/edi>
order deny,allow
Deny from all
</Directory>
<Directory /Library/WebServer/Documents/openemr/era>
order deny,allow
Deny from all
</Directory>
:w

:q

INSTALL MYSQL

Download from mysql.com

http://dev.mysql.com/downloads/mysql/

Open mysql-5.1xxxx.pkg

follow the default settings

Install the MYSQL.prefPane


Turn on Apache2 (Webserver)

In the System Preferences panel click Sharing and then turn on the checkbox for Web Sharing

Verify Apache2 (web sharing) is running by clicking on the IP address shown for your personal website and the computer’s website.


Follow the linux installation

http://www.openmedsoftware.org/wiki/OpenEMR_3.1_Linux_Installation

the changes are….

Extracting the Tarball

Step 3 – Use the following

mv openemr-3.1.0               /Library/WebServer/Documents/openemr


Cleaning up FileSystem Permissions

Step 4 – Instead of apache:apache use _www:_www

Follow the remaining steps of the linux installation

OpenEMR – Dump Database

Updated: On some systems (debian squeeze) the statement (let OLDFILES=${FILENAMEDATE}-${KEEPDAYS}) will no longer execute properly so it should be updated to (OLDFILES=`expr ${FILENAMEDATE} – ${KEEPDAYS}`).   The correction has been applied to the script below.

As part of our backup process on the OpenEMR system we create hourly dumps of the database. The script below handles the database export, compression, and daily cleanup. This script can be run manually but we choose to place it in /etc/cron.hourly.

The script is currently running on a Debian (lenny) system but should work on ubuntu and Centos.

#!/bin/sh
#
# dump openemr db
#
# This script will create a backup of the openemr database
# and store it in LOCATION with the file format of
# FILENAMEPREFIX.FILENAMEDATE.FILENAMEHOUR.FILENAMESUFFIX
# for example at 2am on June 16 2010 the file would appear as
# /var/log/mysql/backup/mysql_openemr.167.02.dump.gz
#
# LOCATION=directory to store the backups
LOCATION=/var/lib/mysql/backup
#
FILENAMEPREFIX=”mysql_openemr”
FILENAMESUFFIX=”dump”
#
FILENAMEDATE=`date +%j`
FILENAMEHOUR=`date +%H`
#
FILENAME=${FILENAMEPREFIX}.${FILENAMEDATE}.${FILENAMEHOUR}.${FILENAMESUFFIX}
#echo $FILENAME
#
# KEEPDAYS=number of days to hold dump file before deletion
KEEPDAYS=7
OLDFILES=`expr ${FILENAMEDATE} – ${KEEPDAYS}`
#
# mysqldump options
OPTIONS=”–opt”
#
# GZIP=0 do not zip files
# GZIP=1 zip files
GZIP=0
#
# Username and Password for mysql
# change this for your installation
USERNAME=”myopenemrusername”
PASSWORD=”openemrdbpassword”
#
# dump the database
# zip the file if GZIP set
#
if [ ${GZIP} -ne 0 ]
then
mysqldump ${OPTIONS} –user=${USERNAME} –password=${PASSWORD} openemr | gzip >${LOCATION}/${FILENAME}.gz
else
mysqldump ${OPTIONS} –user=${USERNAME} –password=${PASSWORD} openemr >${LOCATION}/${FILENAME}
fi
if [ ${FILENAMEHOUR} -eq 0 ]
then
FILENAMES=`ls ${LOCATION}`
for fname in ${FILENAMES}
do
FDATE=`echo ${fname} | cut –delimiter=. -f 2`
if [ ${FDATE} -lt ${OLDFILES} ]
then
echo Deleting ${fname}
rm ${LOCATION}/${fname}
fi
done
fi