Multi Sito
Per un software che devo realizzare pensavo di usare il Multi Sito. In rete però ci sono vari avvertimenti che ne sconsigliano l'uso.
Se qualcuno l'ha già installato mi può dire come si trova o che problemi ha dovuto affrontare?
grazie
Gaetano
Risposte
Con Drupal 8 non ho mai avuto
Con Drupal 8 non ho mai avuto necessità/opportunità di gestire un'installazione multisites; con Drupal 6/7 era l'installazione tipo che facevo, in quanto avevo server dedicati dove poter gestire tutti i domini e relativi record DNS per poter far funzionare correttamente il multisites, devo dire che era ben comodo, aggiornavi solo una piattaforma e tutti i siti rimanevano a posto e sicuri, nel caso avevi siti con dei moduli da "customizzare" li riproponevi rinominati solo per quel particolare sito ed eri a posto.
Infatti per quel che ho letto
Infatti per quel che ho letto è molto comodo per chi debba gestire più gruppi di utenti. Dove ogni gruppo di utente con i relativi dati devono appartenere a dataBase diversi.
Ne approfitto. Per quel che ho letto sembra che l'installazione umlti sito per D8 è leggermente diversa da D7.
Ho letto e visto vari articoli, provato òe varie installazione ma sicuramente non riesco ad effettuare l'installazione come ho letto. Probabilmente alla fine sbaglierò qualcosa.
Se a te non dispiace e se ne hai voglia ti faccio una elenco delle cose che ho fatto per capire dove sbaglio
Ciao, il multisite non è
Ciao, il multisite non è concepito per gestire gruppi di utenti, ma per gestire proprio siti differenti installando solo una volta il "motore" Drupal, collegando poi allo stesso i vari siti (es. www.sito1.com www.sito2.com ecc.) facendoli puntare tutti alla stessa root, è Drupal stesso a gestire poi la visualizzazione corretta del relativo URL/FQDN. Se il tuo problema è gestire diversi gruppi di utenti, potresti provare moduli tipo Organic Group o Profile giusto per nominarne un paio.
Spiega bene cosa devi fare, almeno ti si può indirizzare nella giusta direzione.
Ho un cliente che ha uffici
Ho un cliente che ha uffici in province differenti. Questi uffici sono autonomi e i dipendenti (anche i dati delle varie tabelle sono diversi) devono fare varie operazioni che non devono essere mischiate con le operazioni degli altri uffici. Solo la sede centrale deve poter accedere alle operazioni dei vari uffici.
Siccome il codice è unico in quanto tutti gli uffici svolgono le stesse operazioni, volevo evitare di fare più siti indipendenti visto che l'attività è la stessa., con l'onoerosità di riportare le varie modifiche sia del core che della procedure in tutti i siti.
La necessità di avere database diversi è essenziale altrimenti le anomalie di un singolo ufficio bloccherebbe l'operatività degli altri.
E' questo il motivo per cui avevo pensato al multi sito. Un unico aggiornamento del codice sia lato core che lato contenuti e dati separati in dataBase diversi.
Sai se è possibile installare
Sai se è possibile installare il multisito localmente in XAMPP?
Ciao, il multisites funziona
Ciao, il multisites funziona se utilizzi dei FQDN per raggiungere i vari siti, quindi se installi XAMPP in locale e poi modifichi il file hosts del tuo OS per far redirigere sempre al localhost tutti i domini che ti interessano nel MS, allora si, puoi utilizzarlo anche in locale, diversamente non funzionerebbe.
Tieni presente che, condizione NECESSARIA affinché funzioni il MS è che tutti i FQDN puntino alla stessa root, non tutti i servizi di hosting permettono questa configurazione, valuta bene anche questo aspetto (fondamentale) prima di sviluppare la tua applicazione.
Attenzione! Con il MS ogni sito de facto è indipendente, condividono solamente core e moduli/temi, ma NON le configurazioni, quelle, e ovviamente anche i contenuti, vanno impostate per ogni singolo sito, il vantaggio del MS consiste nel fatto che, quando ci sono aggiornamenti, hai un solo core e un solo posto per moduli e temi dove applicare/caricare le modifiche, ma comunque dovresti poi applicare i relativi aggiornamenti del DB ad ogni singolo sito del MS.
Qui non ti seguo, se le anomalie sono dovute a errata programmazione/configurazione della piattaforma, si ripercuoterebbero, comunque, su tutti i siti; se, invece, qualche utente di una specifica sede commette degli errori, gli errori sarebbero circoscritti alla solo OG interessata (ipotizzando tu decidessi di sviluppare seguendo la via delle OG).
Uhm, allora non c'è tanta
Uhm, allora non c'è tanta convenienza. Mi sa che devo fare delle prove sia per MS che OG per capire bene cosa faccia meglio per me.
Ho settato i VHOST in locale su xampp ma non riesco ad installarlo nelle 2 sottocartelle. Probabilmente sbaglio qualche passaggio. Ti posso condividere i passaggi che faccio per capire dove sbaglio?
Ciao, certo scrivi tutti i
Ciao, certo scrivi tutti i passaggi che fai.
Comunque, per quello che devi fare tu, se fossi io a doverlo fare, seguire la via delle OG, alla fine la "teoria" è la stesse delle OU che si utilizzano nei domini AD Windows quando hai diverse sedi operative e diverse unità organizzative ;-)
Uso Win 10. XAMPP, Drupal
Uso Win 10. XAMPP, Drupal 8.8.2, composer 1.9.3, GIT per l'installazione di Drupal
all'interno della cartella sites C:\XAMPP/htdocs/Prova/web/sites) crea le sottocartelle Prova1 e Prova2
modifico il file VCOHST di apache per i 2 host virtuali:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/Prova/web"
ServerName Prova1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/Prova/web"
ServerName Prova2
</VirtualHost>
In sites rinomino il file example.sites.php in sites.php (qualcuno dice che basta avere il file presente anche vuoto e chi invece dice di mettere i 2 siti
<?php
$sites['Prova1'] = 'C:/xampp/htdocs/Prova/web/Prova1';
$sites['Prova2'] = 'C:/xampp/htdocs/Prova/web/Prova2';
?>
Ho provato con e senza ma il risultato non cambia
In Prova1 e Prova2 ho copiato il file settings.php. Ho provato con e senza ma il risultato non cambia
In hosts di windows ho settato 127.0.0.1 con i nomi di Prova1 e Prova2 ma nulla da fare.
Fatto ciò digito localhost/Prova1, mi cambia la scritta in localhost/core/install.php. Proseguo ma mi effettua l'installazione su prova
Poi come da lettura digito localhost/Prova2 ma mi richiama il sito appena creato, sempre localhost/
Ho notato che quello che influisce molto è il VHOST di apache in quanto per poter installare un altro sito ho dovuto disattivarlo.
Che ne pensi?
Fatto ciò digito
No, non funziona così!
Nella barra degli indirizzi del browser devi digitare solamente prova1 o prova2, ma così non hai definito dei FQDN, nel file hosts di windows inserisci 127.0.0.1 prova1.local e 127.0.0.1 prova2.local e, allo steso modo, rinomina le cartelle che hai creato in sites in prova1.local e prova2.local stesso discorso per il file sites.php e i vhost di apache.
Così deve funzionarti.
Buongiorno ho provato i tuoi
Buongiorno ho provato i tuoi consigli e funziona.
Almeno adesso quando rihciamo il sito mi lascia la scritta: http://prova1.localhost/. E' l'unica differenza rispetto a ciò che mi hai indicato. Lo dico solo perchè potrebbe serivre ad altri.
Appena possibile effettuerò l'installazione e ti aggiornerò.
Ho notato però che utilizzando i VHOST di apache le altre istanze di drupal (ce ne ho un'altra dove faccio delle prove) me le punta sempre alla cartella prova.
Ho inserito un altro VHOST:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/Corsi/web"
ServerName Corsi.localhost
</VirtualHost>
Se il ServerName è Corsi non mi fa partire l'istanza se invece scrivo
ServerName Corsi.localhost mi richiama il sito.
Ho provato ad inserire in hosts 127.0.0.1 corsi.localhost
Probabilmente ci sarà qualche altra cosa da settare, perché quando entro in corsi il menù in alto non me lo visualizza e quando vado in contenuto, Aspetto, Configurazioni o resoconti mi ritorna la scritta pagina non trovata. Lo stesso per il logo di drupal, non riesce a trovarlo
Mica ti ricordi qualche altro settaggio per evitare ciò?
Ti ringrazio per l'aiuto. Dopo la multi installazione ti farò sapere
Ciao, premesso che non
Ciao, premesso che non conosco XAMPP, altre impostazioni non ce ne sono da fare, una volta che hai indirizzato i FQDN nel file hosts e fatte le dovute configurazioni in apache, il multisites funziona.
Per il fatto che non ti visualizzi alcuni dettagli della pagina, l'unica cosa che mi viene da pensare è qualcosa sui permessi di file e cartelle o, più semplicemente, magari i cleanURLs che vengono utilizzati ma che non sono configurati ed abilitati nella configurazione di apache (se non ricordo male, mod_rewrite deve essere presente ed attivato sul webserver).
Ti ringrazio per la
Ti ringrazio per la precisazione. Ancora non ho avuto tempo di provare l'installazione e spero di poterlo fare quanto prima.
Appena fatto ti aggioro