Migración completa de una tienda entre hostings con Magento Connect incluido.

remora

Nuevo usuario
Buenas,

Este tema me ha dado muchos dolores de cabeza. Para que los próximos que tengan que afrontarlo les sea mucho más fácil dejo aquí todo el proceso:
La idea general es migrar de hosting una tienda de Magento ya funcionando pero en modo test. Se puede dar el caso que la URL de la tienda sea la misma en ambos
servidores o diferente. Hay varios posts por ahí de como migrar de un entorno de prueba pero no recopilan todos los casos posibles.
Es una simple recopilación añadiendo yo de mi cosecha la parte de Magento Connect.
En todos los casos, cuando digo borrar no está de mas hacer una copia de seguridad del fichero concreto o bien renombrarlo. Por lo que pueda pasar. Y como no, decir también que este es el proceso lógico y que a mi me ha funcionado. No quiero decir
que lo que diga aquí vaya todo a misa. Son temas complejos y dependen mucho de la configuración de cada usuario.

En mi caso la migración era:
- Hosting en USA con Cpanel a Hosting en Francia con Plesk.
- Diferente URL dado que en el hosting de USA estaba en modo test:
www.dominio.com/mangeto -> www.dominio.com
- Diferentes versiones de Magento. La 1.3.0 en USA y upgradar a la 1.3.1 en Francia.
- Diferente base de datos con diferente nombre de usuario y password en ambos hostings.
- Diferentes directorio raíz a nivel de estructura de tienda dado que Cpanel y Plesk tienen sus propias rutas. /home/dominio/public_html/magento/ en USA y /var/www/vhosts/minuevodominio.com/httpdocs en Francia.

Vamos.. creo que no podía ser peor!. ;-)

Esta es la parte que ya se ha explicado en otros posts y blogs y que pongo a modo de recopilación.

1. Mover ficheros físicamente entre servidores.
2. Borrar las subcarpetas cache y session de la capreta var.
3. Actualizar campos de la tabla: core_config_data
1. web/unsecure/base_url por http://www.nuevaurldemidominio.com/
2. web/secure/base_url por http://www.nuevaurldemidominio.com/
4. Centro de app/etc/local.xml localizar parámetros de conexión de la BD y adaptar a los del nuevo hosting.
<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[usuario]]></username>
<password><![CDATA[contraseña]]></password>
<dbname><![CDATA[nombrebd]]></dbname>
<active>1</active>
</connection>


Este proceso ya nos debería permitir interactuar con la tienda, si todo ha ido bien. Ahora el proceso para que funciona el Magento Connect y nos permita actualizar a una versión superior en el nuevo hosting.

1. Dar permisos 777 a TODOS los directorios (OJO! solo directorios, no ficheros) dentro de toda la estructura del site, incluido el directorio raíz que contiene toda la estructura de Magento (en Cpanel suele llamarse public_html y en plesk httpdocs).
2. Dar permisos 777 a TODOS los FICHEROS Y DIRECTORIOS dentro a partir de la ruta /downloader/
3. No está de más eliminar todas las versiones de actualizaciones previas almacenadas en: /downloader/pearlib/download/
4. Eliminar todo el contenido de: /downloader/pearlib/cache/
3. Eliminar el fichero /downloader/pearlib/pear.ini
4. Modificar las rutas físicas dentro de los ficheros pear, peardev y pecl dentro de /downloader/pearlib/ y adaptarlas al nuevo hosting. Por ejemplo, en mi caso las rutas originales eran: /home/dominio/public_html/magento/downloader/pearlib/php y las convertí a: /var/www/vhosts/minuevodominio.com/httpdocs/downloader/pearlib/php. Hay varias rutas de este estilo dentro de los ficheros comentados. Ojo! con no tocar nada del resto ya que podría dejar de funcionar.
5. Entrar en el admin de la tienda y en Magento Connect y actualizar.
6. Volver a dejar los permisos de los ficheros y directorios de la tienda en 644 y 755 respectivamente, si cabe.

Espero que este post os sea útil. Cualquier duda no dudéis en postear.

Saludos a todos.
 
