# Devops

# EMR Deployment



# Point of Care EMR deployment

This describes the processes in which the Point of Care

# Deployment using Clonezilla

Installing Clonezilla On Server

Purpose

This document is a guide for how to install Clonezilla on Server Audience This document is applicable for Baobab Health Trust staff (Operations Department)

The process described below assumes that the server to carry clonezilla has access to the Internet during the whole of the process.

Installing Clonezilla On Server

The process described below assumes that the server to carry clonezilla has access to the Internet during the whole of the process.

It also assumes the server is on the IP Address of 192.168.5.200. If what is described in this document, then please do make changes to suit your system configuration. I am also using nano as my text editor, but you can use any text editor e.g. vim, vi ...

1. Install TFTP server This is the application/server that enables the J2s or any other computer to be able to boot from the server. 
    - Option A 
        - sudo apt-get install tftpd-hpa sudo start tftpd-hpa Ensure /var/lib/tftpboot exists. If it does not: mkdir -p /var/lib/tftpboot Ensure that the values in /etc/defaults/tftpd-hpa match. Option B sudo apt-get install atftpd atftp sudo start atftp NOTE: if you are using the latest ubuntu/ubuntu server you should have the file /etc/default/tftpd-hpa, looking like this: else, Ensure that the values in /etc/default/tftpd.conf match. Make sure that that the line which says “use daemon is changed fro “no” to “yes” and make

# Deployment using a server image

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW63385404 BCX8">Step By Step Guide</span><span class="NormalTextRun SCXW63385404 BCX8"> on Deployment of New Server Image</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335551550":2,"335551620":2,"335559685":5,"335559731":0,"335559737":717,"335559739":0,"335559740":259,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1">Backing up databases</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"201341983":0,"335551550":1,"335551620":1,"335559685":370,"335559737":0,"335559738":240,"335559739":0,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 2">Backup Procedure</span><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 2"> </span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559685":370,"335559738":40,"335559739":0,"335559740":230,"335559991":370}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-backup-all-databases"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">1. <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Backup All Databases on the Old Server</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335559738":240,"335559739":240,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8"> </span></span> <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Execute the provided script to back up all necessary databases.</span><span class="NormalTextRun SCXW63385404 BCX8"> </span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335559685":710,"335559738":240,"335559739":240,"335559740":230,"335559991":370}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-synchronize-couchdb%C2%A0"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">2. <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Synchronize </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">couchdb</span><span class="NormalTextRun SCXW63385404 BCX8"> </span><span class="NormalTextRun SCXW63385404 BCX8"> Database</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335559738":240,"335559739":240,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">For </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">nlims\_db</span><span class="NormalTextRun SCXW63385404 BCX8">, </span><span class="NormalTextRun SCXW63385404 BCX8">sync</span><span class="NormalTextRun SCXW63385404 BCX8"> it to your local machine.</span><span class="NormalTextRun SCXW63385404 BCX8"> </span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335559685":710,"335559738":240,"335559739":240,"335559740":230,"335559991":0}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-blis-drivers%C2%A0"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">3. <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Blis</span><span class="NormalTextRun SCXW63385404 BCX8"> Drivers</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Copy </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">iBlis</span><span class="NormalTextRun SCXW63385404 BCX8"> Drivers that are found in the Server</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":710,"335559739":27,"335559740":230,"335559991":0}"> </span>

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">PM2 Show</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":710,"335559739":27,"335559740":230,"335559991":0}"> </span>

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">PM2 List</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":710,"335559739":27,"335559740":230,"335559991":0}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-backup-all-iblis-dri"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">4. <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Backup all </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">iblis</span> <span class="NormalTextRun SCXW63385404 BCX8">drivers</span> <span class="NormalTextRun SCXW63385404 BCX8">available on the server</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559731":0,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">-----------------------------------------------------</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8" data-ccp-parastyle="heading 1">Recloning</span><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1">/restoring image</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"134245418":true,"134245529":true,"201341983":0,"335551550":1,"335551620":1,"335559685":370,"335559737":0,"335559738":240,"335559739":0,"335559740":230,"335559991":370}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-reclone-server-with-"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Reclone</span><span class="NormalTextRun SCXW63385404 BCX8"> server with new image</span><span class="NormalTextRun SCXW63385404 BCX8"> using your </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">clonezilla</span><span class="NormalTextRun SCXW63385404 BCX8"> bootable device. Refer to the document on setting up </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">clonezilla</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div></div><span class="TextRun Highlight SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">NB: Make sure you have a copy of any old image to </span><span class="NormalTextRun SCXW63385404 BCX8">revert</span><span class="NormalTextRun SCXW63385404 BCX8"> to</span><span class="NormalTextRun SCXW63385404 BCX8"> in case the new image fails</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559731":0,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-test-the-server%2C-tes"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Test the server</span><span class="NormalTextRun SCXW63385404 BCX8">, test all applications and services</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559731":0,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">-----------------------------------------------------</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1">Restoration</span><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1"> of New image</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559685":370,"335559738":240,"335559739":0,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-change-server-name-t"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">1. <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Change Server Name to Site Name</span><span class="NormalTextRun SCXW63385404 BCX8"> in </span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">etc</span><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SCXW63385404 BCX8">hostname</span><span class="NormalTextRun SCXW63385404 BCX8"> .</span><span class="NormalTextRun SCXW63385404 BCX8"> </span> </span><span class="TextRun SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">This </span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">s</span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">ets the system's hostname and </span><span class="NormalTextRun SCXW63385404 BCX8">contains</span><span class="NormalTextRun SCXW63385404 BCX8"> only the hostname of the machine.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="SCXW63385404 BCX8"><span class="WACImageContainer NoPadding BlobObject SCXW63385404 BCX8" role="presentation">![](https://bookstack.hismalawi.org/uploads/images/gallery/2025-11/embedded-image-mutopyot.png)</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":0,"335559739":27,"335559740":230,"335559991":0}"> </span>

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">2.</span></span> <span class="TextRun SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Add site name in</span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"> <span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">etc</span><span class="NormalTextRun SCXW63385404 BCX8">/hosts</span><span class="NormalTextRun SCXW63385404 BCX8">. </span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">This file </span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">i</span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">s used for hostname-to-IP address mapping and helps </span><span class="NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW63385404 BCX8">in</span><span class="NormalTextRun SCXW63385404 BCX8"> local name resolution.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="SCXW63385404 BCX8"><span class="WACImageContainer NoPadding BlobObject SCXW63385404 BCX8" role="presentation">![](https://bookstack.hismalawi.org/uploads/images/gallery/2025-11/embedded-image-6xkacuyb.png)</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335551550":1,"335551620":1,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">3.</span></span> <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Change IP Address to </span><span class="NormalTextRun SCXW63385404 BCX8">Facility’s IP address in </span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">etc</span><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">netplan</span><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SCXW63385404 BCX8">. </span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">See example below</span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="auto" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">:</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":0}"> </span>

