Moviendo Magento de directorio o de dominio

Tanto para los que recién se inician con Magento, como para los que ya llevamos un tiempo; es muy común que trabajemos en un ambiente de desarrollo nuestra tienda, antes de pasarla a producción.

Hay casos en los cuales, por esos caprichos de la vida, se termina cargando todo el contenido de la tienda en nuestra base de datos de desarrollo.

De repente, te avisan que hay que poner en producción el sitio, tal cuál lo tenés en el ambiente de demo.

La primera vez que me tocó encontrarme en ésta situación no fue alegría lo que me invadió. Recordemos que Magento establece la URL en la que es instalado, y utiliza esos valores para el 99,99% de las URLs que imprime.

Como siempre, «hecha la ley… hecha la trampa».

Vamos a suponer que tu tienda se encontraba instalada en http://www.tudominio.com.ar/magento/.

Terminaste de probar y decidiste que estás listo para pasar el sitio a su etapa productiva. El truco para que Magento funcione en una nueva URL es bastante simple.

En primer lugar, copiar todos los archivos en la nueva carpeta.

Si nuestro dominio fuera http://www.tudominio.com.ar/magento/ y queremos dejar la tienda funcionando en http://www.todominio.com.ar/, sólo bastará con mover todas las carpetas de lugar.

(Una recomendación, es borrar las subcarpetas cache y session de la capreta var).

Ahora, vamos con la segunda parte.

Todas las configuraciones troncales de Magento se guardan en una tabla dentro de la base de datos. Nuestra nueva amiga se llama core_config_data.

Vamos a traernos los registros de esa tabla, pero le vamos a prestar especial atención a dos valores en particular. Así sería el query filtrando por esos valores.

SELECT * FROM core_config_data WHERE path = 'web/unsecure/base_url' OR path = 'web/secure/base_url';

Esté sería el resultado que tendríamos que obtener.

+-----------+----------+----------+-----------------------+--------------------------------------+
| config_id | scope    | scope_id | path                  | value                                |
+-----------+----------+----------+-----------------------+--------------------------------------+
| 2         | default  | 0        | web/unsecure/base_url | http://www.tudominio.com.ar/magento/ |
| 3         | default  | 0        | web/secure/base_url   | http://www.tudominio.com.ar/magento/ |
+-----------+----------+----------+-----------------------+--------------------------------------+

Como ven, es acá donde se establece la URL de Magento.

Ahora vamos a cambiar esos valores con nuestra nueva URL. Podríamos hacerlo a mano con la herramienta que tengamos por preferencia. Si lo hiciéramos desde la consola, podríamos aplicar este query.

UPDATE core_config_data SET value = 'http://www.tudominio.com.ar/' WHERE path LIKE 'web/%/base_url';

Si ejecutamos nuevamente la consulta para obtener esos dos valores, nos vamos a encontrar con lo siguiente.

+-----------+----------+----------+-----------------------+------------------------------+
| config_id | scope    | scope_id | path                  | value                        |
+-----------+----------+----------+-----------------------+------------------------------+
| 2         | default  | 0        | web/unsecure/base_url | http://www.tudominio.com.ar/ |
| 3         | default  | 0        | web/secure/base_url   | http://www.tudominio.com.ar/ |
+-----------+----------+----------+-----------------------+------------------------------+

Sólo nos resta navegar la tienda y ver cómo todo funciona correctamente.

Si en lugar de cambiar la tienda de directorio, tuviéramos que cambiar el dominio, los pasos serían los mismos.