Última edición:

raimonesteve

Nuevo usuario
:ok:

Los direcotorios que se necesita que apache escriba:
/app/etc
/var
/media
/media/import
/app/etc/use_cache.ser

Y para funcione Magento connect, necesita estos permisos:

find . -type d -exec chmod 777 {} \;
find . -type f -exec chmod 644 {} \;

A web a producción yo soy restrictivo con el tema permisos y nunca hago cambios a producción sin antes probarlo en local.
Lo hago todo en local: nuevas features y actualización. Con rsync, envio los cambios a producción.
 

batigol

Nuevo usuario
Muchas Gracias Remora , suenan muy simples tus pasos los voy a utilizar pronto , solo me queda una duda con respecto a las bases de datos.

Se copia la base de datos a tu nuevo hosting
Se copian los archivos a la nueva base de datos
Como se hace esto para no perder nada de la info.

Disculpa si me pregunta es obvia , pero yo no tenia experiencia en web hasta hace 5 meses que empece a estudiar para hacer mi pagina y tengo mucho miedo de perder mi tienda.

Saludos!
 

remora

Nuevo usuario
Hola Batigol,

Descuida. No es problema hacer pregunta en los foros. Para eso están. :ok:

La copia de la BD hay que hacerla utilizando o bien el phpmyadmin (gestor de BD) que provee el hosting o bien utilizando una aplicación de escritorio, como por ejemplo Navicat y conectándose remotamente al servidor. Realmente en ambos casos, lo que se hace es exportar todo el contenido de la BD (tablas y registros) a un fichero de texto (.sql) con las instrucciones necesarias para recomponer la BD de nuevo en destino.

Una vez en el hosting final repites el proceso pero en este caso importando el fichero .sql y se recuperan los datos.

Espero que te haya ayudado. Si no te queda del todo claro, no dudes en preguntar y te lo explicaré mejor.

Saludos,
 

batigol

Nuevo usuario
Que tal Remora soy yo nuevamente tengo algunas otras preguntas .

1. Mover ficheros físicamente entre servidores.(exacatemente cuales son los ficheros , que debo de hacer , me imagino que instalo magento en el otro hosting y luego copio carpetas y archivos , me podras apoyar especificandome cuales?.

3. Actualizar campos de la tabla: core_config_data
estos campos se actualizan una vez copiados al nuevo sitio? y como hago esas modificaciones por medio del cpanel o necesito algun software especifico?.

Basicamente esas son mis preguntas disculpa que moleste tanto pero quisiera hacer el mvimiento de la manera correcta.

Muchas gracias de antemano por el apoyo , tu eres de España o de Mexico?

Saludos!
 

remora

Nuevo usuario
Hola Batigol,

Respecto al punto 1 yo lo que hice fue copiar los ficheros de la tienda desde el hosting antiguo a mi PC, utilizando un cliente de FTP. Cuando digo ficheros me refiero a TODO. (ficheros de código, imágenes, directorios, etc..). Luego desde tu PC lo subes al nuevo servidor donde vas a migrar. No recomiendo hacerlo instalando de cero en el otro server y luego sobrescribir dado que te puede dar problemas.

Respecto al punto 3, esos cambios se hacen en el nuevo server directamente sobre la base de datos migrada utilizando en tu caso phpmyadmin desde tu panel de control Cpanel. Debes localizar la tabla core_config_data y actualizar los campos con la nueva URL de la tienda. Pero recuerda que este paso solo hay que hacerlo si al migrar de servidor la tienda cambia de URL.

Soy de España! ;-)

Saludos,
 

raimonesteve

Nuevo usuario
Que tal Remora soy yo nuevamente tengo algunas otras preguntas .
esta documentado y hablado muchas veces

