VirtueMart is absolutely huge. By some counts, it stands second in popularity amongst all eCommerce platforms. Last year we explained how to use it in a very detailed tutorial.
Nearly all Virtuemart shops run version 1.1 but recently Virtuemart launched version 2.0. This tutorial will show you how to move your Virtuemart installation from 1.1 to 2.0.
What you need to know
Migrating Virtuemart from 1.1 to the newest 2.0 version seems fairly simple with the migration utility that is built into Virtuemart. However there are a few potential pitfalls. The migration utility does move this data:
- product categories
- manufacturer categories
- shopper groups
However, the migration utility does not move the following items. You will need to manually add this data:
- product types
- product attributes
In this tutorial, we'll walk you through the process of moving from 1.1 to 2.0.
Step 1: Download the Virtuemart files
Go to https://virtuemart.net and download two things:
- Download a copy of Virtuemart 2.
- If you are not currently running Virtuemart 1.1.9, download an update file to get you to Virtuemart 1.1.9. In the image above you can see that there are specific patches, for previous versions. You can find the patches at https://dev.virtuemart.net/projects/virtuemart/files. You will need to update to Virtuemart 1.1.9 before going any further.
Step 2. Move your media into /images/stories/virtuemart/
- Use an FTP program or your file manager to create a directory for your media files that is located at /images/stories/virtuemart/.
- Copy all of the files located in /components/com_virtuemart/shop_image/ to this new folder at /images/stories/virtuemart/.
Step 3. Rename your old com_virtuemart folders
Using your file manager or FTP program to go to /components/com_virtuemart/ and rename the entire /com_virtuemart/ folder. I used the word ORIGINAL in the image below so it would be easy to spot the change to /ORIGINALcom_virtuemart/.
Step 4. Disable the Joomla debug option plus Virtuemart modules and plugins
We need to go to the Joomla configuration and disable the Joomla debug option.
- Go to Site > Global Configuration.
- Go to the System Tab.
- Choose No for Debug System.
- Click Save.
- Go to Extensions > Module Manager.
- Use the Filter to search for Virtuemart Modules.
- Click the checkbox at the top of the column to select them all.
- Click Disable.
If there are any green checks, for Virtuemart modules change them to red x's.
- Go to Extensions > Plugin Manager.
- Use Filter to search for plugins.
- Disable all Virtuemart plugins.
Finally, if you have it installed, also disable the Akeeba System - System Restore Points plugin.
Step 5. Set the default language
- Go to Extensions > Language Manager
- Check to see that the default language is set to the same language used for your product descriptions. In this illustration there is only one language, but if you have a multi-lingual site, this will make sure you have the correct language tables in the database.
Step 6. Install Virtuemart 2
When you download Virtuemart it comes in a compressed package that needs to be unzipped first. In fact, the download package will tell you to do this by having a name such as com_virtuemart.2.0.2_extract_first.zip. After unzipping you will see two files:
You only need to install the com_virtuemart.2.0.2.zip file Complete the installation of this file before you add the AIO (All-in-one) package. The AIO contains all the plugins and modules you'll need.
You can now go to Components > Virtuemart and confirm that all your data is intact and the upgrade has been made. If it was installed successfully, you'll see a screen like the image below. If anything went wrong, you'll see an error message, which seems to be a frequent result according to forum reports. However it's a simple fix. If you get an error message, uninstall Virtuemart 2 and reinstall it once more.
Step 7. Install AIO component
Return to the Extensions > Install/Uninstall and upload the AIO (All In One) component. This will have a name such as com_virtuemart.2.0.2_ext_aio.zip.
Step 8. Deactivate an incompatible plugin
If you have a Joomla 1.5 site, you will get an error message if you try to view the site now. The reason is that a Joomla 2.5 plugin was installed with the AIO component. If this is a 1.5 installation, the site will not load correctly. Here's how to fix it:
- Go to your administrator pages and go to Extensions > Plugin Manager.
- Use the Filter to search for Virtuemart Plugins.
- Disable the new plugin called VM - Search, Virtuemart Product.
- Preview the site.
If you are locked out of your admin, you can turn off the module using phpMyAdmin as explained in this tutorial.
Check your site now. If it works, we let's get the migration going.
- Check the "Enable database Update tools" setting in Virtuemart Configuration.
- Go to Tools/Tools & Migration "Migration" tab.
- Choose Everything and click Start Migration.
- Click Start Migration as many times as it takes for all products to migrate
Step 9. Enable the database update tools
- Go to Components > Virtuemart.
- Click Configuration.
- Click the Shop tab and scroll down.
- Check to enable database tools.
- Click Save.
Step 11. Set up the migration
- Go to Tools and click the Migration tab.
- Increase the max_execution time. I set mine at 100.
- Increase the Memory Limit. I set mine to 256MB.
- Check the "everything" radio button. Do this before you start.
- Click Start Migration.
You already made these changes in the step above, but If you want to increase these manually, open your php.ini file in a script editor and change the parameters as needed. If you need help, here are two tutorials we have available for free, that will give you some guidance in finding the file and making changes.