Developing

cool looking engineering graphic

Upgrading from Joomla 3 to Joomla 4 with Our Easy-to-Follow Guide!

Hey Joomla enthusiasts, can you believe it's been a while since Joomla 3 waved its final goodbye in August 2023? Time flies, doesn't it? Now, I know there might be a few of us (yes, I'm looking at you!) who've been putting off the big move to Joomla 4. Maybe you've been too busy, or perhaps it just seems like a daunting task. But worry not, my friends, because today is the day we tackle this together!

So, you've got a website happily running on Joomla 3, and it's time to give it a little makeover and jump on the Joomla 4 bandwagon. We've got your back, and we're here to guide you through the process step by step. Let’s turn this migration journey into a fun adventure rather than a tech nightmare, shall we?

1. The Pre-Migration Checkup

First things first, let’s make sure everything is in tip-top shape and ready for the upgrade. Check your server requirements, and ensure that your hosting is ready to embrace Joomla 4 with open arms. Remember, a healthy start is half the battle won!

Joomla 4 Web Server Requirements

Here are the sever requirements for a Joomla 4 website: 

  • Databases - Joomla supports the following databases: 
    • MySQL 8.0+
    • PostgreSQL 11.0+
  • Supported Web Servers - Joomla runs on the following web servers:  
    • Apache 2.4+
    • Nginx 1.13+
    • Microsoft IIS 10+
  • Recommended PHP Version
    • PHP 8.0+
  • Minimum PHP Version
    • PHP 7.2.5+
  • Recommended Web Browsers
    • Latest version of Google Chrome, Mozilla Firefox, Microsoft Edge, or Apple Safari
  • Additional Requirements 
    • PHP extensions: GD, JSON, XML, PDO, mbstring, fileinfo, filter, dom, openssl, tokenizer
    • cURL extension
    • Zip extension
  • Recommended Hardware Requirements
    • 1 GB of RAM
    • 100 MB of free disk space
  • Minimum Hardware Requirements
    • 512 MB of RAM
    • 50 MB of free disk space

It is important to note that these are just the minimum requirements for Joomla 4. For a better performance, it is recommended to use a server with more RAM and disk space, and a newer version of PHP.

Additional Joomla 4 Notes

  • Joomla 4 is not compatible with PHP 7.1 or earlier.
  • Joomla 4 requires a web server that supports HTTP/2.

2: Getting the Latest and Greatest of Joomla 3

Before we make the big leap, let’s ensure your Joomla 3 site is up to date. You know, out with the old and in with the newest of the old. Make sure you’re running the latest Joomla 3.x version to ensure a smoother transition.

Important! The last released version of Joomla 3.10.12 Bug Fix Release is your jumping off point to get your site ready for a Joomla 4 upgrade. So, you want to upgrade to that last version, before upgrading to Joomla 4. 

Upgrading Joomla 3.10

To download the latest version of Joomla 3, from within the Joomla admin panel, follow these steps:

  1. Log in to your Joomla admin panel.
  2. Click on Extensions.
  3. Click on Manage and then Updates.
  4. Click on the Check for Updates button.
  5. If the latest version of Joomla is available, it will be listed in the Available Updates section.
  6. Click on the Install button next to the latest version of Joomla.
  7. Follow the on-screen instructions to install the new version of Joomla.

Once the new version of Joomla is installed, you will need to clear your browser's cache and cookies before logging in again. This will ensure that you are seeing the latest version of the Joomla admin panel.

Please note: It is important to back up your Joomla website before installing any updates. This will help to protect your website in case something goes wrong during the update process.

3: Time for a Wardrobe Change – Update Extensions and Templates

Let’s make sure all your extensions and templates are ready to shine in Joomla 4. Check for updates, get in touch with developers if needed, and ensure everything is Joomla 4 ready. There are two ways to update Joomla extensions:

Using the Joomla Extension Manager

This is the recommended method for updating Joomla extensions, as it is the simplest and safest way to update your extensions.

To update Joomla extensions using the Extension Manager, follow these steps:

  1. Log in to your Joomla admin panel.
  2. Go to Extensions > Manage.
  3. Click on the Updates tab.
  4. In the Available Updates section, check the box next to the extensions that you want to update.
  5. Click on the Update button.
  6. Follow the on-screen instructions to update the extensions.

Manually updating Joomla extensions

You can also manually update Joomla extensions by downloading the latest version of the extension from the developer's website and then installing it on your Joomla website.

To manually update a Joomla extension, follow these steps:

  1. Download the latest version of the extension from the developer's website.
  2. Unzip the extension file. Upload the unzipped extension folder to the extensions folder on your Joomla website.
  3. Log in to your Joomla admin panel. Go to Extensions > Manage.
  4. Click on the Install tab.
  5. Click on the Browse button and select the extension folder that you uploaded in step 3.
  6. Click on the Upload & Install button.
  7. Follow the on-screen instructions to install the extension.

Important Joomla Upgrade Notes:

Other important things to consider, include the following: 

  • Backups - It is important to back up your Joomla website before updating any extensions. This will help to protect your website in case something goes wrong during the update process.
  • Components - If you are updating a Joomla component, you may need to disable the component before updating it. This is because some components may not be compatible with the latest version of Joomla.
  • Modules and Plugins - If you are updating a Joomla plugin or module, you may need to uninstall and reinstall the plugin or module after updating it. This is because some plugins and modules may not be compatible with the latest version of Joomla.
  • Staging Server/Testing Subdirectory - Good practice is not to upgrade a live website! Instead, take a backup and install that backup on another server or in a subdirectory used for testing purposes on your web sever. This way, if it doesn't go well - no harm, no foul.  After it does go well, you can then move the upgraded site back to the live web server or at least have a lot more confidence that you can now upgrade the current site and it should work.  

4: PHP – The Heart of the Operation

Upgrade your PHP version to at 8.0+ or later. It's like giving your website a new engine that’s ready to roar.

To update PHP to the latest version, you will need to access your web server's configuration files. This process will vary depending on your web hosting provider. We describe the manual process below as well as the process to use cPanel, a common site management admin platform.

Upgrading PHP Manually

To upgrade PHP manually, do the following:

  1. Check your current PHP version - You can do this by running the following command in your terminal: php -v (This will output the current version of PHP that is installed on your server)
  2. Download the latest version of PHP - You can download the latest version of PHP from the official PHP website.
  3. Extract the PHP archive - Once you have downloaded the PHP archive, extract it to a temporary directory on your server.
  4. Copy the PHP files to your server's PHP directory -  The PHP directory location will vary depending on your web hosting provider. However, it is typically located in the /usr/local/lib/php directory.
  5. Update your web server's configuration files - You will need to update your web server's configuration files to point to the new PHP installation. The specific steps involved in this process will vary depending on your web server software.
  6. Restart your web server - Once you have updated your web server's configuration files, you will need to restart your web server. This will ensure that the new PHP installation is loaded. Follow your web servers procedures for restarting. On an Apache 2 web server, this is typically done by executing the following terminal command:  # /etc/init.d/apache2 restart. OR. $ sudo /etc/init.d/apache2 restart

Upgrading PHP Using cPanel

Many web hosts offer cPanel to admin your web server. Upgrading PHP in cPanel is designed to be easier to do than manually upgrading PHP.

To upgrade PHP using cPanel, follow these steps:

  1. Log into your cPanel account.
  2. In the Software section, click Select PHP Version.
  3. From the Current PHP version drop-down menu, select the version of PHP that you want to upgrade to.
  4. Click Set as current.
  5. cPanel will start the upgrade process. Once the upgrade is complete, you will see a confirmation message.

Additional PHP Upgrading Notes

  • It is important to back up your website and database before updating PHP. This will help to protect your website in case something goes wrong during the update process.
  • If you are using a managed Joomla hosting provider, they will typically take care of updating PHP for you. However, you can always contact your support team to confirm.
  • If you are using a shared hosting provider, they may or may not offer support for updating PHP. If they do not offer support, you will need to follow the steps above to update PHP manually.
  • Once you have updated PHP to the latest version, you should check your website to make sure that everything is working properly. You can do this by browsing through your website and testing any forms or plugins that you use.

Troubleshooting PHP After Upgrading

After upgrading PHP, you may experience some issues with your Joomla website. Yes, it's been known to happen. 

Tip: We found that oftentimes renaming your .htaccess file to htaccess.txt and then renaming it back to .htacess can pick up the latest web server changes and everything will work fine. 

To troubleshoot any post PHP upgrade issues, here are things you can try: 

  1. Clear your Joomla website's cache and cookies. This will ensure that you are seeing the latest version of your website's files.
  2. Disable and re-enable any Joomla extensions that you are using. This can help to resolve any compatibility issues that may have arisen after the PHP upgrade.
  3. Check your Joomla website's error logs. The error logs can provide you with more information about any issues that you are experiencing with your website.
  4. Contact your Joomla hosting provider for support. If you are unable to resolve the issues on your own, you can contact your Joomla hosting provider for support.
  5. Make sure that your Joomla website's configuration file is compatible with the new version of PHP.
  6. Check the permissions on your Joomla website's files and folders. Make sure that the files and folders have the correct permissions for the web server to access them.
  7. Increase the PHP memory limit. You can do this by adding the following line to your Joomla website's configuration file: memory_limit = 128M
  8. Try disabling the PHP extensions that you are not using. You can do this by commenting out the following lines in your Joomla website's configuration file:
extension=php_gd2.so
extension=php_curl.so
extension=php_mbstring.so
extension=php_openssl.so

If you are still having problems, you can search for help on the Joomla website or contact the Joomla community for support.

5: The Pre-Update Checklist

Head over to the Joomla Update Component and give everything a once-over. Make sure all systems are go!

  1. Backup your website and database This is the most important step, as it will protect your website in case something goes wrong during the update process. You can back up your website and database using a variety of tools and methods, such as Akeeba Backup or the cPanel backup tool.
  2. Disable any non-essential extensions Some extensions may not be compatible with the latest version of Joomla, so it is best to disable any non-essential extensions before updating. You can do this by going to Extensions > Manage and clicking the Disable button next to each extension that you want to disable.
  3. Check your PHP version Joomla 4 requires PHP 8.0 or higher. If you are using an older version of PHP, you will need to upgrade before updating to Joomla 4. You can check your PHP version by going to System > System Information and looking at the PHP Version field.
  4. Check your server requirements Joomla 4 also has some specific server requirements. You can check the requirements on the Joomla website. If your server does not meet the requirements, you will need to upgrade your server before updating to Joomla 4.
  5. Create a staging site A staging site is a copy of your live website that you can use to test the update process before applying it to your live website. This is a good way to catch any potential problems before they affect your live website.

6. Let’s Hit the Upgrade Button!

Drum roll please. And now, the moment we've all been waiting for – upgrading to Joomla 4! 

To initiate the Joomla upgrade, do the following: 

  1. Update your Joomla core - Once you have completed all of the above steps, you can update your Joomla core. You can do this by going to Components > Joomla Update and clicking the Update button next to the latest version of Joomla. Watch the magic happen! 
  2. Re-enable your extensions Once the core update is complete, you can re-enable your extensions. You can do this by going to Extensions > Manage and clicking the Enable button next to each extension that you want to enable.

7. Test, Test, and Test Again!

Ensure that every nook and cranny of your website is working just as it should be. After a major Joomla upgrade, it is important to test your site thoroughly to make sure that everything is working properly.

Here are some tips:

  1. Test Core Functionality - This includes things like logging in, creating and editing content, and navigating through your site.
  2. Test Joomla Extensions - Make sure that all of your extensions are working properly and compatible with the new version of Joomla.
  3. Test Templates and Themes - Make sure that your site's templates and themes are displaying correctly and working properly.
  4. Test Performance - Make sure that your site is loading quickly and performing well.
  5. Test on Different Devices and Browsers - Make sure that your site looks good and functions properly on different devices and browsers.

Here are some specific things you should check:

  • Login and logout: Make sure that you can log in and out of your site without any problems.
  • Content creation and editing: Make sure that you can create and edit content without any problems.
  • Navigation: Make sure that you can navigate through your site without any problems.
  • Forms: Make sure that any forms on your site are working properly.
  • Performance: Make sure that your site is loading quickly and performing well.

If you find any problems during your testing, be sure to fix them before launching your site to the public. You can also use the Joomla community forum or contact a Joomla developer for help.

 8. Take a Backup and Bow!

Celebrate. You’ve Earned It! You’ve done it! Take a final backup, give yourself a pat on the back, and enjoy the new horizons Joomla 4 has opened up for you. Cheers to you and your newly upgraded Joomla adventure! 

Related Articles