At one point or the other, you may want to do some major work on your website without jeopardizing your online presence. Obviously, you can’t work on your live Joomla website, you have to work on another copy of your website and then upload it back once all the work is done. There are two ways of doing this:
- Make a copy of your Joomla website on another directory/server and work on it there, and upload it back (data and files) once you’re done.
- Download the Joomla website to your PC, work on it there, and then upload it back to your website.
We have explained how to move your Joomla website to another server before, so the first step is obvious. However, what if you want to work on it on a weekend, in your distant a cottage where there is no Internet connection, what will you do? In this case, your best bet is to go with the second option. However, you need to ensure you do the following in order for you to be able to work this way (Note that the below assumes that are using a Windows machine. If you have a Mac, the instructions may be similar, but not exactly the same. If you have a Linux based machine, then most likely you don’t need to read this post in the first place, you know how to do this yourself!):
- Install Apache for Windows on your machine. Just follow the instructions here.
- Install PHP for Windows on your machine. Again, you only have to follow the instructions, this time here.
- Install MySQL for Windows on your machine. The installation (and the download) instructions can be found here.
- Configure PHP to work with Apache. Normally, this will be done automatically for you by the PHP installer.
- Install phpMyAdmin for Windows. You can download it from here. You will then have to configure it to work with your MySQL installation.
- Download your website (both the files and the database).
- Unzip your website into your local webroot, and then import your website’s database into your local phpMyAdmin.
- Change the configuration file of your website to make it work on Windows (make sure you backup the old one first). The changes will mainly be related to the directory structure, for example: c:\Apache\webroot\websitename instead of /web/vhosts/websitename.
- Access your website by going to http://127.0.01/mywebsite and your administrator’s backend by going to http://127.0.0.1/mywebsite/administrator .
- Make your changes.
- Once you’re done with your changes, then you need to backup your files (from your local server, in other words, your machine) as well as your database (by going to your local phpMyAdmin and exporting the database)
- Delete all the files on your current online website and drop your online database. Note that this step will result in a downtime until the next step is completed.
- Upload your website and import your database (that you backed up in step #11) to your real server.
- Some (poorly written) extensions don’t work well under Windows, this is because the programmers who developed these extensions did not take Windows directory structure into consideration.
- Make sure you don’t overwrite your .htaccess file that is on your real website’s server.
- Some features, such as FTP, will need an additional server (FTP server) to work on your Windows machine.
- If you wish to omit downtime (well, there will still be a downtime but only for a few seconds) then you need to skip the last two steps in the guide above, and do the following
- Create another folder on the real server
- Upload the new website there
- Create a new database on the real server
- Import your new database there
- Rename your old database to something like database_old
- Rename your new database to the name of the old database
- Rename the folder of your old website (for example mywebsite should be called mywebsiteold)
- Rename the folder of your new website to the old name of your old website (for example mywebsitenew should be called mywebsite)
If you need help doing the above, then feel free to contact us, we can help you install and work on your Joomla website offline either by guiding you on the phone or through Skype. As usual, we are always eager to help you!