25.01. mSupply client / server installation part 1

mSupply Server can be installed on a range of Windows OS hardware platforms. Installations of the mSupply Server and client software on these different platforms will not be identical. This page includes instructions for installing the mSupply Server and client software on a typical Windows 10 Pro platform. This will include many hardware configuration issues as these have been known to be important for mSupply Server operation and troubleshooting.

Recommended hardware

4D is the database underlying mSupply software. 4D has recommendations for hardware.

Based on decades of experience with mSupply in demanding field environments, the single biggest cause of problems around mSupply usage is power failures. Even if the system was working perfectly during the initial install, UPS batteries fail, and then the ICT equipment is no longer protected from power failure. Losing access to mSupply during power cuts is bad enough. But the real danger is ungraceful shutdown of the mSupply server resulting in corruption of the mSupply data file as well as other software and hardware. It is often possible to fully restore a corrupted mSupply database, but not always. In a synced system it can be almost impossible to fix all discrepancies between servers caused by such a data corruption. The key to a reliable mSupply ICT installation is mSupply servers that are resilient to power cuts. The solution: Laptop computers. Laptop batteries have a much longer life than typical UPS batteries Laptops are inherently better at shutting down gracefully when the laptop batteries have drained In certain environments, it may be important to make sure that the laptop server is secured with a locking cable.

The following table lists our current minimum recommended hardware for a locally installed mSupply server. mSupply satellite servers in a synced system do not require the same level of data redundancy (RAID array, etc.) as the central server.

Item	Recommendation
OS	64-bit Windows 2016 /2019 or Win 10 Pro with latest service packs
Processor	For server Quad core minimum is recommended. Consider adding more cores for 15 users or more
Memory	ECC memory Minimum 8Gb +1Gb per user over 8 users
Hard disks	4 total: 3 Hard drives to run RAID 1 (or 5) Array + Hot Spare. 1 separate Hard disk for primary back up
Network card	Gigabit
RAID controller	RAID 1: Onboard RAID controller is fine
Power supply	Dual hot-swap power supply is best, single power supply acceptable with good power quality

Indicative pricing before local taxes: USD3,000 to USD5,000.

For a Terminal server, the general specification changes in that

More RAM is needed.

Hard disks are less important, as no data is stored on the server (unless you are using the same server for both hosting the mSupply server and hosting the terminal sessions).

An additional Gigabit Ethernet port could be useful

Pricing should be similar.

If you are running a server that is not in a datacentre with proper power protection: Beware of Solid State Drives (SSDs) without Power Loss Protection! At least one country using mSupply on servers in health facilities with SSDs installed has had the bitter experience of the SSDs failing after ungraceful shutdowns due to failing UPSes. The vast majority of ICT documentation on the internet is written from and for locations enjoying relatively stable power supplies. When the above-mentioned experience happened, there was precious little information available for facilities suffering from the sort of chronic power supply issues which the majority of mSupply users experience. Now there is more literature - refer here : Surviving SSD sudden power loss

Installation pre-checks

UPS (Interruptible power supply)

Unless you have extremely reliable power we strongly suggest you install a UPS with external batteries that will provide several hours run time, e.g.:

Eaton EDX1000HXL or

SOLTEC AHA-103HL.

The UPS must be able to communicate with the server (usually with a USB cable) to initiate a graceful shutdown in advance of UPS shutdown.

For the UPS to protect the server from power surges / spikes, the UPS needs to be connected to a power socket that is properly earthed.

More details on configuration of the UPS is contained below.

ICT capacity

Do you have sufficient in-house ICT capacity to do the rest of the server installation yourself?

This server hardware belongs to you (or maybe not… see tip below).

Sustainable Solutions is a software development company and our core business is not hardware

However, we know that if the server is not installed and configured correctly, the mSupply software and your medical supplies data is vulnerable. Therefore, in most instances, we end up playing a significant role in installing and configuring the mSupply Server.

Over recent years, with the development of reliable and relatively low-cost cloud based server solutions, more and more mSupply client / server installations have used a cloud based server. In many cases, Sustainable Solutions has provided this cloud based server as a separate service, thus relieving you of any responsibility for installation, configuration and management of the mSupply Server hardware.

Initial server hardware setup

Set up the physical hardware including

RAID 1 volume with Spare (3 disks total)

