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 ...
随机推荐
- Graph database_neo4j 底层存储结构分析(3)
3.3 通用的Store 类型 3.3.1 id 类型 下面是 neo4j db 中,每种Store都有自己的ID文件(即后缀.id 文件),它们的格式都是一样的. [test00]$ls - ...
- Git 的使用感受
Git 的使用感受 从开始工作到现在,在公司里面一直用 svn 来做版本管理.大约半年前听说了 Git,因为 Git 的光辉相当耀眼,作者是 Linus Torvalds,被大量的开源软件采用,如 j ...
- QPushButton 与 QListWidget 的按键响应
在Qt中添加按钮或表格控件时需要添加其按键响应,一般来说有两种方法,一种是直接实现其响应函数,第二种是自己写一个响应函数,然后用Qt的信号槽将它们连接起来.愚以为第一种方法更为简单一些. 声明这些控件 ...
- 错误之thinkphp模型使用发生的错误
刚接触thinkphp模型的创建,在创建model类时在这里边声明了类的对象.唉,这是不理解的错误啊.什么叫做实例化模型对象,在控制器里边使用才创建. 模型这里写各种用到的函数. 这里我也体会到了查询 ...
- Web服务器上可能被包含或被请求的不同脚本源代码文件
Web服务器上可能被包含或被请求的不同脚本源代码文件的大致数量(建议值为1024~4096). ; 如果你不能确定,则设为 0 :此设定主要用于拥有数千个源文件的站点. apc.optimizatio ...
- CSV to XLSX (专用)
$csvFile = "F:\ACL\HZ ACL\ACL-APAC.CSV" $path = "F:\ACL\HZ ACL\ACL-APAC.XLSX" $r ...
- Ural 1741 Communication Fiend(隐式图+虚拟节点最短路)
1741. Communication Fiend Time limit: 1.0 second Memory limit: 64 MB Kolya has returned from a summe ...
- GC-垃圾回收
代:0代,1代,2代: 所谓第几代,指经历过GC回收的次数. 回收算法: 1.确认需要检查的代. 在分配新对象时, 如果第0代已满,则进行检查:如果第1代已满,则进行检查:第2代同理: 如第0代没有足 ...
- Apache Spark源码走读之14 -- Graphx实现剖析
欢迎转载,转载请注明出处,徽沪一郎. 概要 图的并行化处理一直是一个非常热门的话题,这里头的重点有两个,一是如何将图的算法并行化,二是找到一个合适的并行化处理框架.Spark作为一个非常优秀的并行处理 ...
- the essence of the internet idea
Computer Systems A Programmer's Perspective Second Edition Of course, we are glossing over many diff ...