X-Cart:Moving store to another host

From X-Cart 4 Classic
Revision as of 11:35, 15 February 2013 by Dohtur (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

To move your store from one host to another:

1.

X-Cart 4.0or above

If your images are stored on the file system, move them to the database. This can be done under the 'Images location' section of the admin area.

This step is necessary for 4.0.x and earlier versions only. See also: FAQs: How do I know which version of X-Cart I use?

2. Backup the entire directory with your X-Cart based store; that's either the document root directory or one of its subdirectories. It is also recommended to delete the content of the 'templates_c' directory before creating the backup file.

For 4.0.x and earlier versions the 'templates_c' directory is located in the root X-Cart directory. For 4.1.x and later versions - it is located within the '<xcart_dir>/var' directory. See also: FAQs: How do I know which version of X-Cart I use?

3. Backup the database. You can do that using either the 'DB backup/restore' feature (see the corresponding section of the admin interface) or a MySQL terminal utility (like mysqldump or phpMyAdmin).

4. Upload the entire directory with your X-Cart based store to a web-accessible directory on the new server.

5. Edit the config.php file and adjust the settings related to your MySQL database account on the new host:

#
# SQL database details
#

$sql_host ='%SQL_HOST%';
$sql_user ='%SQL_USER%';
$sql_db ='%SQL_DB%';
$sql_password ='%SQL_PASSWORD%';

6. Edit the config.php file and adjust the settings related to the X-Cart HTTP & HTTPS host and web directory where it is to be moved:

$xcart_http_host ="$HTTP_HOST";
$xcart_https_host ="$HTTP_HOST";
$xcart_web_dir ="/xcart";

You should put hostname here only without http:// or https:// prefixes. Also do not put slashes after the hostname. Web dir is the directory in the URL, not the filesystem path. Web dir must start with slash and have no slash at the end, the only exception is when you configure for the root of the site, in which case you should leave it empty.

EXAMPLE 1:

$xcart_http_host ="www.yourhost.com";
$xcart_https_host ="www.securedirectories.com/yourhost.com";
$xcart_web_dir ="/xcart";

- will result in the following URLs:

http://www.yourhost.com/xcart
https://www.securedirectories.com/yourhost.com/xcart

EXAMPLE 2:

$xcart_http_host ="www.yourhost.com";
$xcart_https_host ="www.yourhost.com";
$xcart_web_dir ="";

- will result in the following URLs:

http://www.yourhost.com/
https://www.yourhost.com/

You will find some additional explanations in the config.php file above the mentioned lines. If the URL to your store is not being changed, you should not edit these lines.

7. Set proper file permissions on your newly uploaded X-Cart files and directories. See Restoring File Permissions for more information.

8. Upload the database backup file to the MySQL database on the new host using a MySQL terminal. If you have SSH access to your host, you can upload the database using the command-line interface:

mysql -u<user> -p<pass> -h<host> <database> < <backup file>

where <user> is the MYSQL database user name, <host> - the MYSQL host name (typically 'localhost'), <pass> - the password to your MYSQL database, and <database> is the database name itself. <backup file> is the name of your database backup file.

If you don't have any terminal access (SSH, telnet or others), check the control panel at your hosting: it may contain PHP MYSQL admin or other MYSQL tools.

9. Test the newly uploaded X-Cart based store.

10. Move the images from the database to the file system if necessary.

Note on moving stores based on X-Cart 4.5.5 or later

If moving a live X-Cart 4.5.5 or later store that used to run on PHP 5.3.x to a new hosting, make sure the version of PHP on the new hosting is the same or better than on the hosting you are moving from. Downgrading to PHP 5.2.x is not recommended because under certain conditions it may result in losing the passwords of your existing users.