Separate backups volume

OS install with correct region, and keyboard

Administrator account called Sussol (mSupply server will operate from this account.

Miscellaneous server tweaks

There are a number of miscellaneous server tweaks that we recommend:

Hibernation / sleep

The pc can go to sleep after a few hours so change the power settings to never sleep etc. Even after setting the sleep setting to never you still must go into the advanced settings and change the hibernate setting to never: How to turn off Hibernation on Windows 10

Turn off Cortana

Cortana is unhelpful on mSupply servers. It is worth disabling - refer https://www.windowscentral.com/how-turn-cortana-and-stop-personal-data-gathering-windows-10

Set correct regional settings including keyboard, copy to 'New user accounts'

Microsoft keeps changing how these settings are accessed. You'll likely need to hunt around to find them

Be sure to set the correct regional settings, particularly if this is a cloud server which may be physically located in a different region to the country where the server will be used…

Go to Settings → Time & Language → Region & Language → Language

Click on Change date, time, or number formats

A Region window will open, set your preferences on Formats and Location tabs.

Even if you chose the correct keyboard (normally US) during setup, another keyboard (like the UK keyboard) can sometimes still be the default keyboard. Check this by trying to type the @ character… To fix this, you will need to: Add the correct language (e.g. English (Australia)). This will auto select US keyboard Move it up to the default position and delete the other language option(s).

Date format

In the regional settings in Control Panel, we recommend that the short date format is set to display only 2 digits for the year (YY, not YYYY).mSupply lists are set up to allow only enough space for 4 digits with most font sizes, but occasionally 4 digit years may be truncated. Having the wrong setting here will only affect display, not the actual data. It does not matter if you use DD/MM/YY or MM/DD/YY or YY/MM/DD

If the display of lists in mSupply overlaps the separator lines, turn off large font in the display control panel.

Copy to New user accounts

Click Change date, time or number formats

Click Administrative tab.

Click on Copy settings button. On the next window:

Check Welcome screen and new user accounts settings will open.

Check New user accounts check box.

Click OK button on same window

Click Apply button and then OK button on Region window.

Disable system protection

There have been instances where mSupply has crashed and the Windows OS executes a system restore to a state prior to the mSupply installation / upgrade. To avoid this, disable System Protection:

Go to File Explorer → Right click on This PC → Click on Properties

System Protection
Go to the System Protection tab > Click Configure > Click Delete > Click Continue to Delete > Select Disable System Protection > Click Apply to save the changes

Configure Delete and Disable the system Protection Continue to Delete
Apply changes

Remote connectivity efficiency - best performance

Remote access speed gain by disabling visual effects.

Go to System → Advanced System settings → Performance and choose Adjust for best performance.

Remote connectivity efficiency - remove background picture

Remote access speed gain by removing the background picture on the Windows 10 sign-in screen.

Go to Settings (keyboard shortcut: Windows + I) > Personalization > Lock screen.

Scroll down and turn off the option, Show Windows background picture on the sign-in screen.

Improve Windows Explorer file visibility

To carry out some of the server configuration tasks, file visibility in the Windows OS needs to be improved from the default.

Follow these instructions to View hidden files and folders in Windows 10

While doing this, make the following changes:

Always show menus

Display the full path in the title bar

Show hidden files, folders and drives

Don't hide empty drives

Don't hide extensions for known file types

Don't hide protected operating system files (Recommended)

Use check boxes to select items

Trouble Shooting

Turn off UAC (User Account Control)

If mSupply Client requires user permission every time to run then you may need to do the following to avoid the UAC popup:

User Account Control (UAC) can interfere with 4D - refer 4D Knowledgebase: Tech Tip: Windows UAC and the "Program Files" directory, so, we need to turn it off - refer https://social.technet.microsoft.com/wiki/contents/articles/13953.windows-server-2012-deactivating-uac.aspx

You have the option to turn off UAC via registry by changing the DWORD EnableLUA from 1 to 0 in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system

You may get a notification that a reboot is required. Reboot anyway.

After the reboot, UAC is disabled.

These steps need to be followed by the steps in 20.02 mSupply client/server installation part 2 and 20.03 mSupply client/server installation part 3

Previous: 25. Technical Administration | | Next: 25.02. mSupply client / server installation part 2