Log in
Let’s talk business

How to use a ZIP file to install an extension

Avatar image of Maarten Maarten
November 7, 2022
Installing a Magento extension from a zip file is a simple process. You'll need to have an unzipped copy of the extension on your computer, and you'll also need access to your Magento install files.

Installing a Magento extension from a zip file is a simple process. You’ll need to have an unzipped copy of the extension on your computer, and you’ll also need access to your Magento install files.

How to use a ZIP file to install an extension:

Manual extension installation using the extension code archive is accomplished by moving the extension’s files to the Magento installation folder.

Obtain the bundle of extensions

Visit My Profile > My Products > My Purchases to get the zip-package for the Magento marketplace plugin you bought. Click the Download button after selecting the extension version you wish to download.

Similarly, to obtain a zip package from the Magento extension developer store, log into your account and look for the purchased modules.

Visit My Account > My Account > My Downloadable Products and click on the download link for the Mirasvit store. Please select your Magento version before downloading the file.


The zip-package with the extension code can be obtained from any location. It could, for example, be a developer’s Github profile.

Examine the contents of the ZIP file.

On your local computer, extract the package into a new folder. If you notice directories like Api, Block, Console after extracting the ZIP file but not nested folders app/code, you’ll need to create them.

Because it has nested directories

/app/code/Mirasvit/BlogMx/: /app/code/Mirasvit/BlogMx/: /app/code/Mirasvit/BlogMx/: /app/code/Mirasvit/BlogMx/: /app/code/Mirasvit/Blog

The Magento marketplace plugin TaxJar Sales Tax Automation lacks the nested folders and requires them to be created:


Open the module file registration.php and look for the text ComponentRegistrar::MODULE for zip-packages like TaxJar. The name of the module will appear after this text in quotes: Taxjar SalesTax.


Make nested folders so the path is something like /app/code/Taxjar/SalesTax/. In the SalesTax folder, copy the contents of the zip-package.

Upload the module files to the Magento server.

You can copy the module to your Magento installation folder once you have the module files with the right nested folders location.

Use the command to upload the module files:

user@remotehost:/remote/dir/ scp -r /local/dir/app

The content of the local folder app will be copied to the remote path /remote/dir/.

Connect to your Magento host via SSH and proceed to the Magento installation folder, followed by the /app/code/ directories. To see if the copying was successful, do the following:

Complete the installation.

When you install a Magento extension using Composer or a ZIP file, the files are copied to the Magento installation folder. You must run specific commands in order to correctly integrate a new module into Magento.

First, make sure Magento is aware of the copied files:

module:status in php7.3 bin/magento

All extensions available in your Magento installation will be listed for you. The List of disabled modules can be found at the bottom of the list. Because Mirasvit BlogMX also contains its core module Mirasvit Core, two Mirasvit modules will be disabled:


With the appropriate command, enable each module (change VendorName ModuleName with the name of your module) and clear static view files:

—clear-static-content php7.3 bin/magento module:enable VendorName ModuleName

Some Magento extensions are made up of many modules. Mirasvit BlogMx, for example, is dependent on Mirasvit Core. You can activate the primary module first, followed by the dependent module, by issuing the following commands one after the other:

—clear-static-content php7.3 bin/magento module:enable Mirasvit Core
—clear-static-content php7.3 bin/magento module:enable Mirasvit BlogMx

Alternatively, you can use the commands to activate both Mirasvit modules at the same time.

module:enable Mirasvit Core Mirasvit BlogMx php7.3 bin/magento

Make sure the extension is turned on:

module:status in php7.3 bin/magento

The extension should appear in the list of modules that are enabled.

Run this command to ensure that the enabled modules are correctly registered and that their database tables are generated.

setup:upgrade php7.3 bin/magento

Then, to generate code and configure dependency injection, recompile your Magento project. When your Magento installation is in Production mode, you may encounter the prompt “Please rerun Magento compile command.” In Developer mode, Magento does not prompt you to do the compile command.

setup:di:compile php7.3 bin/magento

Static view files should be placed in the Magento public directory. To do so, type the following command:

setup:static-content:deploy -f php7.3 bin/magento

Clearing all cache is the final step:

cache:flush php7.3 bin/magento

You can now go back to the Magento admin panel and customize the newly installed extension as necessary.

Industry news straight to your inbox

Get the latest commerce news, trends, and strategies to grow your business
Subscribe to the newsletter
By submitting this form, you agree to receive promotional messages from Magstack. Unsubscribe any time by clicking the link in our emails.
Select location and language

Contact Our Sales Team

Learn more about our products, features, and pricing options.
By submitting this form, you agree to receive promotional messages from Shopify about its products and services. You can unsubscribe at any time by clicking on the link at the bottom of our emails.
Use cases
Log in
Start a free trial