Website Migration Guides

A simple free resource for website migration

How to move joomla 3.x to a new server / host

This guide will explain how you can move your joomla 3.X site to a new server. Each step has been re-created in detail so everyone should be able to follow this guide to move hosts no matter the technical experience.

Backup

The first thing you will want to do is backup your current site. Most hosts will have a feature to backup your site with a few clicks. However, just incase they don't, you can follow the below.

Backing up your files

To do this you will need a FTP client. Don't worry if you have not heard of FTP before (it's pretty easy to use). There are several FTP clients available but in this guide we will be using filezilla.

You can download FileZilla from https://filezilla-project.org

Once downloaded, ask your current host for the following.

1. Your FTP host
2. Your FTP username
3. Your FTP password
4. Your FTP port
5. Please note, some hosts require FTP to be unlocked. If so, ask them how to do this (usually this can be done via your host's control panel).

It is likely you have these details in a welcome e-mail but if not, your host will be able to help.

Open up fileZilla and enter your FTP details in the boxes at the top then click the "Quickconnect" button.

joonla-ftp-connect

Once connected, you should see your hosting files/folders on the right.

All hosting has a public folder (usually called public_html or htdocs). This is where all the files/folders of your joomla website will be located. Sometimes (depending on how your host is set up), it will automatically log you into the public folder. If you see a public_html or htdocs folder, double click to open this up.

joomla public_html

What you need to do now is locate your joomla install. If your joomla website loads when you type in your domain e.g. www.example.com then it is likely your joomla install is in the public folder directly. If you have to add a folder to your website address e.g. www.example.com/a-folder, it is likely joomla is installed in a folder called "a-folder".

What you need to find is the joomla files/folders. If you can see a file called "configuration.php" you are in the right location. You should also see other folders/files such as "administrator", "plugins" and "templates".

joomla configuration

Once you have located your joomla install, you need to copy all the files and folders to your computer.

To do this, first create a folder on your computer where you want to backup your website files to. To keep things easy to follow in this guide, we call the folder "old host" and create it on the desktop. Using the window on the left of FileZilla, locate and open your "old host" folder.

Old host

Next, select all the files/folders on the right side so you have all your joomla files/folders highlighted in blue.

joomla files

Right click on any of the blue highlighted folders / files and click 'download'.

Download joomla backup

You should now see all your joomla files/folders start downloading to the "old hosts" folder.

downloading joomla

Once complete, the transfer messages at the top will stop and you should hear a completion noise. This may take a while to complete depending on the size of your joomla site.

That's it, you have now backed up all your joomla files/folders ready to move to your new host.

Backing up your database

To backup your database, you will need to gain access to phpmyadmin. PhpmyAdmin is a database management control panel where you can export copies of your database to inport them onto your new host.

PhpMyadmin can usually be found in your hosting control panel (look for databases). If you are unable to find it, ask your host for help (we have yet to see a host that does not offer phpmyadmin access).

Once you have opened phpmyadmin, you may need to click your database from the left. The name of this database will vary and if you are unsure, you can check the configuration.php file you downloaded in the previous step (look for the line "public $db = 'NAME';" where NAME will be your database name).

Joomla Databae Name

You should now see a list of Joomla! database tables such as "_assets", "_associations" and "_banners". Don't worry if yours does not match the picture as you may also see a prefix in front of your tables e.g. XYZ_assets.

Click the 'Export' tab at the top.

export Joomla Database

Click the 'Go' button to download a copy of your database.

Export go

When prompted, save the file to your desktop (you can save it into your "old hosts" folder).

Top Tip : If your database is large, you may find it quicker to click the 'custom' radio button then from the output secion, select 'zipped' from the 'Compression' dropdown, then click 'go'. This will give you a zipped up version of your database which is usually quicker to restore from.

That's it, you have now backed up your website and database

Restore Your Joomla database on your new host

You should now have a backup of your joomla files/folders and databases. As such, you can move onto restoring these on the new host. The process is pretty much the same as the above but in reverse with a few small extra steps. Firstly, you will need to restore your database. To do this you will need to ask your host how to create a new database. Usually this can be done by yourself in the hosting control panel. Once created, make a note of the below and ask your host how to open it in PhpMyAdmin:

1. The host (usually an IP address e.g. '11.222.333.444' or 'localhost').
2. The database username.
3. The database name.
4. The database password.

Open phpmyadmin on your new host and open your database. Again, you may need to click on your database in PhpMyAdmin to open it.

Click your database

Next, click the 'Import' tab at the top.

Import Joomla Database

Click the 'Choose File' button and select the Joomla database that you made a backup of earlier in this guide.

php my admin restore

Then click the 'Go' button at the bottom.

phpmyadmin go

Once complete, you should see a green 'Import has been successfully finished' message.

Import has been successfully finished

That's it, you have now restored your database.

Edit your configuration.php file

Before uploading your joomla files, you will need to update your configuration.php file to reflect the new database details.

To do this, you will need to use a basic text editor. We suggest notepad++ which is free and can be downloaded from https://notepad-plus-plus.org.

In the backup from your old host, locate the file 'configuration.php' and open it.

Warning : Do not use a rich text editor such as Microsoft Word or it will damage the file and cause corruption.

Locate the line:

public $host = 'XXXXXX';

(yours will have something other than XXXXXX) and update the XXXXXX to match your database host).

Locate the line:

public $user = 'YYYYYY';

(yours will have something other than YYYYYY) and update the YYYYYY to match your database username.

Locate the line:

public $password = 'ZZZZZZ';

(yours will have something other than ZZZZZZ) and update the ZZZZZZ to match your database password.

Locate the line:

public $db = 'AAAAAA';

(yours will have something other than AAAAAA) and update the AAAAAA to match your database name.

Locate the line:

public $log_path = '/PATH-TO-PUBLIC-FOLDER/administrator/logs';

(yours will have something other than PATH-TO-PUBLIC-FOLDER) and update the PATH-TO-PUBLIC-FOLDER to match the full path to your hosting's public folder (your host should be able to provide you with your hosting's full path.

Locate the line:

public $tmp_path = '/PATH-TO-PUBLIC-FOLDER/tmp';

(yours will have something other than PATH-TO-PUBLIC-FOLDER) and update the PATH-TO-PUBLIC-FOLDER to match the full path to your hosting's public folder (your host should be able to provide you with your hosting's full path.

Finally save the file and close it.

Upload Your Joomla files to your new host

Again, we will be using FileZilla but any FTP client will do. Contact your new host and ask them for the FTP login details, then enter these into FileZilla at the top and click 'connect'.

Export go

Once connected, locate your public folder (usually called public_html or htdocs) and open it.

public_html folder

In the left navigation pane, open up your 'old host' folder (or the folder where the backup is located).

Old joonla host folder

Select all the files (excluding your database if you've saved this in the same location), then right click and select 'upload'.

upload joomla files to new host

As with the backup, you should see multiple messages appear at the top informing you of the files being uploaded.

uploading joomla backup

Top Tip : Use the 'failed transfers' tab at the bottom to see if any files have failed to upload.

Once your joomla backup has been uploaded, close FileZilla.

Joomla Migration is now complete

You have now completed all the steps required to set up your Joomla site on your new hosting. All that would be left is to update your domain to point to your new hosting.

Comments

If this guide has helped you or if you feel it could be improved, please let us know in the comments below.

Hi, did this site help you?

I'm John and this little website is my online side project. It isn't sponsored by any company and I rely solely on donations to pay the hosting fees. If this site has helped you please consider making a small donation using the link below.

Thanks again and happy surfing.