Installing Magento 2 Extensions : Easy Install Guide

From Moogento How-to Guides
Revision as of 11:42, 31 October 2018 by <bdi>Moo</bdi> (talk | contribs)
Jump to navigation Jump to search

Aims & Preparation

Make sure you've gone through the Pre-install Checklist before starting!

Upgrading from an older version? Check our Upgrading Magento 2 Extensions Guide






Installation

1. Upload The Files

  1. Unzip your downloaded zip and open the single folder (usually the extension name).
  2. Inside that you'll see app and m2.0.patches. Open this containing folder inside your FTP app.
  3. Locate your website's Magento app folder in the same FTP app. You should now have the unzipped app on one side, and your main website folder (containing the Magento app folder) on the other side.
    * Check that you see an app folder each side.magento-2-plugin-installation.png
  4. Drag the app folder from inside the unzipped folder into your remote site (the important thing here is not to drag on top of another folder, or the files will be placed in the wrong location - easiest is to drag onto a file or blank space on the remote side).drag-n-drop-copy-app-folder.png
  5. You may be asked Merge or Replace? by your FTP app. Choose Merge for folders and Replace for files.merge folders replace files.png
  6. Only if you're using a version of Magento 2 that's older than 2.1, copy m2.0.patches into your remote root folder, overwriting any file changes.

2. Enable Maintenance Mode

This will display your store 'Down for Maintenance' page in the frontend

php bin/magento maintenance:enable

* Not needed on local test site!

3. Disable the Cache

Disable the cache in SystemCache Management

Or, if you're in the commandline already:

php bin/magento cache:disable

4. Run Install & Setup Scripts

  • Run these on the command line, from inside the magento root:

Update composer

In the magento root folder run: composer update

• If you're running on some cPanel-type setup, you might find it easier to run a local version of composer, instead of server-wide one:
Install:
curl -sS https://getcomposer.org/installer | php
Run:
php composer.phar update
Check that the 'composer update' process completes before continuing - if it says 'Killed' then it hasn't completed
composer-update-killed.png
^ If you see this, stop and get composer updating before you continue

Install the core Moogento files

If this is your first Moogento M2 plugin, then run these first:

php bin/magento module:enable Moogento_License

php bin/magento module:enable Moogento_Core

Install the module

Run the appropriate one for the plugin you want to install.

php bin/magento module:enable Moogento_PickPack

php bin/magento module:enable Moogento_Shipeasy

php bin/magento module:enable Moogento_Stockeasy

php bin/magento module:enable Moogento_Profiteasy

Setup scripts

php bin/magento setup:upgrade

  • re-compile:

php bin/magento setup:di:compile

^ Check that the code works all the way through to 100% (usually 7 lines)
If it doesn't, you should fix this first before proceeding.
Here's roughly how it should look when successful:
magento-2-compilation-success.png


  • then we're going to upgrade the database, with any new tables needed by the plugin:

php bin/magento setup:db-schema:upgrade

5. Refresh index & cache

  • re-index

php bin/magento indexer:reindex

  • refresh caches

php bin/magento cache:clean && php bin/magento cache:flush && php bin/magento cache:enable

6. Check Installation

Head to StoresConfigurationAdvanced -> Advanced and you should see your new module in the admin panel.

moogento-installed-magento-2.png

7. Set User Permissions

  1. Log out then Log in.
  2. Head to SystemPermissionsUser Roles
    magento-2-user-roles.png
  3. Check that you have assigned the new Moogento Extension options to the appropriate roles, and save.
    • If saving an admin role, likely you have 'All' resources set; just re-save this:
    magento-2-user-all-role-access.png
    • If saving a partial access role (eg. granting pickers access to create Packing Sheets), find the new extension sections and grant as needed (eg. here is access to edit the PDF templates):
    magento-config-settings-pickpack.png
  4. Head to SystemPermissionsUsers
  5. Check that you have assigned the correct role (that we just granted the appropriate Extension options to) to the appropriate users, and save.

8. Clear static content

If you get some 404 errors, try clearing the static folder.

  1. Copy /static/.htaccess out of that folder
  2. Delete /static
  3. Put back .htaccess from (1)
    Or in commandline in root folder:
    mv pub/static/.htaccess pub/.htaccess
    rm -R pub/static
    php bin/magento setup:static-content:deploy
    mkdir pub/static
    mv pub/.htaccess pub/static/.htaccess
  4. Run bin/magento setup:static-content:deploy

9. Enter The License Key

If you're installing a Moogento extension, we'll have sent you a license key. Let's install it!

  1. Navigate to MoogentoLicense.
  2. At the top, if this extension requires a license key, enter your license key (this will have been emailed to you; you can also find it inside your Moogento account downloads section).
    • Enter the key and save the page. You should see a green tick!
    moogento-license-entry.png


10. Save The Config Page

After entering the license key, clear the cache and logout again.

  • Even if you're installing an extension without a license key, it's still a good idea to save the config section at this point (even if you've not made any changes).

11. Disable Maintenance Mode

php bin/magento maintenance:disable


Uninstalling

Want to uninstall the plugins to check something?

Here's a quick commandline 'stack', which you should be able to copy/paste, to disable all Moogento modules:

php bin/magento maintenance:enable
php bin/magento module:disable Moogento_PickPack
php bin/magento module:disable Moogento_Shipeasy
php bin/magento module:disable Moogento_Stockeasy
php bin/magento module:disable Moogento_Profiteasy
php bin/magento module:disable Moogento_Core
php bin/magento module:disable Moogento_License
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:db-schema:upgrade
php bin/magento indexer:reindex
php bin/magento cache:clean && php bin/magento cache:flush && php bin/magento cache:enable
php bin/magento maintenance:disable


And the same to enable them again:

php bin/magento maintenance:enable
php bin/magento module:enable Moogento_License
php bin/magento module:enable Moogento_Core
php bin/magento module:enable Moogento_PickPack
php bin/magento module:enable Moogento_Shipeasy
php bin/magento module:enable Moogento_Stockeasy
php bin/magento module:enable Moogento_Profiteasy
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:db-schema:upgrade
php bin/magento indexer:reindex
php bin/magento cache:clean && php bin/magento cache:flush && php bin/magento cache:enable
php bin/magento maintenance:disable

Registering the License

Setup the Key for Dev/Staging Sites

If you're setting up on a dev or staging server, we've got you covered. You can assign up to 2 dev/staging servers to each key, and we have a super-simple way to assign them.

  1. Navigate to your Moogento Account downloads section.
  2. Find the specific extension you want to request dev/staging access for.
  3. Click '+ dev domain'
  4. Enter the domain name.
  5. Click 'Request'
  6. Done! We'll check that and assign it within 1 working day.
    dev-licenses.png
  • Enter the license key in every install you make with our software, including dev & staging sites.
  • Before installing the software, please add the domain you'll be using to the list of authorised domains, as described above.
It's against the terms of your license to use the software:
- without entering the license key in every install
- without authorising the domain before use
(only needed if you're using multiple domains for testing - the first-used domain is registered automatically)
- on multiple Magento installations
(excepted : dev/staging sites for the specific domain the key is purchased for)


Final Check

  1. Check that it works at a basic level; this is also a good time to check your public store front. I would also make a test order at this stage, check that the emails you're expecting are coming through etc.
  2. If everything is ok and you have previously disabled compilation, now you can enable it.

You should now be setup at a basic level.

If you have any issues, check the Troubleshooting guide.