Stratus Guides - Going Live
Each store is unique and may require slight variations from the sequence shown. Developers may contact Stratus support for assistance. Webscale Stratus provides free migration to a new STRATUS environment. Please consult how migrations work.
The following is a typical, example launch sequence on a Webscale STRATUS environment based on a an existing application that is migrated to STRATUS.
Prepare the Webscale STRATUS Environment
Before any go-live, test a copy of the store for all functionality.
- Gather the following information:
- Application and version installed
- PHP version at the current host
- MySQL version at the current host
- Set the STRATUS PHP Version and STRATUS Template for the intended installation.
- The Stratus Migration team will upgrade MySQL to the appropriate version. If you are performing the migration yourself, you may place a ticket with support to complete this.
Clear the Existing Install
Depending on options during purchase, a new Webscale STRATUS environment may have Magento 2 pre-installed with the document root at /srv/public_html/. Before copying a site, clear this data.
-
Delete everything in
public_html/
: runrm -rf /srv/public_html/
. -
Using the database credentials, drop and recreate the existing STRATUS database via SSH.
mysqladmin -h mysql -u USERNAME -pPASSWORD drop db_ mysqladmin -h mysql -u USERNAME -pPASSWORD create db_
Copy the Site
Copying a site requires SSH access to the current host.
-
Connect to the STRATUS environment via SSH.
-
Once connected, log into the existing Magento server:
ssh myuser@mycurrenthost.com
Some SSH logins may require slightly different SSH commands:
#with key ssh -i /path/to/keyfile myuser@mycurrenthost.com #with custom port ssh -p 1234 myuser@mycurrenthost.com
-
Create a backup of the current database.
#example database dump commands mysqldump -uUSERNAME -pPASSWORD DATABASENAME > migrate.sql #with n98 n98-magerun2 db:dump
-
Copy the files and database dump to Webscale STRATUS.
-
From SSH in your STRATUS environment, go to the document root (e.g.
public_html/
). -
Run
rsync -avz -e ssh myuser@mycurrenthost:/path/to/webroot/ .
If there is a custom port or ssh key, additional quotes around the SSH command are needed:
rsync -avz -e "ssh -p 1234" myuser@mycurrenthost.com:/path/to/webroot/ .
The copy will begin. A lot of media and/or a large database will take a more time. Output will stream onto the terminal screen.
Initial Magento Configuration
Once the files and database dump transfer are complete, configure Magento within the Webscale STRATUS environment.
-
Update
local.xml
(Magento 1) orenv.php
(Magento 2) inapp/etc
with the proper database credentials from the MySQL -> Info panel of the Webscale STRATUS Management Control. Set the hostname to “mysql” (in contrast, many other systems have the hostname set as “localhost”).-
Magento 1 example
local.xml
file:<resources> <db> <table_prefix><![CDATA[]]></table_prefix> </db> <default_setup> <connection> <host><![CDATA[mysql]]></host> <username><![CDATA[USERNAME]]></username> <password><![CDATA[PASSWORD]]></password> <dbname><![CDATA[DATABASENAME]]></dbname> <initStatements><![CDATA[SET NAMES utf8]]></initStatements> <model><![CDATA[mysql4]]></model> <type><![CDATA[pdo_mysql]]></type> <pdoType><![CDATA[]]></pdoType> <active>1</active> </connection> </default_setup> </resources>
-
Magento 2 example
env.php
file:<? php 'db' => [ 'table_prefix' => '', 'connection' => [ 'default' => [ 'host' => 'mysql', 'dbname' => 'DATABASENAME', 'username' => 'USERNAME', 'password' => 'PASSWORD', 'model' => 'mysql4', 'engine' => 'innodb', 'initStatements' => 'SET NAMES utf8;', 'active' => '1' ] ] ], ?>
-
-
Import the database using
n98-magerun[2]
bash #from your Magento document or web root #magento 1 n98-magerun db:import app/etc/mydump.sql #magento 2 n98-magerun2 db:import app/etc/mydump.sql
The pv utility shows the progress while the import completes.
Cache and Sessions Configuration
Next enable Redis cache. The Redis > Full Page Cache panel will indicate the status of the Redis cache. Redis can also be used for sessions cache.
Update Base URLs
For testing prior to launch, set the Base URL of the new Magento store to the pre-configured and included mojostratus.io domain found in the Urls Admin panel.
At launch, this Base URL will be replaced with the domain(s) of the Magento store(s) to be served.
Test the New Install
Before taking a new install “live,” all functions, pages, and administrative tasks should be thoroughly checked. Add-ons and customizations should particularly be reviewed and tested.
Testing should include:
- Homepage
- Product pages
- Category pages
- Add to cart functionality
- Logging into the backend
- Any special modules you use
- Imports and exports
- Cron configuration
If testing reveals errors, check:
- Chrome Web Inspector Console for errors and descriptions
- Magento logs
- Error logs for Nginx in
/log/error.log
- PHP error logs in
/log/php-fpm/
Check with MageMojo Support if needed for further assistance.
Pre-Launch Preparations
Switch Nameservers
Since Domain Name Server (DNS) propagation can take up to 24 hours, it can be prudent to set any relevant DNS records to a very short Time-to-Live (TTL), if allowed by the DNS server host.
For complete instructions on DNS settings, see our DNS guide.
When switching to Route 53, it is recommended that the nameserver switch be made well ahead of time, as the nameserver propagation takes the longest to complete.
-
Get the current IP or IPs for each domain at your current DNS host.
-
Go to DNS in the Webscale STRATUS sidebar menu.
-
Select the appropriate DNS zone in the list shown. If none is showing, create a new zone.
- Select Custom IP in the IP section.
- Enter the current IP for the domain as it is currently hosted.
-
Add any additional DNS records, such as www or mailserver domains.
-
Click Update to save the changes.
The step changes the nameservers at the domain registrar. The domain registrar is where the domain is registered, such as GoDaddy or Google Domains. It may not be the same provider as the DNS host.
Update the nameservers at the domain registrar. Use all four nameserver values shown at the top of the DNS Admin panel (in green).
Repeat this process for any other domains which will be used with the new store.
DNS management can be complicated. If you are unfamiliar with domain name management or have any questions, please contact MageMojo Support.
Other Preparations
A store may have a extra integrations, frameworks, and custom code to account for outside the scope of this guide. Use the following list as an initial guide for reviewing your environment configuration.
- Check all DNS zones for any custom records that link to websites maintained at other hosts (subdomains etc) or custom TXT/SRV records for validation. These DNS records will need to be copied to the Webscale STRATUS DNS when using the STRATUS Route 53 DNS system.
- Check all cron jobs are configured under the Cron Management area needed for the store, including any custom cron jobs on the current host.
- Verify any non-Magento code/frameworks are working as expected (e.g. WordPress).
Going Live
Follow these steps to complete your transfer to Webscale STRATUS.
-
Place the Magento store at the current host into maintenance mode to prevent additional orders. Failure to do so can cause a split DB situation where the same order numbers exist in two different databases for different orders. Put the new store into maintenance mode.
-
In the DNS zones listed in the DNS Admin panel, adjust all the zones to point to the CloudFront endpoint instead of the current host (if the nameservers were set in advance as described above). Otherwise, switch the nameservers now.
-
As described in Copy the Site above, re-copy the store database over to Webscale STRATUS and any updated files. Make sure to drop the existing database first, then re-import it. Don’t overwrite the updated configuration files.
mysqladmin -h mysql -u user_ -pPASSWORD drop db_ mysqladmin -h mysql -u user_ -pASSWORD create db_
-
Go to the URLs Admin panel in the Webscale STRATUS management panel. Make sure all the domains listed match the domains that are moving, including their www. form (i.e. mysite.com and www.mysite.com). See STRATUS URLs List and Domains for more information.
-
Wait to allow the domains and cloudfront configuration to update. This may take as long as 15 minutes to complete.
-
Adjust the multi-store configuration to match the live domains.
-
Disable maintenance mode on the STRATUS environment, leaving maintenance mode on the old host.
-
Verify the new site.
Troubleshooting and Final Check
- Repeat the initial testing for basic environment functionality
- Test the checkout
- Check all caches and performance settings, review Magento Performance FAQ.
- Contact Webscale STRATUS Support if needed.
Feedback
Was this page helpful?
Glad to hear it! Have any more feedback? Please share it here.
Sorry to hear that. Have any more feedback? Please share it here.