The web hosting environment is rapidly changing.
What was leading edge two years ago is now prehistoric!
It is necessary to have a little understanding of how the various components required by a Joomla! CMS website fit together to appreciate recent technological improvements in the hosting environment.
We hope this article will help you make better decisions when choosing a hosting company for your Joomla! website.
What does a Joomla! website need?
All websites require at least four things:
- a hard drive,
- a web server,
- a server operating system and
- a server application.
Dynamic database driven websites like Joomla! also need:
- a specific web server configuration
- a database management system (or DBMS), and
- a server side scripting language.
When seeking to improve website performance and security it is easy to focus all your attention on your Joomla! CMS.
But ultimately, overall performance is limited by the core performance of the server hosting your Joomla! CMS website.
An SSD (or Solid State) drive offers vastly improved performance when compared to a traditional spinning disk HDD drive.
And an NVMe (or Non-volatile Memory Express) SSD drive offers significant performance improvements over a traditional SSD drive.
Web pages are served by web servers.
The term Web Server can be used to mean either:
- the web server (i.e. a physical or virtual box) that is used to host web server applications, or
- the web server applications themselves, in particular the operating system (see below).
The web server operating system sits underneath all the other software applications running on a web server.
It receives requests from that software and relays those requests to the web server’s hardware.
Two major web server operating systems are: Windows and Linux/Unix.
Linux is the most-used open source web server operating system in the world and provides the platform for a wide range of web server applications.
The Joomla! CMS will run on both the Windows and Linux/Unix operating systems.
A web server application enables a computer to host one or more websites that can be accessed over the Internet using a Web browser. Source: TechTerms.com.
Whilst there are many web server applications in use across the world, market share is dominated by just a few players.
In November 2023 the following web server applications constituted the biggest share of the global web hosting market.
These web server applications can be split into two main groups, depending upon which operating system they use.
We have hosted Joomla! CMS websites on servers running various applications in recent years.
What have we learned?
LiteSpeed server performance has impressed us.
We have not enjoyed hosting the Joomla! CMS in an Nginx environment.
We would not consider hosting a Joomla! CMS on an Nginx server unless the hosting provider were to:
- permit custom Nginx configuration, and
- guarantee that Nginx can load a customised NGINX CONF file
as configured by the Nginx Configuration Maker tool included with Akeeba Admin Tools (web application firewall).
Two widely-used Linux based web server configurations are LAMP and LEMP.
The LAMP Stack
- Linux operating system,
- Apache web server application,
- MySQL database management system, and
- PHP/Perl/Python server-side scripting language.
The LEMP stack
The LEMP stack is the same as the LAMP stack with one exception.
It uses the Nginx web server application in place of Apache.
Typical Litespeed Configuration
- LiteSpeed web server application,
- MySQL 8.0 or later or MariaDB 10.6 or later,
- PHP 8.1 or later.
Hosting providers which offer LiteSpeed claim that it offers improvements in server performance, stability and security.
MySQL is the most common database management system or DBMS provided with Linux based server configurations.
But derivatives of MySQL are becoming increasingly popular.
One example is MariaDB.
MySQL derivatives reportedly offer improved performance and reliability when compared with MySQL.
We can confirm that Joomla! performs well when the MariaDB derivative is used.
PHP, Perl and Python are scripting languages provided with Linuxbased server configurations.
PHP is the scripting language used by the Joomla! CMS.
Care is required when choosing versions.
Use a Web Application Firewall
Unless you administer the server which hosts your website, you will not be in control of which version and release of PHP and MySQL is used by the server hosting your website.
And whilst you can shop around for a hosting company which offers the latest available version and release of each, you cannot guarantee they will continue to do so.
There will be times when your hosting provider falls further behind the development curve than other providers.
A WAF acts as a kind of insurance policy.
Its very presence may just make the difference when a 0-Day Hack like the one which afflicted the Joomla! CMS in December 2015 is in the wild.
Joomla! Technical Requirements
You can see which versions of PHP, MySQL and other server applications are recommended for use by the Joomla! Project at the following link.
Personal Joomla! CMS Help & Support
We coach, help and support managers with responsibility for Joomla! websites in organisations across Cheshire, Manchester, Merseyside, North West England & the UK.