Actions

Difference between revisions of "Copying a website from localhost to a remote host"

From Joomla! Documentation

(new faq)
 
(new faq)
Line 15: Line 15:
 
var $user = 'root';
 
var $user = 'root';
 
var $db = 'your_local_db_name';
 
var $db = 'your_local_db_name';
 
+
var $password = 'your_local_db_password';
 +
</source>
  
 
<source lang="php">
 
<source lang="php">
var $log_path = '/home/.sandy/gsnwadmin/test/logs';
+
var $log_path = '/yourhome/test/logs';
var $tmp_path = '/home/.sandy/gsnwadmin/test/tmp';
+
var $tmp_path = '/yourhome/test/tmp';
var $live_site = 'http://test.groundswellnw.org';
+
var $live_site = 'http://www.yoursite.com';
var $host = 'mysql-livedb.joomla15.groundswellnw.org';
+
var $host = 'your_host_mysql_db_name';
var $user = 'groundswellnw';
+
var $user = 'your_mysql_user_name';
 
var $db = 'groundswellnw_org_testdb';
 
var $db = 'groundswellnw_org_testdb';
 +
var $password = 'your_db_password';
 
</source>
 
</source>
  

Revision as of 10:49, 6 August 2008

When you are first trying out Joomla!, it is often recommended that you install it on your local system (e.g., "localhost"), for example with XAMPP, and get your site running locally. In this case, you may do enough work on your local Joomla! site that you want to copy this site to your remote host. Fortunately, this is very easy to do.

This article assumes you have installed Joomla! 1.5 on your local computer, you have created a website, and you now wish to copy this website to your remote host. Here are the steps:

  1. Create a place on your remote host to install Joomla!. If this is a new site, it will just be your home directory. If you have an existing site that you wish to keep while you work with Joomla!, you may be able to create a subdomain to hold your Joomla! site. Make sure you note the subdomain name for later. The details of creating a subdomain will vary by host, so you will need to check with your host on this.
  2. Next you need to put Joomla! on the remote host. There are three options (just pick one):
    1. Install Joomla! on your host site. If you have not customized Joomla! in any way (for example, installed any extensions, changed the template, or created any template overrides), often the simplest thing is just to install Joomla! on the remote host. Many host companies provide scripts that make installing Joomla! very easy.
    2. Copy all of your Joomla! files and folders from your localhost Joomla! folder to the remote host Joomla! folder and manually edit the "configuration.php" file. If you have customized Joomla! by installing extensions, modifying the template, adding template overrides, and so on, then it may be easier just to copy the Joomla! files from the local host to the remote host than to re-do your customizations. The file "configuration.php" is the only file that contains settings specific to your system. So this file must be edited to match the host system.
var $log_path = 'C:\\xampp\\htdocs\\joomla15\\logs';
var $tmp_path = 'C:\\xampp\\htdocs\\joomla15\\tmp';
var $live_site = '';
var $host = 'localhost';
var $user = 'root';
var $db = 'your_local_db_name';
var $password = 'your_local_db_password';
var $log_path = '/yourhome/test/logs';
var $tmp_path = '/yourhome/test/tmp';
var $live_site = 'http://www.yoursite.com';
var $host = 'your_host_mysql_db_name';
var $user = 'your_mysql_user_name';
var $db = 'groundswellnw_org_testdb';
var $password = 'your_db_password';

Install Joomla! in the desired DreamHost directory. See Install Joomla! for detailed instructions. You do not need to install the Joomla! example website. Note: During the Joomla! installation, you created the following MySQL parameters: database name, host name, user name, and user password. Make sure to keep a record of these, since you will need them later in this process. At this point, you have a local Joomla! 1.5 installation and an empty Joomla! installation in your DreamHost folder.

  1. Copy the required files from your local Joomla! folder to your DreamHost folder. Note that Joomla! content is stored in the MySQL database, which will be transferred in a later step.
    1. If you have not added or modified any Joomla! templates, extensions, or CSS files on your local system, you will only need to copy the images folder (assuming you added images) and any other files you have added or changed since you installed Joomla!.
    2. If you have added extensions or templates or modified one or more CSS files (or if you are not sure), then you can safely copy all of the Joomla! 1.5 files except for the configuration.php file. You want to keep the DreamHost configuration.php file and not overwrite this file with your local copy.
  2. Next, you need to copy the contents of your local MySQL database to the DreamHost MySQL database. This is done by creating an export file locally, copying the export file to the DreamHost server, and then importing the file into your DreamHost MySQL dabase, as follows:
    1. Open phpMyAdmin on your local system by navigating to it's URL with your browser. On your local system, this URL will normally be "//localhost/phpmyadmin". Note: If you have a password on your database, you will be prompted for it.
    2. The phpMyAdmin screen will display as shown below. Select the Export link.
      Screenshot phpmyadmin1.png
    3. Select the database you want to export in the upper right-hand list. In the example below, the database "joomla15" is selected. Keep all of the default options, including "SQL" as the export type.
      Screenshot phpmyadmin2.png
    4. Check the "Save as file" box at the bottom of the screen, and enter the name of the export file, as shown below. .
      Screenshot phpmyadmin3.png
    5. Press the "Go" button in the lower right corner. An Open / Save / Cancel dialog will display. Press Save and select a folder to save the file in. The export will complete and the file will be saved in the chosen location.
    6. Copy the export file to a folder on the DreamHost server, for example using FTP.
    7. Open up the phpMyAdmin on the DreamHost server. To do this, open your browser and navigate to the URL "http://" followed by the MySQL host name you named when you installed Joomla!. For example, if your MySQL host name is "mydatabase.joomla15.mywebsite.com", the URL for phpMyAdmin would be http://mydatabase.joomla15.mywebsite.com. You will be prompted to enter your MySQL user name and password that you created when you installed Joomla!.
    8. At this point, you need to import the contents of the export file created above. Before you can do that, however, all of the data from the existing Joomla! database must be deleted. An easy way to do that is to select the MySQL database for Joomla! from the drop-down list box in the upper left, as shown below.
      Screenshot phpmyadmin4.png
    9. The list of tables in the selected database will display. We want to delete all of these tables, since the Import will re-create them. Scroll down to the bottom of the list and select the "Check All" link. This will select all tables in the list. Then, in the drop-down list to the right of the Check All link, select "Drop", as shown below.
      Screenshot phpmyadmin5.png
    10. You will be asked to confirm that you really want to do this (since you are in effect deleting the entire database). Press Yes and you should get a message indicating that the query was successful.
    11. With the database still selected, press the Import Link at the top of the screen and browse to the location in your DreamHost folder where the .SQL export file was uploaded. Press Open to select the file and then press Go (lower left corner) to start the import. Again, you should get a message indicating that the query was successful.

Congratulations! At this point, your Joomla! website on DreamHost should be operational with the exact same information as your localhost site. If you installed it on a DreamHost subdomain, navigate to that subdomain to see or administer the site. For example, if your subdomain was named "mysubdomain", then navigating to http://www.mysubdomain.mywebsite.com should bring up your home page and http://www.mysubdomain.mywebsite.com/administer should bring up the login to the Joomla! admin area.