Difference between revisions of "Installing Magento Extensions : Pre-install Checklist"
Jump to navigation
Jump to search
m |
m |
||
Line 26: | Line 26: | ||
===How to turn it on=== | ===How to turn it on=== | ||
* Just create an empty file in your Magento root with the filename {{folder|maintenance.flag}} | * Just create an empty file in your Magento root with the filename {{folder|maintenance.flag}} | ||
− | * | + | *''Delete that file to turn off the Maintenance Mode.'' |
* Before you do turn it on, make sure your Maintenance Page: | * Before you do turn it on, make sure your Maintenance Page: | ||
** Is styled for your store. | ** Is styled for your store. |
Revision as of 06:20, 28 April 2014
We spend a lot of time testing our extensions on fresh installs of Magento. However, there are a lot of different ways to setup, customize, and add-on to Magento, which can cause new issues - please follow this checklist before starting your install, to safeguard your site.
Each of these steps are important, don't be tempted to skip!
- You should do this before *every* extension install (not just ours!).
- Backup your database
- eg. using Magento's built-in backup system:
- Head to SystemToolsBackups and click Database Backup
- You'll see a popup option to 'Put store in Maintenance Mode?' : this will show the Magento Maintenance Page to site visitors. See section below for pros/cons.
- eg. using the command line (changing
[bracketed words]
to match your setup):- Make a backup of your database:
mysqldump -u [database user] -p [database name] > db_backup_[todays date].sql
- Restore from backup:
mysql -u [database user] -p [database name] < db_backup_[todays date].sql
- Make a backup of your database:
- eg. using phypMyAdmin:
- Export/Import your Magento database
- Make sure you "Disable Foreign Key Constraints".
- With either method, test that you can restore a backup (eg. to a test blank db) before starting!
- eg. using Magento's built-in backup system:
- Backup your app folder
- This is the fastest way to fully revert if you need to.
- Easiest to put it next to your current app folder (e.g. app_bkp), that way you only need to rename the two folders to revert.
- If you have compilation enabled for your site, disable it
- if you're not sure if you have this turned on, check SystemToolsCompilation
Maintenance Mode?
What is it?
- Magento has a built-in system to turn off the website frontend for visitors, and still allow admin access to the backend.
How to turn it on
- Just create an empty file in your Magento root with the filename maintenance.flag
- Delete that file to turn off the Maintenance Mode.
- Before you do turn it on, make sure your Maintenance Page:
- Is styled for your store.
- Explains what is happening.
- Gives a timeframe for completion.
- Has a contact email/phone number.
Why would we do this?
Pros
You're about to backup the database:
- If there is any customer activity between making the backup and potentially restoring it, you'll lose that activity.
- This could include new orders. If they are then issued an Order/Invoice ID, you then turn on the store and another customer makes an order (before you can manually enter the new order(s), then multiple people will have the same Order/Invoice ID, which can make accountants anxious, and customer support tricky.
- If your new extension involves database activity in the setup, if an order comes in halfway through, you could potentially include inconsistencies into the database.
Cons
- Your site is temporarily 'closed for business' and you may lose customers (if they don't come back later).
- It's harder for you to test any frontend changes that the new extension has made (as the frontend will also be locked out to you).
- To enable frontend access for yourself (while still showing the Maintenance Page to other visitors) edit the index.php file:
- Change :
if (file_exists($maintenanceFile)) { include_once dirname(__FILE__) . '/errors/503.php'; exit; }
- To :
$this_ip = $_SERVER['REMOTE_ADDR']; $allowed_ips = array('127.0.0.1','111.22.33.44'); if (file_exists($maintenanceFile) && !in_array($this_ip, $allowed_ips)) { include_once dirname(__FILE__) . '/errors/503.php'; exit; }
- *Edit the
$allowed_ips
section to match your own local IPs. - *To show a custom Maintenance Page (recommended) change
503.php
to eg.maintenance.php
and then create and style that custom file.
- *Edit the