Open EMR Deployment
Below is a detailed guide to installing OpenEMR Leveraging Azure Web Apps + Database. This walkthrough will guide you in:
- Creating the Web App + Database
- Downloading the OpenEMR Source Code
- Deploying the Source to your Azure Web App
- Running the database installScript from a command prompt
- Video Demonstration - https://youtu.be/rhRzC28nI7g
Not an Azure customer yet? Click here to sign up and get $200 in free Azure credit.
- Browse to the Azure Portal and select “Create a Resource”
- Search for and select “Web App + Database
”
- Click “Create”
- Complete the form (UPDATE- we are now using PHP 8.2 and OpenEMR 7.0.2) and click “Review and Create”
- Review Settings - be sure to capture username / password for your database for later use, and then click “Create”
- Wait for deployment to complete and click “Go to resource”
- Download openemr-7.0.2.zip from here: OpenEMR 7.0.2 Windows Installation
- Extract and open the extracted folder within Visual Studio Code
- Ensure that the Azure App Service Extension is installed in Visual Studio Code
- In the Azure Portal, browse to the resource group that was chosen as part of your deployment and find the “Azure Database for MySQL flexible server” resource
- *UPDATE* - Select the "Server parameters" blade, choose "All" and search for "sql_generate_invisible_primary_key". Set its value to "OFF". Click the Save button.
- Select the “Networking” blade under the “Settings” section, and click “Download SSL Certificate”
- Open Visual Studio Code and copy the downloaded certificate into the “/sites/default/documents/certificates” folder and rename it to “mysql-ca” with no file extension
- Within Visual Studio Code, navigate to “/contrib/util/installScripts/InstallerAuto.php “ and comment out the “exit;” statement on line 78, then save the file
- Select the Azure icon in Visual Studio Code. You may need to sign-in at this stage. Once you’ve signed in, expand the Azure Subscription and App Services and look for the App Service you created in Step 5.
- Right click on the desired App Service, and click “Deploy to Web App”
- Select the source folder you wish to deploy. By default this will be the current folder open in Visual Studio Code
- Click “Deploy”
- Open the output window to view the progress. This may take some time
- Upon successful completion, browse back to the selected Resource Group, and select your App Service
- Select “SSH” Under “Development Tools”, and click “Go ->”
- Navigate to the installScripts folder using the command “cd site/wwwroot/contrib/util/installScripts"
- Execute the command “php -f InstallerAuto.php server=<server-name> loginhost=% root=<username> rootpass=<password> login=<openemr-db-user> pass=<openemr-db-pass>” using the username noted in step 5 for “root” and password noted in step 5 for "rootpass" and a username and password of your choosing for “openemr-db-user “openemr-db-pass”. You may optionally include any of the parameters located on lines 84-102 of “installerAuto.php” if you wish to change any settings from their defaults. For a production installation, it is recommended to change any username and password settings from their default value.
You can obtain the server name by browsing to your resource group and clicking the Azure Database for MySQL flexible server resource and copying the “Server name” property - Execute the above command, it will take some time to complete.
Once this command completes and returns to the command prompt, you may close the SSH browser tab to return back to your Azure Web App
- Select the “Overview” blade and click the “URL” to browse to your site.
- If your install was successful, you will see the OpenEMR Login Screen. By default, the username is “admin” and password is “pass” unless these were changed when running the install command from step 23.
- Congratulations! You have successfully installed OpenEMR on Azure!
Walkthrough Video Demonstration
Updated Jan 23, 2024
Version 9.0DavidMGinn
Microsoft
Joined October 13, 2022
Healthcare and Life Sciences Blog
Follow this blog board to get notified when there's new activity