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 ...
随机推荐
- 使用CSS修改HTML5 input placeholder颜色
HTML <input type="text" placeholder="Value" /> 有三种实现方式:伪元素(pseudo-elements ...
- xfce4桌面自动整理脚本
转自http://blog.chinaunix.net/uid-22101074-id-91073.html (有修改) xfce4桌面没有自动排列的功能,如果文件多了,超出了桌面的范围,就不好找了, ...
- (转)js:字符串(string)转json
第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...
- jsoncpp代码实例
最近开始使用 jsoncpp,以前一直在使用cJSON,但是使用cJSON的时候经常会忘记free掉json的内存,结果造成了内存泄露,程序跑着跑着就崩溃了.所以最近把json转移到了jsoncpp上 ...
- List 中对象属性排序
有几个方法可以实现:让 Student 实现Comparable接口,或是实例化一 个比较器, 现在用 Comparator 比较器实例来做一个:ComparableTest.java import ...
- Coremail邮件系统存储型XSS两个
(1):Coremail邮件系统存储型XSS之一 给受害者发送主题如下的邮件: <svg onload='img=new Image();img.src="//x55.me/geo.p ...
- 【液晶模块系列基础视频】3.3fatfs接口函数的使用3
============================= 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:ht ...
- 学习之痛(数据库->存储过程和函数)
存储过程和函数作为数据库的一部分,为什么是学习之痛. 项目实际开发,考虑性能和代码维护,绝对不用存储过程. 如果单纯自己写个小程序糊弄人玩,还可以写写. [学习] 在数据库中定义一些SQL语句集合,然 ...
- sqlite相关工具使用
sqlite3可视化工具 1.sudo apt-get install sqlitebrowser 2.sudo apt-get install sqliteman3.sqlitestudio需要去官 ...
- HDR Defered Shading (using MRT)
http://http.download.nvidia.com/developer/SDK/Individual_Samples/DEMOS/Direct3D9/DeferredShading.zip ...