OpenEMR Multiple Sites Module
From OpenEMR Project Wiki
The Multi site module allows creation of Multiple OpenEMR installations from one codebase footprint. The instance-specific files are stored in the openemr/sites/<installation-name> directory. So, for example, the 'default' installation specific files can be found at openemr/sites/default. Note that each OpenEMR installation does have its own MySQL database.
Installation of a new site
- These instructions assume you have already installed OpenEMR (the 'default' site).
- Note you will need to assign read/write permissions to the
openemr/sites
directory for your web server - Also note your web server will need permission to view the following files (in many installations, access to these files is restricted for security purposes):
admin.php
setup.php
- Also note you need to do a couple things in the
setup.php
script to build your multisites (you should revert these changes right after you are done for security purposes; or it's even better to delete thesetup.php
script completely when you are done building your multisites):
- Set the
$allow_multisite_setup
totrue
- Set
$allow_cloning_setup
totrue
if you intend to clone a site)
- Set the
- To avoid permission checking across your new site files and folders which could take lots of time, you can set
$checkPermissions
insetup.php
to false
- Go to https://<your_server_name_or_IP_address>/openemr/admin.php
- Select 'Add New Site'
- Go through the setup step, the same as for a new installation.
- At Step 2, note the two additional options:
- Source site (pick a site to copy the configuration files from)
- Clone Source Database (if want to clone the database of a already existent site)
- Note you will need to assign read/write permissions to the
Upgrading
- If only upgrading the 'default' site, then just follow the standard OpenEMR upgrading instructions for your operating system.
- If also upgrading other sites, then do the following:
- Move all directories for each site
openemr/sites/<site_id>/documents
openemr/sites/<site_id>/edi
openemr/sites/<site_id>/era
openemr/sites/<site_id>/letter_templates
- Configure the
openemr/sites/<site_id>/sqlconf.php
file for each site
- Copy variables from the old
sqlconf.php
to the new one - Set the
$config
variable to$config=1;
- Copy variables from the old
- Open
admin.php
in a web browser (http://<server_name>/openemr/admin.php), note see above foradmin.php
security
- If displayed, select 'Upgrade Database' for each site (and follow instructions)
- Update the ACL access controls for each site:
- http://<server_name>/openemr/acl_upgrade.php?site=<site_id>
Patches
- If only installing the patch for the 'default' site, then just follow the standard OpenEMR patch installation instructions for your operating system.
- If also upgrading other sites, then in addition to above, also do the following:
- Open admin.php in a web browser (http://<server_name>/openemr/admin.php)
- If displayed, select 'Patch Database' for each site
Backup/Restore
- Backup and restore has some new and interesting behavior. Each site is still backed up individually, and the backup script is careful to omit the site-specific directories of other sites. The restore script has a new option to specify the site ID being restored, and when the target OpenEMR directory already exists it will preserve that directory and restore only the site-specific subdirectory. Note there is no feature at this time to back up multiple sites at once.