Ahora estas en: Inicio > Blog Configurar Magento multisitio, multidominio en Servidor Local en Windows - El Blog DWQ

Configurar Magento multisitio, multidominio en Servidor Local en Windows 14 enero 2013

Introducción

Hay muchas maneras de configurar múltiples tiendas en Magento donde todas compartan la misma base de código y backend, el método que utilices dependerá de tus necesidades. Existen otros artículos ya publicados que explican otros métodos para un servidor en línea. En la referencia se mencionan algunos.

Este artículo está escrito teniendo en cuenta el servidor local instalado en windows7 debido a la importancia de probar los cambios antes de hacerlo en línea con la tienda en producción. Se requiere que Magento 1.4.x o superior ya esté instalado también (yo tengo Magento 1.7.0.2). Para este ejemplo he creado dominio1.mage y dominio2.mage, nótese que en vez de usar .com utilizo .mage. En una configuración en línea sólo habría que cambiar la terminación.

Crear categorías y sitio web

En mi configuración, los dos sitios virtuales se ubican en F:\vhosts\dominio1.mage y F:\vhosts\dominio2.mage

Diagrama de Multi sitio en Magento

Lo primero que debemos hacer es configurar la segunda tienda en Magento (ya que la primera ya está instalada en dominio1.mage). Así que para dominio2.mage seguimos los pasos mostrados a continuación:

  1. Entrar al administrador de Magento.
  2. Ir a la pestaña del catálogo y selecciona “Gestión de categorías”
  3. Haz clic en el botón “Agregar categoría Raíz” de la izquierda.
  4. A la derecha, para nombre, yo escribí categoría raíz 2. Se establece la lista desplegable en Sí para ambos es Activo y Anchor.
  5. Haz clic en el botón Guardar Categoría.
  6. Ve a la pestaña Sistema y selecciona “Gestor de Tiendas”
  7. Haz clic en el botón “Crear sitios web”
  8. Para nombre, vamos a escribir dominio2.com, y para el Código, vamos a escribir dominio2_com. Vamos a utilizar esta valor más adelante, así que ¡no lo olvides!
  9. Haz clic en el botón “Guardar sitio web”
  10. Haz clic en el botón “Crear tienda”
  11. En la página web, selecciona dominio2.com de la lista desplegable. Para nombre, yo escribí dominio2. Para la categoría raíz, y seleccioné la categoría raíz 2 de la lista desplegable.
  12. Haz clic en el botón “Guardar la tienda”
  13. Haz clic en el botón “Crear vista de la tienda”
  14. En tienda, selecciona dominio2 de la lista desplegable y asegúrate de que es para el sitio web dominio2.com. Para nombre, escribamos “Español” (por si se tiene planeado agregar otro idioma más adelante). Para obtener el código, vamos a escribir dominio2_es. para el Estado, selecciona Habilitado en la lista desplegable.
    Pagina para crear sitio web en el gestor de magento
  15. Haz clic en el botón “Guardar Vista de la tienda”
  16. Ve a la pestaña Sistema y selecciona “Configuración”
  17. Para “Ámbito de configuración actual” (situado en la parte superior izquierda), cambia del menú desplegable a configuración por defecto por dominio2.com.
  18. Selecciona Web desde la barra lateral de la izquierda bajo del título GENERAL.
  19. Para ambas URL Base, insegura y segura, desactiva la casilla “Use Default [STORE VIEW]” y escriba la dirección URL de tu tienda, por ejemplo, http://dominio2.mage/. ¡No se te olvide la barra / al final!
  20. Haz clic en el botón “Guardar configuración”

Una vez configurada la segunda tienda, tenemos que establecer la tienda en el lado del servidor para poder acceder a ella desde el navegador

Configuración de la Tienda en el servidor local

a. Ahora se re configura el archivo de Apache, httpd-vhosts.conf, para los dominios para establecer el DocumentRoot de nuestro directorio de Magento. En este caso, el directorio es F:/servidor/apache/conf/extra/httpd-vhosts.conf (esto dependerá de qué método hayas usado para instalar tu servidor y de si usas el vhosts o el httpd.conf)


<VirtualHost *:80>
DocumentRoot F:/vhosts/dominio1.mage
ServerName dominio1.mage
</VirtualHost>
<VirtualHost *:80>
DocumentRoot F:/vhosts/ dominio1.mage
ServerName dominio2.mage
</VirtualHost>

b. Edita el archivo htaccess del dominio1 en F:/vhosts/dominio1.mage/htaccess y añade las siguientes líneas a continuación:


#Así tenía establecido en mi instalación de Magento mi
#código para la tienda principal
SetEnvIf Host ^dominio1.mage MAGE_RUN_CODE=base
SetEnvIf Host ^dominio1.mage MAGE_RUN_TYPE=website
#Recuerda que este código viene de la configuración de la
#segunda tienda establecido en el punto 8
SetEnvIf Host ^dominio2.mage MAGE_RUN_CODE=dominio2_com
SetEnvIf Host ^dominio2.mage MAGE_RUN_TYPE=website

c. Reinicia el servidor local Apache para que los cambios entren en vigor.

Todo lo que queda ahora es agregar productos en el catálogo y dar a cada sitio un tema personalizado, si queremos hacerlo. Muchas personas aprovechan el gran alcance de la funcionalidad de Magento multi-tienda, ya sea para crear tiendas con múltiples idiomas, catálogos diferentes y hasta los mismos catálogos con interfaces diferentes como un vehículo de marketing.

Nota.- Aunque no es parte de éste artículo, agrego ésta nota. La directiva SetEnvIf no es compatible con todos los servidores web (por ejemplo LiteSpeed​​). En ese caso, el código de tienda se puede ajustar de esta manera:


#Reglas de reescritura después de RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?dominio1\.mage$ [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:base]
RewriteRule .* - [E=MAGE_RUN_TYPE:website] [L]
RewriteCond %{HTTP_HOST} ^(www\.)?dominio2\.mage$ [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:dominio2_mage]
RewriteRule .* - [E=MAGE_RUN_TYPE:website] [L]

Uno de los mejores servidores compartidos que conozco utiliza LiteSpeed: Crucial Web host para Magento

Referencias

Escribe tus comentarios

«