How to Move Magento to a New Server or Domain
Magento is one of the fastest growing eCommerce platforms on the internet and with its recent acquisition by eBay it promises to stay on the lead and keep growing with even faster pace than before. It’s been choice for a platform for many of my clients and recently I had to do some development work on one of the websites. The shop was running Magento 1.7 and was on a dedicated CentOS server.
Move Magento to different domain/subdomain
I had to copy the live site in a development environment do the changed and move back to the live instance. The structure was as follows:
|
1
2 3 4 5 |
Live instance: domain.com
Path: /var/www/vhosts/live Dev Instance: dev.domain.com |
so to start first I moved across all of the files from live to dev:
|
1
|
# cp -r /var/www/vhosts/live/* /var/www/vhosts/dev
|
Next step was creating database for the development instance. First create your database in MySQL
|
1
|
CREATE DATABASE magento_dev;
|
Then you can copy the live one to the dev with one simple command:
|
1
|
# mysqldump -umagento -p magento_live > mysql -umagento -p magento_dev
|
OK so far so good we have the code base and the database ready next step would be changing the configurations of the development build so it uses the correct database connection. This step is very important and you should make sure that you dev build is not connected to your live database because this will mess the things up really bad.
The configuration file in our dev build is under:/var/www/vhosts/dev/app/etc/local.xml there you have to edit the following lines:
|
1
2 3 4 |
<host><![CDATA[HOSTNAME]]></host>
<username><![CDATA[USER]]></username> <password><![CDATA[PASSWORD]]></password> <dbname><![CDATA[DATABASENAME]]></dbname> |
And those should have values according to your database and user in our case that was:
|
1
2 3 4 |
<host><![CDATA[localhost]]></host>
<username><![CDATA[magento]]></username> <password><![CDATA[OuRSTR0NgP455W0RD]]></password> <dbname><![CDATA[magento_dev]]></dbname> |
Once the database connection is established you have to change the base URL of the shop. There are two specific rows that needs to be updated and they should be in your config table: core_config_data
|
1
2 |
UPDATE core_config_data SET VALUE = "http://dev.domain.com" WHERE path = "web/unsecure/base_url";
UPDATE core_config_data SET VALUE = "http://dev.domain.com" WHERE path = "web/secure/base_url"; |
In our case the secure and insecure URLs are both the same but if you have HTTPS already set for the new domain you can change the second query to match your existing URL. We are almost done but most likely our shop still wont work and the reason for that is the Magento magical cache. You have to delete all file and session cache.
|
1
2 |
# rm -fr /var/www/vhosts/dev/var/cache/*
# rm -fr /var/www/vhosts/dev/var/session/* |
So that is all you can now start using you new shop. If you have problems logging in to Magento back-end because you don’t know the admin password you can restart Magento admin password.
Move Magento to another host
This is almost the same process but you need to compress the files and move them across to the other server.
First we have to export our database:
|
1
2 |
# cd /var/www/vhosts/live
# mysqldump -umagento -p magento_live > magento_live.sql |
After that move to the root folder that contains all of the live build files and archive it with tar ball
|
1
|
# tar -zcvf magento_live_bck.tar.gz /var/www/vhosts/live/*
|
This archive should contain all of the Magento files and the database dump. Next step is copying the archive across to the other server:
|
1
2 3 4 |
# scp /var/www/vhosts/magento_live_bck.tar.gz root@other.server.com:/var/www/vhosts/live
# root@other.server.com # cd /var/www/vhosts/live # tar -zxvf magento_live_bck.tar.gz |
Once you have moved the files across all you have to do is import the database and do the steps mentioned above for the domain move.
Other issues with Magento blank screen
If you get blank screen check your php error log and enable your error printing by putting this into index.php
|
1
2 |
// index.php
error_report(1); |
Here is a solution of error that I go: Broken local XML
|
1
|
Call to a member function extend() on a non-object in httpdocs/lib/Varien/Simplexml/Config.php on line 600
|
Other than that you should make sure you have all needed PHP extensions installed on the server for example mbcrypt.
And last but not least is to check your .htaccess file and if needed update theRewriteBase tag to point to your root directory on your server.
How to Move Magento to a New Server or Domain的更多相关文章
- Importing Product Images on Magento
Multiple product images of each type can be imported into Magento, and associated with a specific pr ...
- The Windows account sa does not exist and cannot be provisioned as a SQL Server system administrator
今天遇到一个案例,在使用命令修改一个测试服务器(SQL Server 2014标准版)的服务器排序规则时,遇到了下面错误信息 (具体账号信息脱敏处理,随机生成一个账号密码) The Windows a ...
- [转]How to speed up Magento 2. Maximum Performance
本文转自:https://magedirect.co/how-to-speed-up-magento-2-maximum-performance/ Introduction In this artic ...
- SQL Server 2012 无人值守安装(加入新实例)
方法1,通过指定条个參数安装 setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /PID=<validpid> /FEA ...
- Microsoft SQL Server Version List [sqlserver 7.0-------sql server 2016]
http://sqlserverbuilds.blogspot.jp/ What version of SQL Server do I have? This unofficial build ch ...
- Microsoft SQL Server Version List(SQL Server 版本)
原帖地址 What version of SQL Server do I have? This unofficial build chart lists all of the known Servic ...
- SQL Server 2012 无人值守安装
方法1,通过指定条个參数安装 setup.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /PID=<validpid> /F ...
- Problem with WinRM on Exchange 2013 Management Shell and Exchange Toolbox on a new exchange 2013 with CAFE and BE on single server installation
While deploying MS Exchange 2013 I experienced issues with accessing the Exchange Management Shell a ...
- 利用Ring Buffer在SQL Server 2008中进行连接故障排除
原文:利用Ring Buffer在SQL Server 2008中进行连接故障排除 出自:http://blogs.msdn.com/b/apgcdsd/archive/2011/11/21/ring ...
随机推荐
- unity button
#pragma strict var buttonTexture:Texture2D; private var str:String; private var frameTime:int; funct ...
- window.open() 被拦截后的分析
前言:此文章仅是个人工作中遇到问题后的一些记录和总结,可能毫无意义.. 事件回顾: 在开发中,PM要求在一个页面中输入多个链接然后可以一键在新窗口打开,所以就想到用window.open来实现,但是测 ...
- BZOJ4011: [HNOI2015]落忆枫音
Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出 这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂……我们 ...
- Redis错误配置详解
在使用Redis做缓存时,应用往往能得到非常高的性能.然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制.复制超时等. Redis提供了许多提高和维护高效内存数据库使用的工具.在无需额 ...
- php广告显示设置存放记录的目录代码
<?php #########随机广告显示########## function myads(){ $dir="ads"; #设置存放记录的目录 //$dir="a ...
- Self Service Password (SSP)
安装SSP, 依赖包包括php5, php5-ldap, php5-mcrypt 启用mcrypt功能: sudo php5enmod mcrypt 第一部分: Apache 安装Apache, 并且 ...
- MS14-025引起的问题 - 2
5月,微软在13日发布月度安全更新,其中 有KB2871997和 KB2928120两个知识库文章Knowledgeased(而KB2871997甚至不是Security Bulletin).对于无论 ...
- KMS错误代码收集
Q:KMS认证时,错误讯息代码0x80070005? A:-0x80070005:存取遭拒.要求的动作要求较高的权限. -这个错误讯息,代表您在执行命令提示字元(cmd)时,没有以系统管理员的身份执行 ...
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...
- Python函数1
Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...