Migrating from Joomla 1.5 to Joomla 1.7
Joomla 1.5 is solid, high-quality software and it will be supported until April 2012. So with many 1.5 sites working flawlessly, not everyone will rush to migrate. I say migrate because the structure of 1.5 is so different from 1.7 that you can't simply upgrade. Now is the time to consider a plan for the migration process.
With Joomla 1.6, the upgrade process will be built in to the Joomla framework, making incremental upgrades a possibility and streamlining the entire process. However, to move from 1.5 to 1.7 will be more difficult.
This tutorial uses the free jUpgrade extension. We have also reviewed the commercial SP Upgrade extension which is a viable alternative.
If you already have 1.6 your upgrade will be much easier: see this tutorial on moving to 1.7.
Step 1: Check the Joomla 1.7 Requirements
Here are the hosting requirements for Joomla 1.7.
- Apache: v2.x or Microsoft IIS: v7
- PHP: v5.2.4 +
- MySQL: v5.0.4+
Check with your webhost if you're not sure your hosting meets this requirements.
Step 2: Do a Migration Analaysis
Joomla has provided for a migration utility, called jUpgrade, but before you get started, there are a few things that you are going to have to check and/or think about:
Is your Joomla 1.5 version up to date? The most up-to-date version of Joomla 1.5 is 1.5.23. If your version is not up-to-date, upgrade to 1.5.23 before migrating, especially if you are running Joomla 1.5.11 or lower.
Do all your extensions have Joomla 1.7 native versions? At the time of the writing of this tutorial there are 108 available on the JED. Please note that jUpgrade is not currently able to upgrade Joomla 3rd party extensions, so those will have to be done via their respective upgrade procedures. This is however a work in progress.
Have you modified any core files? Any changes that you have made to core files in Joomla will be lost so please be forewarned.
Is there a Joomla 1.7 compatible template available from your template provider? If not, do you feel comfortable making the changes yourself? Please note that although jUpgrade is not able to currently upgrade templates, the developers are working hard at implementing the feature.
Is your language pack available in Joomla 1.7? Find your Joomla 1.7 Translation.
Do you NEED to migrate to Joomla 1.7? Joomla 1.5 is powerful and very mature. For many people there is not a need to rush into Joomla 1.7. Joomla will continue to support Joomla 1.5 for quite some time, releasing security updates and bug squashing updates when needed.
Step 3: Make a Backup!
Before you even start your migration, please make sure you have a backup.
Step 4: Install jUpgrade
You can download jUpgrade here: jUpgrade download link
Install it in your Joomla 1.5 installation using Extensions>Install/Uninstall.
Step 5: Enable MooTools Upgrade Plugin
Go to Extensions > Plugin Manager and make sure that the "System - Mootools Upgrade" plugin tutorial is enabled.
Step 6: Start jUpgrade
Step 7: Configure Options
As of jUpgrade version 1.1.1, support is present to migrate to Joomla! 1.6, Joomla! 1.7, and an old Molajo build. As well, for jUpgrade to be successful, you must configure your current table prefix prior to beginning the migration. The following are the options that can be configured with jUpgrade:
- Distribution - Select whether to migrate to Joomla! 1.6, 1.7, or Molajo
- Prefix for old database - Your current table prefix
- Prefix for new database - Your selected table prefix for your migrated site. Don't us -- - for added security you might change this to your own prefix instead of the defaults.
- Skip checks - Skip pre-migration checks
- Skip download - Skip downloading the package (Note: Must have a package already downloaded to your temp folder or set this and Skip Decompress if set to yes)
- Skip decompress - Skip decompressing the downloaded package (Note: Must have a package already downloaded and decompressed to site_root/jupgrade if set to Yes)
- Keep original positions - Keep the currently defined positions for modules
- Enable Debug - Enable this to have messages displayed below the migration process concerning the progress, helpful if having issues
Step 8: Start jUpgrade
Click the "Start Upgrade" button to get started with your migration.
Step 9: Wait Through the Migration
You'll now see a series of progress bar. Leave these running.
After the migration you have lots of work to do. You're templates may not translate exactly, and you may have to go through a separate process for upgrading each module. If you've purchased a template check with the provider on it's compatibility with J17. Test everything on your backup site and make sure it's the way you want it and it works flawlessly.
Check with each of your module providers to see if there are compatible versions of modules. If your site relies heavily on a particular module or plugin that is not compatible, don't attempt the migration.
jUpgrade writes all the files to a subdirectory on your server called /jupgrade located in your main Joomla directory. You can check out your migration by going to http//yoursite.com/jupgrade and the admin section is http://yoursite.com/jupgrade/administrator - check it over in this directory and make sure it works before the final step.
Step 10: Make the Duplicate Installation Live
Assuming you have a backup in case things go wrong. using your FTP Program or your server's file manager, copy all the files in the jUpgrade directory to your main site directory. Now your site is migrated and public.
If you get this error when trying to go to your new administrator section in your browser,
Fatal error: Call to a member function logout() on a non-object in /home/username/public_html/joomladirectory/...
Here's what happened and what to do.
In the last step, If you didn't completely remove the old files or copy to a clean directory your old administrator directory will have copies of older files, and will interfere with your administrator login. Delete or rename the administrator folder in the main directory, and make a new copy of the one in the jupgrade directory and place it in the main directory.