Overview
This article describes copying your primary DreamPress site to a staging website. The staging site allows you to test changes you plan on making on your live site while your live site remains up and running normally.
When you're finished working on your staging site and have it configured how you like, you can publish those changes back into your live website.
Notes about copying your DreamPress site to staging
If your site has been previously hacked and then used DreamHost's DreamShield service, you must clean up the files that were hacked/disabled before you can enable staging on your site.
- DreamPress Staging uses Git to copy files. If you have your own active Git repository in one of your live site's folders, the folder's contents will not be copied to your staging site. To use staging successfully, you can manually copy the folder's contents using SFTP or SSH. DreamPress recommends, as a best practice, to manage your Git repository in a separate development environment instead of your live site.
- When you enable staging for the first time, your DreamPress plan must have at least 5 GB of free space.
- The Uploads folder is not copied to your staging site in order to use disk space efficiently. Replacing an existing image in your Media Library will modify it for the live site.
Copying your live site to the staging site
The following steps show you how to copy your live DreamPress website to your staging website. You can then test and work on the staging site without affecting the live site.
- Navigate to the Manage Websites page.
- Click the Manage button to open the Domain Settings page, which allows you to adjust various settings for your site.
- Click the Staging tab to open the Staging Website dashboard.
- Click the Create a Staging Site button.
A staging site is automatically created with a new name. Please note that it's not possible to give your staging site a custom name.
Once your website is finished copying to your staging site, an email confirmation is sent to you.
Managing your Staging website
The staging environment is not included in the DreamPress domain’s daily backups. You are responsible for maintaining your own backups of any content you add in the staging environment.
After you create a staging environment, the Staging Website page appears where your staging domain name appears at the top. The following settings also appear:
- Access Your Staging Website — Shows the Username and Password you use to access your login-protected website.
- Staging WordPress Admin — Opens the WP-Admin page where you can edit your staging website.
- File Upload — Shows the FTP credentials for your staging website so you can transfer files through DreamHost's file manager or your third-party FTP client.
- Database (MySQL) — Shows your database (MySQL) credentials so you can manage your databases using phpMyAdmin.
- Configure PHP — Allows you to change the PHP version of your staging website when a newer PHP version is available. See the section below for more details.
Testing newer versions of PHP on Staging
The Configure PHP option allows you to test newer versions of PHP on a staging site without affecting your live DreamPress website.
If your staging site works on a newer version of PHP, you can publish your staging website - and the newer version of PHP - to your live DreamPress website. It is not possible to downgrade PHP on your live DreamPress site using this method.
Before proceeding, ensure you have published a copy of your live DreamPress website to Staging using the steps above.
The following steps show you how to change the PHP version of your staging website from the Staging dashboard.
- Find the Configure PHP section at the bottom of the Staging Website dashboard.
- Click the Change PHP to… button. Once the upgrade is complete, the dashboard will show the current version of PHP in use on your staging site under Configure PHP.
- Log into your staging website and examine it to ensure it works as expected. See the Logging into your Staging site section below for more details.
If your site works on the new version of PHP, you can publish changes from your staging website to your live DreamPress site. View the following article for instructions:
Logging into your Staging site
You may see the following git status error message, which appears under Tools > Site Health (in the 'Background updates may not be working properly' section under Security in the WP-Admin panel):
The folder /home/wp_xyz/example.com/ was detected as being under version control (.git).
This message will always appear for every DreamPress staging site, and you can safely ignore it. Git will not break your site.
If you previously updated your DreamPress admin password, you can use the same username and password from your live site to log into your staging site.
If you did not manually change your password, you can log into your Staging WordPress site from your Staging Website dashboard. Click the Managing Staging WordPress button to automatically log you into the admin dashboard.
Publishing your changes
When you're ready, you can use the Staging Website dashboard page to publish changes to your live website. See the following article for more information:
Troubleshooting copying issues
If you receive a 'Publishing Failed' message or the copied content does not match the staging site, do not make any further changes to the staging environment. You must contact support for further assistance.