Which Linux Distribution for a SCADA Ignition Server?

Hi there,

Which Linux Distribution do you recommend to run a SCADA server with Ignition project?


For a long time, IA tested only with Ubuntu Server LTS. I don’t know if that is still the case, or what versions, but I use that with my clients and all of my VMs. 18.04 and 20.04 lately.

1 Like

Disclaimer.I am noob regarding Linux.
Anyway started with Ubuntu 18LTS. Easy installation, but later I got multiple problems. Have a kiddo who likes the stuff and pointed me to Arch. Little harder to install but since very few issues to maintain them. No production server so far, but when time will come I will go with Arch.

I would not recommend using Arch as a production server or client. Arch is a bleeding edge distro by design. I would recommend using ubuntu, especially since that is what IA tests with. If you want something “more stable”. RHEL is now offering free licenses for small organizations. I personally haven’t used one of this free license yet so I don’t know what is required to get it set up, nor can I say that Ignition will even run on RHEL. I do have the server running flawlessly on multiple Ubuntu install though.


Somewhat anecdotal, but based on my own experience.

Several users (including myself) are using Debian. IMO, it’s a touch more stable than Ubuntu, as there are very few available updates in the ‘stable’ branch.

Ubuntu, however, is forked from the Debian testing branch, which usually means latest versions of programs and quite stable in its own right. They also try to make it a more user-friendly experience.

My takeaway from it is that Ubuntu is a great choice if you’re starting out with Linux. Community support is good, and tutorials are abundant. Debian is good once you’ve seasoned yourself a bit.

Again, my opinion and $1.50 will buy you a coffee. :wink:

1 Like

Personally I would definitely choose Ubuntu or Debian as mentioned. Now if only I could convince my coworkers and management to embrace Linux…

My primary argument for Ubuntu over Debian is that my clients can pay Canonical (Ubuntu’s publisher) for commercial support, with or without a support contract. I have actually used the on-demand support option. (It was $75/hr back then, 1-hour minimum. Don’t know what current fees are.)

1 Like

Thanks a lot for the replies and arguments @JordanCClark, @pturmel, @bkarabinchak.psi, @allnet, @jd1.

In regards to the database architecture, do you install in the same Server as your Ignition SCADA project server or in another Linux server/VM ?

I have a mix, as that was what got spec’d for me :roll_eyes: , but it’s generally better to separate them.

Separate is the best recommendation.

I avoid VM unless it’s someone else’s job to manage that part. Not that I can’t do it, but there’s other things I’d rather be at.

I think Kevin Herron’s quote on the matter is “proper (dedicated) hardware for proper projects”

1 Like

I don’t install databases on the same system as an Ignition gateway. I do use VMs, if I can set them up properly (not overcommitted, most importantly) in Linux. Separating a DB memory hog from a java memory hog, each with its own disk cache and CPU cores, is crucial.


Been using RHEL as a headless server with Ignition without issue. You’d need some Linux experience to set it up.

My advice has always been in the absence of a distro you (or whoever will be left maintaining this) are better prepared to administrate you should just use the current LTS Ubuntu or Ubuntu Server.

1 Like

So two separate machines for redundant Ignition and two more separate machines for redundant database? Or is there a more complicated infrastructure already in place?

Yes, or two separate physical hypervisors with a complete stack of VMs on each.

1 Like

I use 20.04 Ubuntu for ignition


Windows Server 2016 for MySql DB, IDP, and Kepware

No problems. I like having the DB on the Windows server too.

Thanks @wking
I am curious to understand your reasons for having the DBs in a Windows Server instead?


SELECT col_name
      FROM tbl_name AS a
      WHERE a.col_name = 1
      OR A.col_name = 2;

This statement would work on Windows but not Linux.

We also have some. In-house-built HMIs that runs on .NET clients. They have an easier time with a windows MySql server. Can’t say why. Also, I think for me, windows has been easier to tune the MySQL db using windows and all the GUIs that come with and so on. Plus I had to have a windows machine somewhere to run Kepware. YMMV

1 Like

upper/lower-case matters.