Difference between revisions of "OpenEMR Multiple Sites Module"

From OpenEMR Project Wiki
m (Copyedit)
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Overview==
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.
Very cool module that allows creation of Multiple OpenEMR installations from one codebase footprint (note that each OpenEMR installation does have it's own MySQL database). 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.


==Installation of a new site==
==Installation of a new site==
:These instructions are assuming you have already installed OpenEMR (the default site).
:These instructions assume you have already installed OpenEMR (the 'default' site).
:*Go to <nowiki>http://<your_server_name_or_IP_address>/openemr/admin.php</nowiki>
:*Note you will need to assign read/write permissions to the <code>openemr/sites</code> directory for your web server
:*Click 'Add New Site'
:*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):
::*Note you will need to assign read permission so the openemr/sites directory
::*<code>admin.php</code>
:*Go through the setup step, like a new installation.
::*<code>setup.php</code>
::*Also note you need to do a couple things in the <code>setup.php</code> 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 the <code>setup.php</code> script completely when you are done building your multisites):
:::*Set the <code>$allow_multisite_setup</code> to <code>true</code>
:::*Set <code>$allow_cloning_setup</code> to <code>true</code> if you intend to clone a site)
::*To avoid permission checking across your new site files and folders which could take lots of time, you can set <code>$checkPermissions</code> in <code>setup.php</code> to false
:*Go to <nowiki>https://<your_server_name_or_IP_address>/openemr/admin.php</nowiki>
:*Select 'Add New Site'
:*Go through the setup step, the same as for a new installation.
::*At Step 2, note the two additional options:
::*At Step 2, note the two additional options:
:::*Source site (pick a site to copy the configuration files from)
:::*Source site (pick a site to copy the configuration files from)
Line 13: Line 19:


==Upgrading==
==Upgrading==
:*If only upgrading the 'default' site, then just need to follow the [[OpenEMR_Upgrade_Guides| standard OpenEMR upgrading instructions]] for your operating system.
:*If only upgrading the 'default' site, then just follow the [[OpenEMR_Upgrade_Guides| standard OpenEMR upgrading instructions]] for your operating system.
:*If also upgrading other sites, then need to do the following:
:*If also upgrading other sites, then do the following:
::*Move all directories for each site
::*Move all directories for each site
:::*openemr/sites/<site_name>/documents
:::*<code>openemr/sites/<site_id>/documents</code>
:::*openemr/sites/<site_name>/edi
:::*<code>openemr/sites/<site_id>/edi</code>
:::*openemr/sites/<site_name>/era
:::*<code>openemr/sites/<site_id>/era</code>
:::*openemr/sites/<site_name>/letter_templates
:::*<code>openemr/sites/<site_id>/letter_templates</code>
::*Configure the openemr/sites/<site_name>/sqlconf.php file for each site
::*Configure the <code>openemr/sites/<site_id>/sqlconf.php</code> file for each site
:::*Copy variables from the old sqlconf.php to the new one
:::*Copy variables from the old <code>sqlconf.php</code> to the new one
:::*Set the $config variable to $config=1;
:::*Set the <code>$config</code> variable to <code>$config=1;</code>
::*Open admin.php in web browser (<nowiki>http://<server_name>/openemr/admin.php</nowiki>)
::*Open <code>admin.php</code> in a web browser (<nowiki>http://<server_name>/openemr/admin.php</nowiki>), note see above for <code>admin.php</code> security
:::*If displayed, click 'Upgrade Database' for each site (and follow instructions)
:::*If displayed, select 'Upgrade Database' for each site (and follow instructions)
::*Update the ACL access controls for each site:
::*Update the ACL access controls for each site:
:::*<nowiki>http://<server_name>/openemr/acl_upgrade.php?site=<site_id></nowiki>
:::*<nowiki>http://<server_name>/openemr/acl_upgrade.php?site=<site_id></nowiki>


==Patches==
==Patches==
:*If only installing the patch for the 'default' site, then just need to follow the [[OpenEMR_Patches| standard OpenEMR patch installation instructions]] for your operating system.  
:*If only installing the patch for the 'default' site, then just follow the [[OpenEMR_Patches| standard OpenEMR patch installation instructions]] for your operating system.  
:*If also upgrading other sites, then need to also do the following:
:*If also upgrading other sites, then in addition to above, also do the following:
::*Open admin.php in web browser (<nowiki>http://<server_name>/openemr/admin.php</nowiki>)
::*Open admin.php in a web browser (<nowiki>http://<server_name>/openemr/admin.php</nowiki>)
:::*If displayed, click 'Patch Database' for each site
:::*If displayed, select 'Patch Database' for each site
::::* Note this feature will be added to the next 4.1.0 patch release (this comment date is 10/23/11) (The current work around before the patch is to do the following for each site: <nowiki>http://<server_name>/openemr/sql_patch.php?site=<site_id></nowiki> )


==Backup/Restore==
==Backup/Restore==
Line 39: Line 44:




[[Category:User Guide 4.1.0]][[Category:User Guide]][[Category:Configuration Guide]]
[[Category:User Guide 4.2.0]][[Category:User Guide 4.1.2]][[Category:User Guide 4.1.1]][[Category:User Guide 4.1.0]][[Category:User Guide]][[Category:Configuration Guide]][[Category:Installation]][[Category:Upgrade]][[Category:Patch]][[Category:Backup]]

Latest revision as of 16:25, 29 November 2024

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 the setup.php script completely when you are done building your multisites):
  • Set the $allow_multisite_setup to true
  • Set $allow_cloning_setup to true if you intend to clone a site)
  • To avoid permission checking across your new site files and folders which could take lots of time, you can set $checkPermissions in setup.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)

Upgrading

  • 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;
  • Open admin.php in a web browser (http://<server_name>/openemr/admin.php), note see above for admin.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

  • 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.