Magento Multi Store con metodo Add On Domain: come configurare più Domini su un’installazione.
Premessa: in questo articolo cercherò di descrivere la procedura per utilizzare la configurazione del Multi Store di Magento con più Domini, facendo riferimento alle caratteristiche e gli strumenti del servizio di Hosting levelzero.it con metodo di Add On Domain (simile comunque a tanti servizi di Hosting in commercio ).
Scenario: abbiamo l’installazione principale di Magento su dominio.com e vogliamo collegare dominio.it
i dati inseriti d’ora in poi sono d’esempio, dovranno essere sostituiti con i vostri dati reali
Su dominio.com andate nel pannello di gestione del dominio e impostate i dns dell’Hosting
ns815.websitewelcome.com -> con ip dell’account -> 192.185.187.12 (il cambio di dns è attivo dopo qualche ora)
Installiamo Magento
su Hosting levelzero.it è possibile installare Magento facilmente in pochi click come descritto qui attraverso QuickInstall di Cpanel.
Terminata l’installazione avrete lo store principale in dominio.com
Colleghiamo il dominio.it allo store principale con metodo Add On presente su Cpanel
Perchè il metodo Add On?
Si rende necessaria questa procedura quando sul dominio.it (magari precendentemente acquistato) non possiamo cambiare i dns del fornitore (utilizzati da altre applicazioni).
Andiamo nel pannello di gestione di dominio.it e inseriamo due record A:
dominio.it A 192.185.187.12 www.dominio.it A 192.185.187.12i due record inseriti permettono l’accesso agli utenti sia che questi digitino www.dominio.it che dominio.it, quindi con o senza www
Abbiamo collegato dominio.it all’ip 192.185.187.12 dove è installato lo store principale di Magento.
Andiamo nel Cpanel di dominio.com e colleghiamo dominio.it con metodo Add On Domain
Clicchiamo su Addon Domains per inserire il dominio.it
Nella schermata successiva bisogna inserire i dati relativi per creare il collegamento
nota: lo store principale di Magento è installato in /public_html
In automatico nel Document Root verrà inserito il percorso della directory creata ed assegnata a dominio.it -> /public_html/dominio.it
nota: è possibile indicare anche una directory diversa. Se ad esempio se assegnamo solo la directory principale -> /public_html -> il dominio.it sarà collegato direttamente all’installazione principale di Magento, e quando gli utenti digiteranno dominio.it si effettuerà un semplice redirect sul dominio.com
Magento Multi Store ci permette di gestire da un’unica installazione più Siti Web – Negozi/Store – Viste – Lingue – Interfacce.
Questo è possibile associando ad una -> root category -> un sito web principale.
Andiamo in back-end -> catalogo -> gestisci categorie -> creiamo un root category
ora associamo il sito web alla root category che risponderà a dominio.it
Andiamo in back-end -> sistema-> gestione negozi -> crea sito web
Andiamo in back-end -> sistema-> gestione negozi -> crea negozio
Andiamo in back-end -> sistema-> gestione negozi -> crea vista negozio
Questo è il risultato finale, abbiamo associato una root category (in questo caso ho associato la “default category” per velocizzare) a dominio.it
Prestiamo attenzione a “Codice: dominioit”
ecco come appare /public_html in cui è installato lo store principale di Magento
copiamo questi file /public_html/index.php e /public_html/.htaccess in -> /dominio.it
posizioniamocio nella cartella /dominio.it e modifichiamo con un editor index.php
sostituire alla riga 47:
$compilerConfig = MAGENTO_ROOT . '/includes/config.php';
con
$compilerConfig = '/includes/config.php';
sostituire alla riga 52
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
con
$mageFilename = '../../public_html/app/Mage.php';
sostituire alla riga 81:
/* Store or website code */ $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : ''; /* Run store or run website */ $mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';
con
/* Store or website code */ $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'dominioit'; /* Run store or run website */ $mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'website';
A questo punto è necessario creare attraversto SSH i symbolic link, ovvero dei collegamenti che da /public_html/dominio.it vanno alle directory dello store principale
è necessario un accesso SSH (sul servizio di Hosting levelzero.it è attivabile e gestibile con PuTTY se utilizzate come SO windows)
Ora priamo la nostra console e posizioniamoci nella cartella /public_html/dominio.it
cd /public_html/dominio.it
creiamo i symbolic link
ln -s ../app ./app
ln -s ../errors ./errors
ln -s ../includes ./includes
ln -s ../js ./js
ln -s ../lib ./lib
ln -s ../media ./media
ln -s ../skin ./skin
ln -s ../var ./var
se tutto è andato per il verso giusto avrete accedendo via ftp questo risultato, sono visibili i symbolic link
Ora l’ultimo passaggio per rendere operativo Magento Multi Store e attivare dominio.it
Andiamo in back-end -> sistema-> configurazione -> GENERALE -> WEB
Ovviamente scegliamo quale vista configurare quindi quella di dominio.it (di default è su Configurazione Standard, come mostra l’immagine in basso)
Scelta la vista dobbiamo sostituire il dominio presente (nel nostro esempio dominio.com dello store principale) ed inserire in Base URL (secure e unsecure) il nuovo dominio.it
Ricordatevi di togliere il flag, proprio come mostrato nella figura in basso e salvare.
Se tutto è andato per il verso giusto:
a dominio.it -> corrisponderà -> una directory e la root category assegnata
a dominio.com -> corrisponderà -> lo store principale e la root category assegnata
nota: ricordate che gli eventuali prodotti, blocchi, pagine e i vari contenuti CMS, creati prima di attivare Magento Multi Store devono essere ora assegnati al nuovo store che fa riferimento a dominio.it
E’ opportuno precisare che se la nostra intenzione è solo quella di gestire Magento con uno store principale a cui fanno riferimento due domini .it e .com, quindi presumibilmente stesso tema e stessi prodotti, ricordate di abilitare la registrazione utente “Globalmente”, per evitare di ritrovarvi con utenti che si iscrivono solo al .it e altri solo sul .com:
back-end -> sistema-> configurazione -> Clienti -> Configurazione Clienti -> Opzioni di condivisione account -> impostare su Globalmente
Può apparire macchinoso, ma è più semplice di quello che può sembrare.