It is always nice to have an offline copy of your Joomla website. This is how I've done it:

  1. Gather info from your website
    • Version of PHP
    • Location of your website on the host provider
    • Version of Joomla
    • Your PHP database name
  2. Setup a VM in VMware Workstation
  3. Install XAMPP
  4. Create the PHP database
  5. Install Joomla!
  6. Configuration of Joomla!
  7. Restore a backup of your Live database
  8. Update the PHP Database account

 

Jump to this section if what you're doing is to copy a new version of Joomla

 

Recommendation: Download the Visual Studio Code from here: https://code.visualstudio.com/download, and use it as a replacement for Notepad

 

1. Gather info from your website

From your live website, this is the info you need to know

  • Version of PHP; Visit Plesk >> Websites and Domains >> PHP settings; at the time of writing this article I'm running 7.4.14

 

  • Location of your website on the host provider;  Still in Plesk, go to File Manager >> httpdocs >> and open the "user.ini" file and take note of the "open_basedir" location, on my case D:\Domains

 

 

  • Version of Joomla; still in Plesk, go to Websites & Domains >> Applications and take note of the version of Joomla that you're running, 3.9.24 on my case
  • Your PHP database name; go to your Jooomla >> System >> Global Configuration >> Server tab, and take note of the PHP database name,  on my example is Naz783WP

 

 

2. Setup a VM in VMware Workstation

Open the "Virtual Network Editor" of VMware Workstation and and take note of how you have configured the "Bridge Network". On my case I set it so that any virtual machine connected to VMnet5 will behave as if connected to the physical LAN of my house router

Given the fact that I'm hosting my Joomla on a Microsoft IIS server, I choose to replicate it by having also a Windows server. Create a Windows Server 2012 virtual machine on VMware Workstation, and make its network connection to be on "VMnet5, which on my case translate to "Bridge", hence the VM will have visibility to your local router

 

 

After the installation, run "msconfig" >> Tools >> Change UAC Settings and set it to "Never notify". We need the User Account Control to be off for our project. Remember to reboot the server after you have made this change

 

Then add a "100 GB" size to your VM, initialise it, format it and set it with the label D:\, this is the one that will host our website, matching the drive letter of our host provider

Finally, configure the "Shared Folders" option of your VM to "Always enabled", so that it can see your host, and map the drive to where you will save the backup of your website downloaded from Plesk

 

3. Install XAMPP

XAMPP is a wonderful distribution that contains all-in-one Apache, MySQL, PHP, etc, making it a lot easier to install a web by using XAMPP rather than by acquiring all separate components together. On your Windows VM, visit this link and download the version of XAMPP that has the same version number of PHP of your website, on my example 7.4.14 https://www.apachefriends.org/download.html

 

  • Choose to install ALL components
  • For the installation folder of XAMPP use D:\Domains
  • After the installation, open the control panel and start both Apache and MySQL

 

Click on the "Config" button and set these two services to auto-start

 

Finally, visit http://localhost/dashboard/ and you should be able to see XAMPP up and running

 

4. Create the PHP database

Before going any further, we need to create a PHP database to host our Joomla site, so visit http://localhost/dashboard/ and click "phpMyAdmin" on the top-right corner. Once in there choose Databases >> Create database and enter the name of your PHP Joomla database that you gathered at the beginning of this article, on my example "Naz783WP"

 

 

 

5. Install Joomla!

Download Joomla from this link https://downloads.joomla.org/ ensuring that you download the same version that you have on your live website (on my example 3.9.24). Create a folder matching your Joomla version inside the httpdocs folder of XAMPP, we basically are going to have one Joomla folder per version installed

 

 Extract the contents of the previously downloaded zip file of Joomla into its appropriate version number

 

 

6. Configuration of Joomla!

After the extraction, visit (or whichever the version number you installed) http://localhost/Joomla3924/installation/index.php and fill in the details for the initial installation 

 

 

For the database page, enter the name of the database that you previously created, and use the username "root" with a blank password

 

 

Finally, on the overview page, choose to install "None" sample data and hit on the install button

 

 

To be able to access the "Administrator" section, you need to first remove the "installation" folder

 

To ensure that everything works, logon to Joomla with the username/password that you created during the installation wizard

 

 

7. Restore a backup of your Live database

Use the "Backup Manager" utility within Plesk to create a FULL BACKUP of your website, and then download the zip file

 

 

Locate the "sql dump" backup of the PHP database, and once you locate the file visit the phpMyAdmin on your localhost and choose to import that file on the PHP database

Leave all the other options for the import as default, and then click on "Go"

 

 

Look also on your Plesk backup for the "httpdocs" folder, and copy all of its contents and paste them into your "Joomla3924" folder, overwriting any files (replace the files in the destination) and effectively making your Live Jomla version offline

 

After you have copy/overwritten the files, open the "configuration.php" file (use Code Visual Studio, not notepad) from the root of the Joomla version folder, and carefully looks for the strings $log_path and $tmp_path and update them accordingly to your new offline location

BEFORE:

public $log_path = 'D:\\domains\\nazaudy.com\\httpdocs\\administrator/logs';
public $tmp_path = 'D:\\domains\\nazaudy.com\\httpdocs/tmp';


AFTER:
public $log_path = 'D:\\domains\\htdocs\\Joomla_3.9.24\\administrator/logs';
public $tmp_path = 'D:\\domains\\htdocs\\Joomla_3.9.24/tmp';

 

8. Update the PHP Database account

Still on the same "configuration.ini" file, look for the username and password of the account that is use to logon to the PHP database, it will look something like this:

public $user = 'MyDBUsername';
public $password = 'MySuperSecretPassword';

After you have taken note of the credentials, visit the phpMyAdmin console using your http://localhost/dashboard/ , select the DB of your site, choose the "Privileges" tab and create an account in there will ALL the privileges:

 

 

After making this update, you should be able to access an offline copy of your website by visiting: https://localhost/Joomla_3.9.24/

 

Enjoy it! :)

London, 17 May 2021

 

References

Use Joomla! on your own computer https://docs.joomla.org/J2.5:Use_Joomla!_on_your_own_computer

Tutorial Copying a Joomla! Website https://docs.joomla.org/Copying_a_Joomla_website

Move your site to another server https://forum.joomla.org/viewtopic.php?t=187461

Backup basics for a Joomla! Web Site https://docs.joomla.org/Backup_Basics_for_a_Joomla!_Web_Site 

Backlink Checker (to find out which domains are pointing to yours): https://ahrefs.com/backlink-checker 

 

Print Friendly, PDF & Email

Comments powered by CComment