1. Mover ficheros físicamente entre servidores.(exacatemente cuales son los ficheros , que debo de hacer , me imagino que instalo magento en el otro hosting y luego copio carpetas y archivos , me podras apoyar especificandome cuales?.
Basicamente son:
app/design/... -> tu template
skin/.... -> los estilos de tu template
media -> las imágenes

Y si has tuneado tu magento copiar tb los fichos que extenden (entendiendo que no has tocado el core de magento)

3. Actualizar campos de la tabla: core_config_data
estos campos se actualizan una vez copiados al nuevo sitio? y como hago esas modificaciones por medio del cpanel o necesito algun software especifico?.
Accedes a la base de datos y los modificas manualmente si hacen falta.. Hay muchas maneras de acceder a la base de datos. Por ejemplo, con el phpmyadmin
 

batigol

Nuevo usuario
Pues Muchisimas gracias a los dos , la verdad he tenido muchos problemas con mi hosting actual ya que se cae el sitio casi todos los dias siempre esta saturado el ancho de banda etc...

Les agradezo a los dos .

www.turestaurante.com.mx

Saludos!
 

dax

Nuevo usuario
No accedo al admin

Primero agradecerte este post, me ha sido útil varias veces y es una excelente informació.

Segundo.
He migrado magento entre 2 hostings, y me encuentro, por una parte que el frontend no muestra la información de los productos, ni las categorias de menu ni el skin que havia diseñado y que ya funcionava en el otro hosting, y ademas cuando intento acceder al admin me dice "Invalid Username or Password". Si quiero recuperar mi contraseña introduciendo el email, me dice "Can't find email address."

No se si te has encontrado alguna vez con este problema i puedes iluminarme un poco.
Muchas gracias
 

remora

Nuevo usuario
Buenas, por lo que comentas tiene pinta de que no se ha migrado correctamente la base de datos. Todo lo que especificas que no puedes ver está ahí, en la base de datos. Revisa que la exportación se ha hecho correctamente.


Primero agradecerte este post, me ha sido útil varias veces y es una excelente informació.

Segundo.
He migrado magento entre 2 hostings, y me encuentro, por una parte que el frontend no muestra la información de los productos, ni las categorias de menu ni el skin que havia diseñado y que ya funcionava en el otro hosting, y ademas cuando intento acceder al admin me dice "Invalid Username or Password". Si quiero recuperar mi contraseña introduciendo el email, me dice "Can't find email address."

No se si te has encontrado alguna vez con este problema i puedes iluminarme un poco.
Muchas gracias
 

dax

Nuevo usuario
Exception printing is disabled by default for security reasons.

Muchas gracias Remora por contestar tan rápidamente. Tenias razón, yo tenia 2 bases de datos y magento estava apuntandoa la que no devia. De todas formas, cuando me di cuenta ya era demasiado tarde y hbia borrado parte de los archivos para empezar otra vez.

Ahora tengo otro problema.
He hecho la migración de cero otra vez, però ahora cuando accedo al web me sale este mensaje:

There has been an error processing your request

Exception printing is disabled by default for security reasons.

Error log record number: 669869752292


He buscado el error en var/report y dice esto:

a:4:{i:0;s:115:"Notice: Undefined index: 0 in /usr/home/jlabro.tld/web/app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92";i:1;s:675:"#0 /usr/home/jlabro.tld/web/app/code/core/Mage/Core/Model/Mysql4/Config.php(92): mageCoreErrorHandler(8, 'Undefined index...', '/usr/home/jlabr...', 92, Array)
#1 /usr/home/jlabro.tld/web/app/code/core/Mage/Core/Model/Config.php(344): Mage_Core_Model_Mysql4_Config->loadToXml(Object(Mage_Core_Model_Config))
#2 /usr/home/jlabro.tld/web/app/code/core/Mage/Core/Model/App.php(366): Mage_Core_Model_Config->loadDb()
#3 /usr/home/jlabro.tld/web/app/code/core/Mage/Core/Model/App.php(295): Mage_Core_Model_App->_initModules()
#4 /usr/home/jlabro.tld/web/app/Mage.php(596): Mage_Core_Model_App->run(Array)
#5 /usr/home/jlabro.tld/web/index.php(78): Mage::run('', 'store')
#6 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";}

No se si esto tiene solución, però seria genial si la tubiera...
 

karen

Nuevo usuario
pregunta, debo de tener instalado Magneto en el nuevo hosting o solo es necesaria la migración?
 
Arriba