<span class="SCXW63385404 BCX8"><span class="WACImageContainer NoPadding BlobObject SCXW63385404 BCX8" role="presentation">![](https://bookstack.hismalawi.org/uploads/images/gallery/2025-11/embedded-image-7iz36eze.png)</span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW63385404 BCX8">Apply changes by running </span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">netplan</span> <span class="NormalTextRun SCXW63385404 BCX8">apply</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":0,"335559739":27,"335559740":230,"335559991":0}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1">Restore</span><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1"> all databases</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559685":0,"335559738":240,"335559739":0,"335559740":230,"335559991":0}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-nlims_db-sync-to-ser"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Nlims\_db</span><span class="NormalTextRun SCXW63385404 BCX8"> sync to server from local machine</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Restore configurations</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Restore D</span><span class="NormalTextRun SCXW63385404 BCX8">atabases</span><span class="NormalTextRun SCXW63385404 BCX8"> (Use </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">tmux</span> <span class="NormalTextRun SCXW63385404 BCX8">to manage your sessions and it will also allow you to remotely </span><span class="NormalTextRun SCXW63385404 BCX8">monitor</span><span class="NormalTextRun SCXW63385404 BCX8">)</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div></div><div class="SCXW63385404 BCX8" id="bkmrk-before-you-restore-y"><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW63385404 BCX8">Before you restore your databases, make sure you make changes to </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">mysql</span><span class="NormalTextRun SCXW63385404 BCX8"> configuration in </span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SCXW63385404 BCX8">etc</span><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">mysql</span><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">mysql</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">.conf.d</span><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">mysqld.cnf</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW63385404 BCX8">Set “</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">innodb\_strict\_mode</span><span class="NormalTextRun SCXW63385404 BCX8"> = 0”</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="SCXW63385404 BCX8"><span class="WACImageContainer NoPadding BlobObject SCXW63385404 BCX8" role="presentation">![](https://bookstack.hismalawi.org/uploads/images/gallery/2025-11/embedded-image-nybjwziv.png)</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SCXW63385404 BCX8">NB:</span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"> <span class="NormalTextRun SCXW63385404 BCX8">Skipping the step above may result in </span><span class="NormalTextRun SCXW63385404 BCX8">encountering</span><span class="NormalTextRun SCXW63385404 BCX8"> the error below:</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun Highlight SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">ERROR 1118 (42000) at line 3483: Row size too large (&gt; 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-load-metadata-in-the"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Load metadata in the fresh database before restoring the new data</span><span class="NormalTextRun SCXW63385404 BCX8">base</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Run </span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">./bin/update\_art\_metadata.sh production</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1">Testing</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559685":370,"335559738":240,"335559739":0,"335559740":230,"335559991":370}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-ensure-all-applicati"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Ensure all applications are functioning properly.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Verify that all syncing </span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">cron</span><span class="NormalTextRun SCXW63385404 BCX8"> jobs are </span><span class="NormalTextRun SCXW63385404 BCX8">operating</span><span class="NormalTextRun SCXW63385404 BCX8"> correctly.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335559738":240,"335559739":240,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Confirm remote accessibility via VPN.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134233117":false,"134233118":false,"201341983":0,"335559738":240,"335559739":240,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Test all EBNs and J2s to ensure they are working properly and </span><span class="NormalTextRun SCXW63385404 BCX8">can</span> <span class="NormalTextRun SCXW63385404 BCX8">pull the application</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":360,"335559731":0,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8" data-ccp-parastyle="heading 1">Things to Note</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"134245418":true,"134245529":true,"201341983":0,"335559685":0,"335559738":240,"335559739":0,"335559740":230,"335559991":0}"> </span>

<div class="SCXW63385404 BCX8" id="bkmrk-most-apps-running-us"><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Most apps running using services</span><span class="NormalTextRun SCXW63385404 BCX8"> and the service files </span><span class="NormalTextRun SCXW63385404 BCX8">are in</span><span class="NormalTextRun SCXW63385404 BCX8"> /</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">etc</span><span class="NormalTextRun SCXW63385404 BCX8">/</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">systemd</span><span class="NormalTextRun SCXW63385404 BCX8">/system</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Emr-</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">api</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">.service</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Nlims</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">-controller.service</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div></div><div class="SCXW63385404 BCX8" id="bkmrk-nlims-data-syncroniz"><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Nlims</span><span class="NormalTextRun SCXW63385404 BCX8">-data-</span><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">syncronizer.service</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Mlab-api.service</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-GB" xml:lang="EN-GB"><span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">Lims-websocket</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">BHT-EMR-AP</span><span class="NormalTextRun SCXW63385404 BCX8">I </span></span><span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">in /var/www directory has been </span><span class="NormalTextRun SCXW63385404 BCX8">changed to just </span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">EMR-API.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Database for EMR-API </span><span class="NormalTextRun SCXW63385404 BCX8">is </span><span class="NormalTextRun SCXW63385404 BCX8">running </span><span class="NormalTextRun SCXW63385404 BCX8">in</span><span class="NormalTextRun SCXW63385404 BCX8"> Production mode.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">This means that you need to specify production mode when running initialization script, migration/metadata scripts</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="ListContainerWrapper SCXW63385404 BCX8">- <span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">Old Iblis DB</span><span class="NormalTextRun SCXW63385404 BCX8"> still uses</span> <span class="NormalTextRun SpellingErrorV2Themed SCXW63385404 BCX8">mysql</span><span class="NormalTextRun SCXW63385404 BCX8"> 5.6 is </span><span class="NormalTextRun SCXW63385404 BCX8">running on </span><span class="NormalTextRun SCXW63385404 BCX8">docker</span><span class="NormalTextRun SCXW63385404 BCX8"> and can be accesses on port </span></span><span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">3307</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559739":27,"335559740":230}"> </span>

</div><div class="OutlineElement Ltr SCXW63385404 BCX8">  
</div></div><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559731":0,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8"> </span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":720,"335559731":0,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">If other </span><span class="NormalTextRun SCXW63385404 BCX8">implementing </span><span class="NormalTextRun SCXW63385404 BCX8">partners are using the </span><span class="NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW63385404 BCX8">server</span><span class="NormalTextRun SCXW63385404 BCX8"> make sure you contact them</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="TextRun MacChromeBold SCXW63385404 BCX8" data-contrast="none" lang="EN-US" xml:lang="EN-US"><span class="NormalTextRun SCXW63385404 BCX8">for</span><span class="NormalTextRun SCXW63385404 BCX8"> them to do their backups.</span></span><span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":370,"335559739":27,"335559740":230,"335559991":370}"> </span>

<span class="EOP SCXW63385404 BCX8" data-ccp-props="{"201341983":0,"335559685":0,"335559731":0,"335559739":27,"335559740":230,"335559991":370}"></span>