The web hosting environment

joomla support cheshire manchester merseyside north west uk

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.

We recommend you read this article in conjunction with our related articles:

 

What does a Joomla! website need to be able to sing and dance?

All websites require at least three things:

  • a web server,
  • a server operating system and
  • a server application.

Dynamic database driven websites like Joomla! also need:

  • a specific web server configuration

which includes:

  • 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 the Joomla! CMS.

But this results in not being able to see the wood for the trees. 1

If you really want to improve website performance you should also consider the hosting environment.

1 Meaning: If you can't see the wood for the trees, you can't see the whole situation clearly because you're looking too closely at small details, or because you're too closely involved.

Use a Web Application Firewall

Whatever hosting environment you choose for your Joomla! website, install a Web Application Firewall or WAF.

Joomla! Technical Requirements

You may see which versions of PHP and MySQL are currently recommended by the Joomla! Project at the link below.

Make Joomla! CMS Security YOUR #1 Priority

joomla support cheshire manchester merseyside north west uk

We coach, help and support managers with responsiblity for Joomla! websites in organisations across Cheshire, Manchester, Merseyside, North West England & the UK.

WYNCHCO PRO Joomla! CMS Support for Joomlers.

 


About PHP

What is it?

A general purpose scripting language.

"PHP is a server-side scripting language designed primarily for web development but also used as a general-purpose programming language. PHP originally stood for Personal Home Page, but it now stands for the recursive acronym PHP: Hypertext Preprocessor". Source: Wikipedia.

PHP powers your website.

Read more: Wikipedia.

 

PHP versions

"Each release branch of PHP is fully supported for two years from its initial stable release. During this period, bugs and security issues that have been reported are fixed and are released in regular point releases.

After this two year period of active support, each branch is then supported for an additional year for critical security issues only."

There are a number of versions in common use but only the more recent versions are supported by developers.

Check whether latest PHP release is a Security Fix

It is not immediately obvious whether or not the latest release of PHP is a Security Fix when you read the Change Log for any given release of PHP.

It is however possible to quickly check whether the release is a BUG FIX or a SECURITY FIX when you visit the Release Announcement page for any one release.

PHP Modules

One factor to consider when upgrading PHP is that the PHP Module Sets change slightly from one version to another.

Some 3rd party Joomla! extensions require specific PHP Modules to be installed for them to work.

If after changing to a later version of PHP you see a warning next time you visit your website, check your server's PHP settings.

PHP settings can usually be adjusted in your Hosting Control Panel.

For example, cPanel includes PHP Switcher which enables you to tweak the Module Set for any one version of PHP.

It may however be necessary to contact your hosting company's Technical Support.

 


About MySQL

What is it?

A database management system.

"MySQL is an open-source relational database management system. Its name is a combination of 'My', the name of co-founder Michael Widenius' daughter, and 'SQL', the abbreviation for Structured Query Language." Source: Wkipedia.

MySQL powers your website's database.

Read more: Wikipedia.

 

MySQL versions

The Joomla! Project recommend using the latest available release of MySQL.

We recommend hosting the latest release of Joomla! on a server using MySQL 5.6 (or later).

But there are currently three versions in common use.

 


MySQL Derivatives

There are many derivatives of MySQL.

Two popular ones are MariaDB and Percona.

 

MariaDB

MariaDB is an alternative database management system (or DBMS) which began life as a fork from the MySQL project.

MariaDB is significant because it is driven by the original designers of MySQL.

The guys forked away from MySQL in 2009 and founded the MariaDB Foundation because of worries over the future development of MySQL following its purchase by Oracle.

You can discover more about the history of MariaDB at the following link.

Read more: 10 reasons to use MariaDB.

Why consider MariaDB instead of MySQL for Joomla?

An interesting question considered by a fellow Joomler who reports in his blog post (see link below) that he observed a 5% improvment in database query speed when he installed his Joomla! website on a server running MariaDB.

For our own part, we discovered MariaDB by chance when migrating a customer website from one server to another.

The website performs much better in its new home and this may in part be a function of the new server environment using MariaDB.

Read more: Why I moved my Joomla! website to MariaDB.

MariaDB Versions

The Joomla! Project does not officially recommend using MariaDB on its Technical Requirements page.

But Joomla! performs very well on servers running MariaDB.

There are currently several versions in use.

Visit the following link to see if your website is using the latest available release.

Read more: MariaDB Release Notes.

 

Percona

Percona is another MySQL derivative.

Read more: All you need to know about the MariaDB & Percona forks of MySQL.