Upgrade Joomla 1.5 to Joomla 2.5 including Sobi2 to SobiPro
These instructions have been written for a Windows XP Local Host installation though the procedure should be similar for other types of installation.
Alternatively, there is a PDF version at a cost of US$5 which you can download:
Click on this Buy Now Button to get the PDF:-
You will need to have access to the C Panel for your live website so that you can access your website files/folders via File Manager & the database via phpMyAdmin.
All the scripts and downloads are free except for the CB SobiPro Plugin which costs just €11.
Many people and businesses have provided their time, skills and products free of charge to enable us Joomla users to construct and maintain amazing websites at almost no cost and I want to acknowledge and thank them for their work.
You will find links to their websites below.
In particular the work of goedda76, a self-proclaimed Sobi hero, who took the script built by jgarvas, another Sobi hero, and improved it extensively deserves a huge vote of thanks and a donation if you can. There is a donate button on his website.
Here is the link:- Donate For Sobi Pro Migration Script
You can read more about the script
Here are some links for further information that may be helpful:-
Update J1.5x to J1.5.26
Joomla Migration Instructions
For multiple XAMPP installations
These instructions have been written to assist those with Joomla 1.5x websites who are contemplating upgrading to Joomla 2.5x. A PDF version is available for US$5. Click on the Buy Now button to purchase it.
The upgrade/migration process is a daunting process for most and a steep learning curve.
These instructions are based on my experience updating my New Zealand -based adventure website, Adventure NZ.
I am not an expert by any stretch of the imagination but I have managed the process and I hope by following these instructions that you can do it. At the least, you will learn a great deal in the process and you may even save a substantial sum by doing it yourself.
However, I cannot be responsible if it does not work out the way you expect it or worse still, it crashes your site.
To avoid a disaster the instructions assume doing the upgrade on a local host installation independent of your live website.
They also include instructions to backup your work at intervals through the process. I cannot stress this enough – You must do the upgrade on a local host installation and make regular backups.
Outline of the Process
You will be downloading copies of your J1.5.x website & associated database to a local host installation which you setup on your computer so that you can do the migration and website upgrade without affecting your current site.
After installing a copy of your current site on your local host installation you will upgrade it, if necessary, to J1.5.26. You will then install a copy of Joomla 2.5x in a sub folder of the J1.5.26 site and associate it with the J1.5.26 database.
The Sobi2 data is migrated first to SobiPro which you install on Joomla 1.5.26 along with Sobi2.
Then the Joomla 1.5.26 data is migrated to Joomla 2.5.14 (this is the latest version at the time of writing these instructions)
After the migration is completed a new installation of Joomla 2.5 is setup with its own database. This database is a copy of the shared database.
The database is then ‘tweaked’ to contain only tables relevant to the upgraded site.
Finally the upgraded site is uploaded to replace the old site.
Upgrade / Migration Procedure
- Setup a folder on your desktop called jupgrade25 (or something similar).
Save all downloads etc relating to the upgrade into this folder.
- Download all the following to your desktop folderA full zip copy of your live website J1.5x installation – you will need to access CPanel to do this.An export of your J1.5x database in SQL format – you will need to access CPanel to do this.XAMPP 1.7.1 – get it here
http://sourceforge.net/projects/xampp/files/XAMPP 1.8.2 – get it here –
http://sourceforge.net/projects/xampp/files/Akeeba 3.4.1 – get it here
https://www.akeebabackup.com/downloads/akeeba-backup.htmlAkeeba 3.6.12 – get it here
https://www.akeebabackup.com/downloads/akeeba-backup.htmlAkeeba 3.8.1 – get it here
https://www.akeebabackup.com/downloads/akeeba-backup.htmlJoomla 1.5.26 – get it here
http://www.joomla.org/announcements/release-news/5419-joomla-1526-released.htmlJoomla 2.5.14 – the latest full package version at the time of writing – get it here
http://www.joomla.org/download.htmlSobiPro 1.0.8 – see note below – get it here
http://sobipro.sigsiu.net/download/sobipro/52-sobipro_full#sp10Note: Click on the SobiPro 1.0 tab to download v 1.0.8 & agree to the terms in the popup window. You should then be able to download the component free of charge without having to register for a subscription.Sobi2 to SobiPro migration script – get it here
http://www.ppcomputersystems.ch/index.php?option=com_content&view=category&id=18&Itemid=172&lang=enNilpo Prefix Changer – get it here
http://www.nilpo.com/2009/01/web-development/mysql-table-prefix-changer-tool/Note: The download links are in the second paragraph of the text
“You can download the original version here as PHP, zip, or tar.gz.”There are 3 versions to choose from. I recommend the zip file.
redMigrator – get it here
JUpgrade Adaptor for SobiPro – get it here
Note: You can also install this through the SobiPro application after you install SobiPro 1.0.8
Community Builder CB1.9 (if applicable to your site) – get it here
CB SobiPro Entries Plugin for J2.5 – this is a commercial plugin cost €11– get it here
- Install XAMPP 1.7.1 in the main directory (C Drive) on your computer. This will give you a Local Host installation to do the upgrade & test changes without affecting your live website.
- Rename the XAMPP directory folder as XAMPP 1.7.1 – this is to avoid confusion with the later version that will be needed to run & test the J2.5 installation.
- If XAMPP doesn’t work you may need to change the settings on the Config file. Open httpd.config in the apache/conf/ folder & edit the xampp folder to xampp1.7.1
- Open MYSQL PHP Admin & create a new database with the same name as your live database.
- Import the J1.5x database SQL file into the new database.
- Unzip the J1.5x download into a new folder called j15 in the htdocs folder in XAMPP 1.7.1.
- Using your browser navigate to your Local Host installation of J1.5x & make sure you can login to the backend admin login – bookmark this page.You may need to edit the config.php file for the database settings if the website admin doesn’t show.Check that the data has installed properly including all your contents, Community Builder & Sobi2 data (if applicable)
- In a new browser tab navigate to your Local Host installation of J1.5x & make sure you can view the Home Page. Check that all the links are working & the site is working properly.
- If required, upgrade your version of Joomla 1.5x to the final version Joomla 1.5.26
Install Akeeba v 3.4.1 in J1.5 & do a full backup of your updated J1.5.26 installation
- Unzip the J2.5.14 download into a new folder called jupgrade which is a subfolder in j15 in the htdocs folder in XAMPP 1.7.1. The database for this is the same database as your J1.5 database – i.e. they share the same database. Do Not install Sample Data.Note: J2.5.14 will run on XAMPP 1.7.1
- In a new browser tab navigate to this ‘jupgrade’ folder and complete the installation of J2.5.14. Make sure the database it is associated with is the shared J15 database. Change the database prefix to ‘jml’ when running the installation.Note that the J15 database will now contain tables with ‘jos’ prefix and ‘jml’ prefix. You will either delete or amend the ‘jos’ tables in step 35.
- Install SobiPro 1.0.8 in your LocalHost installation of J1.5.26. Note that it comes with Sample Data which you can turn off (disable) after it has been installed.Note re SobiPro 1.0.8 – this is the only version that has been tested with the script that you will use to migrate your directory listings from Sobi2 to SobiPro. SobiPro 1.0.8 will run on XAMPP 1.7.1
- Before running the Sobi2 to SobiPro script it is best to uninstall any non-core plugins or components which you will not be using to avoid the script being ‘hung’ during the process.
- Install the Sobi2 to SobiPro migration script as per the instructions. Navigate to the script & run it. The path will be something like http://localhost/yourfoldername/importsobi2v1_6.phpYou may need to tweak the script. You will need an understanding of PHP to do that. If you need to run it again note that it will replicate all the data that it copied in the first run so your SobiPro tables will be duplicated. To avoid this uninstall SobiPro including the database tables then install it again each time before you run the script.See comments at the end of this page for further information about the script process.
- Login to the backend & check that the SobiPro listings are all working.
The SobiPro sample data will also show. You can disable these or leave them as is for now.
- Install jUpgrade Adaptor which you can do through the SobiPro Application Manager. This is a free SobiPro plugin that you need to install before running the jUpgrade/jUpgradePro/redMigrator script.
- Make a backup using Akeeba 3.4.1
- At this point you need to choose between using jUpgrade or jUpgradePro as they work differently. I used jUpgradePro and it worked perfectly but from Forum comments it’s apparent that jUpgrade is a better option for some. There is a new tool from redComponent called redMigrator which is intended to replace both jUpgrade & jUpgradePro. However it would not run on my local host installation using XAMPP 1.7.1 so I can’t recommend it. You may have to experiment with each to see which works best. If you install all then disable the ones you aren’t using before doing the first upgrade. If it doesn’t work then disable it & enable the next one & do the upgrade again & so on.Note that jUpgrade Pro & redMigrator work differently from jUpgrade. Installation & setup instructions can be found on one of the links above.
- Install jUpgrade component in J2.5.14, complete the options data including debugging & run the script,
Install the jUpgradePro plugin in J1.5.26, add the secret key & activate it.
Install jUpgradePro component in J2.5.14. Complete the options data including error debug reporting & run the component.With either method, if the upgrade stalls it will show an error message. The most likely error is that it gets hung up on migrating plugin tables. There is no stop button but you can stop it by navigating back to another window.If there is an error uninstall the plugin but leave the tables in the database then run the script again. My installation got hung up trying to migrate ACY Mailing data so I uninstalled it – component, modules & plugins but not the database tables – and ran the script again & it worked fine.
- When the migration has been successfully completed make another backup using Akeeba 3.4.1. You can add notes to each backup to describe what stage in the process you are at.
- If you look at the tables in j15 database you will see some have a prefix of jos & some are jml. That is because J1.5.26 & 2.5.14 are using the same database.
In steps 34 & 35 you will cleanup the database by deleting some of the jos tables and renaming some of them to jml prefix.
- If you look at the backend of your j1.5.26 installation you should see both Sobi2 & SobiPro.
- Unzip the J2.5.14 download into a new folder called j25 in the htdocs folder in XAMPP 1.7.1. This will be your final upgraded website so the folder is in the root directory & it has it’s own database that is not shared with any other version of Joomla. Do Not start the installation of this yet as you need to do the following step first.
- Open MYSQL PHP Admin, make a copy of j15 to a new database called j25.
- Navigate to the j25 folder and complete the installation of J2.5.14. Make sure the database it is associated with is the new database called j25.
When running the installation change the database prefix to jml.
Do Not install Sample Data.
- Navigate to your Local Host new j25 installation of J2.5.14 (or you can do this on the last page of the installation by opening the Administration and Site links in new tabs. Make sure you can login to the backend admin login – bookmark this page.Check that the data has installed properly including all your contents, Community Builder & Sobi2 data (if applicable)Also make sure you can view the Home page. Check that all the links are working & the site is working properly.
- Install SobiPro. At this stage only the Sample data which comes with the SobiPro installation is showing as in J2.5.14 SobiPro uses the tables with the jml prefix. You will fix this in step 34 below.
- Install any plugins you have previously deleted in step 18.
Note that you may have to install newer Joomla 2.5 compatible versions.
- Install Community Builder & any other components you need if applicable
- Uninstall jUpgradePro
- Install Akeeba 3.6.12 in J2.5 & do a full backup of your J2.5.14 installation.
This is very important as you are going to cleanup the database by deleting tables & if you delete the wrong tables you may have to reinstate the backup & start the deletions again.
You may get a message saying that there is a later version of Akeeba which you can ignore. The later version will not run on XAMPP 1.7.1.
- Now its time to cleanup the j25 database.
Open MYSQL PHP Admin & look at the tables in j25.
Delete all the tables with a jml prefix for SobiPro & Community Builder & any other components you have installed in step 31 above.You can delete most of the tables that have the jos prefix including the jos_Sobi2 tables but Do Not delete any jos_SobiPro tables or tables that relate to components, modules or plugins you have reinstalled – for example, the tables for ACY Mailings if you have that installed.The reason you don’t delete these is that when you install components their tables in the database get the jml prefix but those tables only contain data that is included in the installation.The jUpgrade & the jUpgradePro components only migrate core data to new tables. The data you need for installed components such as SobiPro and ACY Mailings is still in the old table with the jos suffix.You can check this by comparing the records data for corresponding jos & jml tables & you will likely find that the jos table has more records than the corresponding jml table.The work around to fix this is to delete the jml tables for the particular component then rename the jos suffix to jml.
- To rename the tables:-
Install the Nilop Prefix Changer script in the root directory of your new J2.5.14 installation.Navigate to the prefix.php script, fill in the data parameters & run the script.You should get a message that the script could not change the prefix on the tables with the jml prefix & it changed the prefix on the jos tables.Now if you navigate to the front end &/or the back end you should be able to confirm that all the data is there for all the components you have installed.
Sometimes you may get an error when trying to login to the back end or to view the front end. Usually this is either a cache error which is simply solved by clearing the cache in your browser or XAMPP is not running so the local Host installation cannot be viewed.
- Make yet another backup using Akeeba 3.6.12
- Now you need to move your migrated J2.5.14 installation to a newer version of XAMPP that runs a PHP version that is more compatible with J2.5.
- Install XAMPP 1.8.2 in the C directory in a folder called ‘xampp’
- Copy the j25 folder in XAMPP 1.7.1 htdocs to the XAMPP 1.8.2 htdocs folder.
- Open MYSQL PHP Admin in XAMPP 1.7.1 & export a copy of the j25 database in SQL format. Save this to your desktop folder.
- Close XAMPP 1.7.1 & start XAMPP 1.8.2. They will not run at the same time as they use the same port though they can be set up to use different ports if you prefer.
- Open MYSQL PHP Admin in XAMPP 1.8.2 & setup a new database with the same name as the database you exported. Import the j25 database you downloaded (exported) in item 41 above.
- Navigate to the front end &/or the back end to confirm that all the data is there for all the components you have installed & the website is working.
- Install a suitable template for your new site & tweak it.
- Install Akeeba 3.8.1 and make a full back up.
- Upload this backup to a new folder in your website main directory called jupgrade.
- Navigate to the new jupgrade live site & make sure that it is working properly.
- Final steps to replace your existing website with the upgraded version:-Move the old site to a new directory, called something like /j15oldsite/
Move all the contents of jupgrade directory to main directory
When all looks ok do a full backup
Now you can safely delete the /j15oldsite/ directory
If there is a problem you can restore the original site with the backup
- Final comments
My website has 365 members with about 3,500 directory items including about 500 images.
I ran the script several times & it failed to copy over & set up several fields and did not transfer any images. I’ve decided to do that manually as I want to check the member listing anyway – laborious but probably worth it.Note that you can’t just copy the image files & folders from Sobi2 to SobiPro as SobiPro creates a new image folder for each directory listing. To add the images manually you will need to go into each SobiPro directory listing and upload the images that way. There is an icon image & an activity image. SobiPro makes three versions of each.The website I am upgrading is my New Zealand -based adventure website.I am now working on tweaking the template and adding features then the updated website will be uploaded.You can view the current site here:- Adventure NZ