Joomla 2.5 reached End of Life in 2014, it’s well past time to migrate.
The Joomla! team had not been managing this version for a long time. Overall the version is stable, but it should not be considered safe to use anymore.
There is a migration process available here – Joomla 2.5 to 3.x Step by Step Migration. I have done a few migrations using this document that went very smoothly. Others required Akeeba CMS Migrate, which is now a discontinued product with its features integrated into the Joomla! Update Component (this site is late to the party). The particular migration I am doing has thrown some errors on the first two attempts, so I am starting from scratch and documenting my process, maybe it will help someone in the future.
1. Backup your Website and Database
Make a backup of your Website and Database. I do this via CPanel.
2. Setup a Test Server
You don’t want to work on the live site. You could set up a XAMPP server locally, but I would recommend a test domain or sub-domain on the account else you will need to verify two hosting environments. Use copies of the backups made above.
Change database details in configuration.php as required.
public $user = 'database_user'; public $password = 'password'; public $db = 'database_name';
As you are working online, you should also make sure the site is offline.
public $offline = '1';
Change your offline message and info as required.
3. VERIFY YOUR HOSTING ENVIRONMENT
Make sure the hosting environments (live and test sites) are ok for Joomla 3. You will find everything you need to check at this link Joomla Documentation – Technical Requirements & Joomla Documentation – Optional Requirements. I advise going through both lists. If you do not know how to change a value or are having issues contact your hosting provider.
It would also be advantageous to go through the security checklist again. I am sure you did this when first creating the website. Security Checklist for Hosting and Server Setup.
4. COMPLETE ADDITIONAL MIGRATION STEPS
Joomla! Version Check – Make sure your site is on Joomla 2.5.28, the latest and last release for Joomla 2.5.
Disable ‘Remember Me’ Plugin – Disable this plugin, it has been known to cause issues with the migration.
Switch on Full Error Reporting – In GLOBAL CONFIGURATION > SERVER > SERVER SETTINGS change ERROR REPORTING to MAXIMUM. This is important for debugging possible errors later.
Check Warnings – In EXTENSION MANAGER > WARNINGS make sure all are fixed. This might mean you need to do a few different things, depending on the warnings.
Purge All Cache – You can do this in a few places. In the ‘Extension Manager’ and Maintenance’ there are a few ways to do it. Do them all.
Run Discover – You should Discover any updates and install.
Run Update – You will be doing this later, but you can also update any extensions now.
Fix Database – Check to see if your database needs fixing.
5. CHECK YOUR CURRENT EXTENSIONS
List your Components, Plugins and Modules. Anything not active (greyed out) and anything by the ‘Joomla! Project’ can be ignored. You must check-in with the extension provider to see if the current version you have is compatible with Joomla 3. If it isn’t you will need to upgrade to a Joomla 3 compatible version or uninstall the 2.5 extensions. So if your extension is compatible with both 2.5 and 3 you can leave it. If it is only compatible with Joomla 3, install after migration. If it is only compatible with 2.5, uninstall it.
If you have lots of extensions you will need to keep some notes on their process. You should make note of the current version, author and upgrade version and it’s compatibility with Joomla 2.5 and 3.
6. CHECK YOUR TEMPLATE
Much the same as extensions, you should contact your template provider and see if your template is compatible with Joomla 3. If not you will need to find a new template or modify your existing template.
7. ONE LAST ERROR CHECK
As you now have full error reporting on you will notice any additional errors and should deal with them now. they will now appear somewhere on each page (top/bottom/inside div’s) and also in your error log.
8. DO ANOTHER BACKUP
Now that your site is in a great place (no errors, environment good, security good, extensions and template ready) you should create another backup of your site and database.
9. BEGIN MIGRATION
Switch to ‘Short Term Support’ – To show the update you will need to switch to Short Term Support.
Make sure your Joomla 2.5 is looking for short-term support updates. This is required to show the Joomla 3 updates.
10. AFTER MIGRATION
After a successful migration, it’s business as usual. Install any extensions and templates you need and complete all updates within Joomla 3.
11. COMMON POST MIGRATION ERRORS
Joomla can leave behind files during updates that can affect the migration. These are often left after doing manual updates and it can be difficult to find the problematic files. There are a few ways to fix this but it turns out I must have missed a step with my first two attempts at this migration as following the above worked perfectly and the migration was completed.
If you have fixed all errors and are still having issues you can try a to manually update. In FTP (CPanel or FileZilla) upload all files from the next Joomla version. Remove the installation folder. In the administrator area, go to EXTENSIONS > EXTENSIONS MANAGER > DATABASE, and hit FIX. Go to EXTENSIONS > EXTENSIONS MANAGER hit DISCOVER and install for anything it finds. Repeat this process for each update. hit it.
The above process was successfully migrating a site with over 500 articles, 1000 users, hundreds of comments, an active newsletter system and another 10 extensions. If you have any questions, let me know.