Joomla Staging Site Creation
It has always been a pet peeve of mine that it seemed to be very difficult, possibly dangerous and generally obscure as to whether it was possible to create a staging site for testing a new Joomla installation.
There is one Joomla extension that addresses this issue, but seems geared more to being a temporary testing site for updates.
I wanted the following features:
- Make a fully functional Joomla website without hassling with DNS records or adding a new domain;
- Make the staging site easy to access, yet obscure it from casual or accidental observation;
- Give me the ability to test new-to-me concepts and extensions over a period of weeks or months;
- Give me the ability to move a site developed on my office Joomla installation to a staging site;
- Give clients the ability to easily connect and approve or reject features;
- Go live with the development site without that itself becoming a major project;
- Keep any existing website working without disruption;
- Test and debug moving from one major Joomla version to another;
- Make the entire process predictable and easy.
My hosting company is Rochen, which provides CPanel to administer the back-end of each site. As long as you have CPanel available at your host, and under CPanel you can create a subdomain and they make the program Softaculous Apps Installer available there, this procedure should work and check off every one of the above bullet points.
The best YouTube tutorial in a step-by-step, which works with Rochen, is on the link below. I encourage you to watch it to familiarize yourself with some basics, although the specific problem referred to in the video may not apply to you.
First, as always, make a backup of your live site and move that backup off the host to a safe place.
Assuming you have a live site named "http://www.yoursite.com" you'll use CPanel to create a subdomain, such as dev.yoursite.com as an example. You're not required to use 'dev', this just an example.
Then you'll use the Softaculous Apps Installer in CPanel to create a new Joomla installation in that directory. You may need to first add your own (www) live site to the Softaculous management panel, which is safe to do.
When you then create your staging site, in the Choose Domain prompt for Softaculous select dev.yoursite.org
This site will reside in the top-level domain file system, not under the public_html directory. Softaculous will manage the downloading and installation of the version of Joomla that you select, and the creation of the SQL database. The prompts are the same prompts you see when you install Joomla on any system.
The correct addresses for front and back end access will be shown when the site is created and may be retrieved in the Softaculous management panel in the Edit Installation Details window at any time. You can provide the public staging url to anybody you wish to see the developing site in action.
If you've been developing a site on another system already you can use Akeeba Kickstarter to move that to the staging site. However, get all of your facts organized and don't allow yourself to be distracted. As you install a Joomla site under Softaculous make sure you record the database name, prefix, user name and password. Make sure you also have that information for the live site, and don't get the two confused. When you run the ANGIE program during the Akeeba Kickstarter procedure, you will overwrite the empty site and SQL database you created with Softaculous. You don't want to clobber your live database when you restore that backup.
To summarize, if you've been playing with a Joomla 4.1 system on your office computer, you can make a backup with Akeeba, create a new 4.1 staging website with Softaculous, and follow the well-documented procedure that Akeeba provides to restore and overwrite that backup over the Softaculous staging site.
Just be deliberate and careful, and have that live site backup before you start!
Softaculous will let you move the dev site to live, after development is completely tested.