Joomla Content Management System was forked off Mambo CMS after most of the core Mambo developers disagreed with Mambo Management. Joomla ���� ����� ������� ����� �� ����� �� ������� ������� �������� ��� ���� �� ����� �������� ����� ����� �� ���� �� �������. The current stable release is ������ �� ����� ����� 1.0.10 . I migrated from Mambo to Joomla to deter hacking efforts on my site. ��� ���� �� ����� Joomla ��� ������ �������� ���� ������� ��� �����.
Note: I could have as well migrated to the latest version of Mambo but I just felt like going Joomla way. ������ : ��� ������� ���� ������ ��� ���� ����� �� ����� ���� ��� ��� ���� ��� ������ Joomla �������.

Here are required the steps, simplified and in brief, targeted for command-line users. ���� ������� �������� � ����� �������� � ���� ������ �� ����������.

Pre-requirement: If you are not on 4.5.2.x versions of Mambo then you need to first upgrade to Mambo 4.5.2.x version. ��� ����� : ��� �� ��� ��� ��� �� 4.5.2.x ����� �� ��� ����� ��� ��� ����� ��� ���� ����� 4.5.2.x.


1. Backup you MySQL database. ��� ������ ����� �������� ����������.
For example if your MySQL database is named tango then the command below will create your backup named tango.sql.gz ���� ���� ������ ��� ���� ����� ������ ������ ���� ��� ��� ����� ������� ����� ����� ���������� ������ �� ���� tango.sql.gz
mysqldump —-opt tango | gzip -9 > tango.sql.gz mysqldump -- ������� ������� ���������� ������� | gzip -9> tango.sql.gz

2. Extract latest stable version of Joomla to any directory under htdocs. ������� �� ��� ���� ������ Joomla ��� �� ���� �� ���� htdocs. We will assume the name of the directory to be test for simplicity and easy reference. ���� ��� ���� ��� ������ ����� ������� ������ ������ ������ �����. In reality it can be named anything. �� ������ ���� �� ���� �� ���. Only requirement is that it should be somewhere under htdocs. ������ ������ �� ��� ����� �� ���� �� ���� �� htdocs.

3. Copy your Mambo configuration.php file (under Mambo root directory) to your Joomla site. ���� ����� configuration.php ����� ����� �� (��� ������ ������� ����� (Joomla ��� ����� �� ������. Change the $mosConfig_absolute_path and $mosConfig_live_site variables to point to Joomla base / root directory. ����� ����� mosconfig_absolute_path ����� mosconfig_live_site ���������� ���� ��� ����� Joomla / ������ �������.

4. Copy any custom templates, components, modules, mambots and languages to the same relative locations in the new Joomla directory. ���� ��� ��� ������� ��������� � ������ �mambots ������� ���� ������ �� ����� ����� Joomla ������. Do not copy the default ones. �� ��������� ���� ����.

5. Copy installation/sql/migrate_Mambo4523_to_Joomla_100.sql to your base directory. ���� installation/sql/migrate_mambo4523_to_joomla_100.sql ��� ����� �� ����� ������.
cp installation/sql/migrate_Mambo4523_to_Joomla_100.sql . installation/sql/migrate_mambo4523_to_joomla_100.sql ��� ���������.

6. Delete Joomla installation directory ��� Joomla ����� ����
Go to Joomla base directory and type the following. ���� ��� ����� Joomla ���� ���� �������. It should delete the installation directory (without any warning; you have been warned). ������ �� ���� ����� ������ (��� �� ����� � ��� �� ����).
rm -rf installation ������ ������ - ����� �������� ���������

7. Load the migrate_Mambo4523_to_Joomla_100.sql script to your MySQL database ����� migrate_mambo4523_to_joomla_100.sql ������ ��� ������ ����� �������� ������ ��
For example if your database name is mambo and your user is root (bad practice): ���� ���� ������ ��� ���� ����� ������ ����� ���� �������� ����� �� �� ����� (������ ����) :
mysql -u root -p mambo < migrate_Mambo4523_to_Joomla_100.sql ������ ������� - � - � ����� <migrate_mambo4523_to_joomla_100.sql
You will be prompted for the password, give it. ��� ���� ��� ����� ���� � �� ���� ��.

8. Open globals.php and change define( 'RG_EMULATION', 1 ); to define( 'RG_EMULATION', 0 ); . Globals.php ������ ������ ����� ( 'rg_emulation' � 1) � ������ ( 'rg_emulation' � 0) �. This hardens your Joomla installation. ��� hardens Joomla ����� ����� ��.

9. If you were using nice url then you should also copy .htaccess from your original directory ��� ��� ������ ���� ����� ���� ����� ���� ���� ����. Htaccess �� ���� ������ ����� ��
cp ../original_directory/.htaccess . ��� ���������.. / original_directory /.htaccess.

10. Test the new site thoroughly. ������ ���� ���� �����.

11. On success, first archive the old site and then replace the old site with the new site. ��� ������ � ���� ����� ������ ������ ���� ��� ������ �� ������ ������ �� ������ ������. For example if your old site is name alpha and your new site is named beta and both are placed directly under htdocs, then you can use the following: ���� ���� ������ ��� ��� ������ ������ �� ��� ���� ����� ������ ����� (����) ��� �� ���� ���� ������ ��� htdocs � �� ����� ������� �� ��� :

tar -cjf alpha.tar.bz2 alpha/ ������� - cjf alpha.tar.bz2 ���� /
rm -rf alpha ������ ������ - �������� ��������� ����
mv beta alpha ���� ���� ���������

12. Test every pages thoroughly, if possible. ������ �� ���� ����� � ��� ��� ��� �����. Test polls and form submission. ������ ������ �������� ������ �������.

Note: I followed the excellent ������ : ����� ������� how-to article - ��� ������ to aid my migration. ������� ����� ������. However I differed (as described above) where appropriate (and simpler) and where there were little mistakes (like there are no globals.php-off) in the guide. ��� ���� ����� (��� ����� ������ �����) ��� �������� (�����) ���� ���� ���� ����� ����� (��� ��� ���� globals.php - ��) �� ������. I prefer using MySQL commanline over phpmyadmin, so this guide shows the command-line way. ���� ���� ������� ������ commanline ���� �� phpmyadmin � ��� ���� ��� ������ ������� �� ������. Check the article referenced to do it using phpmyadmin. ������ �� ������ ������ ����� ��� ������ ���� �������� phpmyadmin.

Note 2: Use at your own risk. ������ 2 : ������� ��� �������� ������. No warranty, implied or otherwise is provided. �� ���� � ���� �� ���� �� ��� �����.