Not long ago I transferred my Joomla! website to a new domain but in the same host. I don't know it is wise decision of doing that or not. Anyway my plan is to use my old domain for something else. So I transferred my old domain site manually to a new domain. Here are the steps I've used to accomplish that.
- Install a new version of Joomla! Package if you can. The newest version is Joomla! 1.0.15 and this is the version I am using right now. To do that, I first downloaded Joomla_1.0.15-Stable-Full_Package to my laptop/PC. If you are using other Joomla! version, then you can search the Internet for it, download it to your laptop/PC, and then install it. The idea is to have a fresh installation so that everything is working properly.
- I then unzip Joomla_1.0.15-Stable-Full_Package file that I've downloaded earlier and upload them to my root directory of my website server using FTP.
- Next type your website's url in your browser. For example I have to type mine like this: http://www.internetoutput.com, hit enter, and it will automatically redirect me to the Joomla! installation page.
- If you see everything is green, then you are ready to go to the next step. If not you have to fix those file permissions before you can proceed. Basically you need to log in to your FTP account. On your server site right click on the folder whose permission you need to change. Scroll down to find Properties, click on it, change file permission to be 0777, and click on OK. Repeat this process till all folders' permissions are set to be 0777. I use Windows XP home edition. If you use something else, your screen properties might look different than mine.
- Refresh your installation screen. The files whose permissions you've just changed should be green now. So click on Next to proceed.
- Read the GNU/GPL license and click on Next to proceed.
- Now in the new screen, you will be asked to enter Host name, Mysql user name, Mysql password, and Mysql database name. So now you have to log in to your host account and create a new database. Come back here, enter the required data, and click on Next. If you are not sure of how to create a new database, check out this video: Video tutorial for creating MySQL database and user in cPanel.
- Joomla! will ask you to confirm that whether the required data are correct. Click OK to go to the next screen.
- If you've entered everything correctly, the next screen will ask you to enter the name for your site. Do so and then click on Next.
- Then the new screen will ask you to enter your url, the path to your domain on your server which is provided already(you should leave it alone. If you got so far, it should be correct), your email that you want to use for your new website, Admin password (you must remember it because you need it to log in to your admin back end), and click on Next to proceed.
- A new screen will say, "Congratulations! Joomla is installed."
- Now log in to your host account again, find phpMyAdmin from your host's cPanel and click on it. A new screen will open. It will allow you to backup (export) your old domain's database to your laptop/PC. Since I use hostmonster.com as my website host, it is so easy to fulfill it. For more details, please read MySQL Tutorial.
- Open and edit your old domain's database in Notepad before you upload (import) it back to replace your new domain's database. For example, I have to replace the old database name airlinet_joom1 with the new database name airlinet_joom. All the old urls have to be changed to be the new urls. For example: all http://www.mycoolonlinestores.com have to be replaced with http://www.internetoutput.com. After you've done that, save it, and upload the amended database to replace the new database using phpMyAdmin on your host's cPanel.
- Download configuration.php file (it should be in your root directory) to your laptop/PC, edit the following lines, and then upload it back to your root directory:
$mosConfig_absolute_path = '/home/hostlogin/public_html/';
$mosConfig_cachepath = '/home/hostlogin/public_html/cache';
$mosConfig_db = 'hostlogin_joom1';
$mosConfig_password = 'passwordfordb';
$mosConfig_smtphost = 'localhost';
$mosConfig_user = 'hostlogin_joom1';
where you have to change hostlogin to be your host's user name, joom1 to be your new database name, passwordfordb to be your new database password. In my case I even have to change home to be home1. You can also find out your absolute path on your host's cPanel.
Some people may use add-on domain for a website. In that case, they need to update the absolute path as it is. For example: they need to update $mosConfig_absolute_path = '/home/hostlogin/public_html/sub-folder'; instead of $mosConfig_absolute_path = '/home/hostlogin/public_html/'; where sub-folder could be any name that they've created in their server.
- The final step is to redirect all your search engine traffic to your new website. This is the ugly part that most people don't like. For more information, please read Redirect Using 301 or 302?.
How to Transfer My Joomla! Website to a New Host?
Session Save Path Unwritable in Joomla! Install?