Problema multisito: struttura cartelle su server stranissima!!
Ciao a tutti,
chiedo a voi un aiuto per una questione che forse per voi è semplicissima, mentre per me non lo è. Cercherò di essere chiaro e breve, per quanto è possibile.
Quello che voglio fare è aggiungere un nuovo sottodominio ad un sito organizzato come MULTISITO. Di questo sito esistono già tre versioni: la struttura e il template sono gli stessi, cambiano i contenuti.
Ora, mi è stato chiesto di aggiungere il sottosito di riferimento per la lingua italiana e mi hanno dato le credenziali per accedere a cpanel, database, ecc.
Il problema: la struttura di quello che vedo nella root. Non c'è traccia della cartella sites e non capisco come posso fare. In realtà, vedo che esistono diverse cartelle con il nome delle diverse versioni linguistiche, ma queste cartelle sono dei symlinks. Infatti, tramite un client ftp le vedo come links e non posso entrarci, mentre da cpanel entro tranquillamente e vedo i file. Ora, ognuna di queste cartelle symlinks contiene: files, includes, misc, modules, profiles, scripts, sites, theme e gli altri file di drupal. Se entro in "sites" (non importa da quale cartella di livello superiore, quella della lingua portoghese, inglese, tedesca) vedo altre cartelle che hanno il nome del sottodominio. Mi spiego: nella root ho i symlink "pt" "de" "en" (che sono le lingue delle tre versioni del sito attualmente installate); se entro in "pt" trovo files, includes, ecc e sites; in questa sites trovo altre cartelle: "pt.dominio.com", "de.dominio.com", "en.dominio.com". Le stesse cartelle le trovo sotto le directory "de" e "en".
Prima di tutto, questa struttura vi torna??? Poi, i quesiti:
- come faccio a creare una cartella symlink come quelle "pt", "en", de" chiamandola "it"? Ho provato a creare un file php con il comando symlink, ma credo di aver sbagliato qualcosa! E non so dove metterlo, dato che ogni cartella "pt" "en" "de" ripete la stessa struttura e contiene le stesse directory e files. In pratica, non so quale sia la directory da cui partire per creare un nuovo sottodominio per questo multisito!!!
Mi potete aiutare per favore???
Ve ne sarei molto molto grato!
Grazie in anticipo

Risposte
Allora, non è molto chiaro
Allora, non è molto chiaro cosa tu voglia fare, cercherò di dirti come procedo generalmente con le installazioni multisites.
Il sito principale (generalmente il mio) lo installo nella root principale di Drupal esattamente come se fosse una installazione tradizionale, chiamiamolo miosito1.org.
Poi procedo con l'installazione dei vari siti secondari che utilizzano sempre lo stesso core, mi sposto in /sites e li vado a creare le mie directories:
miosito2.org
miosito3.org
ecc. ecc....
Tutti i moduli li vado ad installare in /sites/all/modules in questo modo risultano essere disponibili per tutte le installazioni, i temi, se devo utilizzare un tema personale lo posiziono, ad esempio, in miosito1.org/themes/mio_tema_personale
Quindi la struttura che avrò all'interno delle directories dei vari sottodomini sarà questa:
files
themes
settings.php
Non so se la cosa potrà esserti di aiuto, facci sapere, ciao ciao.
Ciao Niubbio (non mi pare!
Ciao Niubbio (non mi pare! ;oP),
innanzitutto grazie!
Ecco, anche io se dovessi fare un multisite farei come hai suggerito tu. Il problema è proprio questo!
Infatti, nella root principale NON trovo le cartelle di drupal! Ci sono altri files e cartelle che probabilmente sono rimaste lì da qualche installazione precedente.
Ci sono però diverse sotto-cartelle che sono quelle dei vari sottodomini, ma queste cartelle sono dei Symlinks, non sono cartelle fisiche; per la precisione, ognuna di queste cartelle del sottodominio contengono le directories che contengono le diverse cartelle di drupal dei diversi sottodomini stessi. Il problema è che non riesco a capire quale cartella funga da root! Non esiste nella root la cartella "sites"!
Se può essere utile, ecco due screenshots:
questo è della root; le cartelle segnate di rosso sono i sottodomini, che risultano essere symlinks!!
http://img848.imageshack.us/img848/668/senzaolo1lq.jpg
questo è della cartella "beta", che in realtà è un symlink
http://img703.imageshack.us/img703/8575/senzaolo2e.jpg
Grazie!!!
N.B.: nella cartella "admin", che NON è symlink, trovo le directory standard di drupal. se online navigo mettendo nomedominio.com/admin mi compare una pagina con scritto "welcome to your new drupal website!". Può essere questa la cartella che funziona da root???
Mi sta iniziando a sorgere il
Mi sta iniziando a sorgere il dubbio che:
1 - non sia stata effettuata una installazione multisites in origine
2 - hai accesso a quella che dovrebbe essere già la root del sottodominio e non hai la possibilità di "risalire" nelle cartelle
A questo punto puoi provare a posizionare in quella cartella il file settings.php e a creare la cartella files, poi esegui il puntamento al tuo sottodominio con il browser e vedi se parte l'installazione, in caso non partisse ti consiglio di rivolgerti alla persona che ha realizzato il progetto in origine.
Altre idee al momento non me ne vengono in mente... Mi dispiace :(
Ciao ciao.
Ti posso chiedere ancora una
Ti posso chiedere ancora una mano?
Dunque, ho ipotizzato che la cartella "admin", che contiene directory e files di drupal, oltre che quelle dei vari sottomini, sia la root di drupal (sull'host ci sarà un redirect a quella cartella).
Ora, ho creato in admin/sites la cartella "it" e ho crato dentro a questa le directory files e themes; oltre a ciò, ho copiato i file settings.php e default-settings.php, avendo cura di correggere la stringa relativa al database di riferimento.
Ora però cosa devo fare per provare a installare drupal e creare le tavole del database per la sottocartella "it"? devo avviare la procedura di isntallazione di drupal? ma dove metto i files? Nella cartella "it"?
Se sì, come mai però nelle cartelle dei sottodomini delle altre lingue trovo solo "files", "themes" e i due file settings??? Se installassi drupal nella cartella it, troverei tutti i files di drupal che negli altri sottodomini non ci sono!
Grazie mille!
Se il problema fosse il punto
Se il problema fosse il punto 2, come potrei risolverlo???
Allora, andiamo per gradi,
Allora, andiamo per gradi, punto 1:
il file da copiare è solo il file default.settings.php che devi copiare all'interno della root del "sottodominio" nominandolo settings.php e fornendogli i permessi 777 da qui, con il browser punti al dominio che identifica questa nuova installazione, dovrebbe partire in automatico la configurazione, il db verrà popolato da Drupal stesso, nel caso non dovesse partire punta a miosottominio.org/install.php ma solo nel caso non dovesse partire, assicurati che la cartella files sia stata creata e che abbia permessi 777 anche lei, poi l'installazione procede normalmente come per una installazione normale, unica divveferna i moduli andrai a metterli in /sites/all/modules dell'installazione principale.
Punto 2:
Se non hai accesso alla root principale di Drupal avrai sicuramente problemi per l'installazione dei moduli, io ti sconsiglio caldamente di installarli solo nella cartella modules che potresti creare nella root del tuo sottodominio, avresti problemi in fase di aggiornamento.
In questo caso, ti consiglio di contattare colui che ha realizzato il progetto iniziale e chiedere lumi, solo lui saprà darti le risposte inerenti l'installazione e la configurazione che ha realizzato.
Ciao ciao.
Ciao e grazie di
Ciao e grazie di nuovo.
Smanettando un po' ho capito che l'incasinamento del sito è dovuto ad una prima installazione complicata e tutto un sistema di symlinks che rimandano alla cartella di drupal che NON è nella root dell'host, ma la cartella admin.
Capito questo e facendo vari tentativi, sono riuscito a creare un symlink alla nuova versione che voglio fare.
Ora, non so come ho fatto, ma in un caso sono riuscito a fare partire l'installazione, soltanto che mi si sono viluazzate un sacco di stringhe che dicevano che certe voci del database esistevano già. Tuttavia, andando mysql ho visto che sono state create nuove tavole con il prefisso che ho impostato in settings.php. Allora ho fatto ripartire l'installazione, che ora mi salta subito alle impostazioni del sito, soltanto che non viene visualizzato nulla nella pagina. Uff, che macello!!!
Stai facendo un'installazione
Stai facendo un'installazione modello "ufficio complicazioni affari semplici".
Procedi in questo modo, accedi al db e svuotalo completamente, non lasciare nemmeno mezzo riferimento alle tabelle :-D
Cancella il file settings.php che hai utilizzato e ricreane uno nuovo copiando default.settings.php in settings.php
Ridai permessi 777 a settings.php
Fai partire l'installazione, al termine imposta settings.php a 655
Drupal è installato e configurabile :-)
Ciao ciao.
Ah ah, troppo forte l'ufficio
Ah ah, troppo forte l'ufficio complicazioni!
Il problema è che non posso svuotare il database!! Ci sono tutte le tabelle degli altri sottodomini!
Ho cancellato tutte le tabelle del sottodominio "it", ho messo il setting.php con permessi 777 ma niente da fare. Nessuna installazione!! Dice You don't have permission to access...
Che pasticcio...credo che il problema sia proprio nella struttura delle directory...un pasticcio con tutti quei symlinks!!!
No, alt, ma stai utilizzando
No, alt, ma stai utilizzando un db comune a tutti i siti???
Puoi spiegarmi il perché della scelta? Non conveniva condividere solo alcune tabelle e lasciare le altre indipendenti?
In teoria se parti con un db pulito problemi non ne hai, se invece il problema sono i permessi sul db (cioè non ti lascia eliminare le tabelle ecc ecc) allora se non lo puoi fare tu direttamente devi chiedere al sysadmin di configurarti il db con i permessi al tuo utente.
Francamente sto iniziando a perdermi con questa installazione... Non riesco più a capire dove sta il capo e dove la coda...
Ciao ciao.
C'è una parte di database
C'è una parte di database comune a tutti e un'altra per le singole versioni nelle diverse lingue.
per questo devo modificare le stringhe nel file settings.php, perché per alcune cose voglio che usi le tavole in comune, mentre ad esempio per i contenuti deve usare quelle con il prefisso it_
Continuo a non capirne il
Continuo a non capirne il senso, magari sbaglio io, sia ben chiaro, ma non conveniva fare un'unica installazione e installare il supporto multilingua?
A mio avviso sarebbe stata un'installazione più "pulita" e meno complessa sia da realizzare che da implementare (come in questo caso).
Ma questo è solo il mio pensiero, magari sto vedendo il problema con un'ottica diversa...
A questo punto, purtroppo, non saprei più cosa consigliarti di fare, mi dispiace :-(
Ciao ciao.
Oltre alla lingua diversa,
Oltre alla lingua diversa, ogni sottodominio ha proprio contenuti diversi!
Certo, hai ragione: avessi installato io avrei fatto tutt'altro. Soprattutto, avrei installato tutto nella root e senza symlinks!
Soltanto che io sono arrivato dopo e ora mi trovo a dover smanettare per capire cosa hanno fatto gli altri...Uff!
Purtroppo quello è il prezzo
Purtroppo quello è il prezzo da pagare quando si subentra sul lavoro di altri che, come in questo caso, hanno eseguito "ad-cazzum" (scusatemi il francesismo...) la programmazione e l'installazione...
Francamente non saprei proprio come aiutarti, sicuramente hai una bella gatta da pelare tra le mani :-(
Ciao ciao.
Se sono dei symlinks vuol
Se sono dei symlinks vuol dire che puntano ad una cartella principale.. probabilmente ad admin. Per questo motivo quando ti colleghi a pt.miodominio.com è come se di fatto venissi rediretto a miodominio.com e utilizzassi le configurazioni di miodominio.com/sites/pt.miodominio.com.
Di conseguenza tutti i tuoi simlink hanno la stessa struttura perchè puntano ad admin.
Puoi fare la seguente prova: crea un file di testo, ad esempio prova.txt e caricalo nella cartella admin. Se ora entrando nella cartella pt vedi prova.txt allora vuol dire che i symlink puntano tutti ad admin.
In alternativa puoi usare ssh se lo sai utilizzare.
Per la questione dei db probabilmente sono condivisi poichè tutti i sottodomini devono avere gli stessi contenuti sempre.
Ciao kummer, sì, ho capito
Ciao kummer,
sì, ho capito più o meno come funzionano quei simlinks più o meno. Se metto un file di prova.txt e digito pt.miodominio.com/prova.txt visualizzo il contenuto del file. Quindi ok, tutti i sottodomini rimandano alla cartella admin.
Allora cosa ho fatto? In miodominio.com/admin/sites/ ho creato una cartella it.miodominio.com e dentro ho creato le cartelle file e themes (sono vuote) e il file settings.php. In questo ho modificato due stringhe relative al database: gli ho detto di tenere per alcune tavole quelle standard comuni a tutti, mentre per i contenuti di crearle con il prefissso it_. Ora, però, come faccio a fare partire l'installazione di drupal per il dominio it.miodominio.com? Se su explorer digito it.miodominio.com NON si vede nulla! Mi risulta una pagina con l'errore 403 Forbidden: You don't have permission to access / on this server.
Invece, se faccio: it.miodominio.com/install.php mi compare l'installazione ma ottengo un sacco di stringhe di errore del database!!! Uff!
Come posso fare??? Grazie!
Il sottodominio non è
Il sottodominio non è raggiungibile da subito, di solito ci vogliono un paio d'ore.
L'installazione "credo" che non parta semplicemente perchè il database che utilizzi non è vuoto. Puoi cercare di forzarla ma nn usando un settings.php pulito e probabilmente con i permessi temporanei non a 777 ottieni quegli errori
Se vuoi provare così forse potresti risolvere (ovviamente prima backuppa tutto, quantomeno il db):
Copia il settings.php di admin/sites/pt.miodominio.com in admin/sites/it.miodominio.com. Ora modifica semplicemente il settings.php copiato per farlo funzionare con il prefisso it_ piuttosto con quello pt_ .
Attenzione che facendo così it.miodominio.com deve avere disponibili almeno gli stessi moduli e temi di pt.miosito.com.
In multisite è bene mettere tutti i moduli/temi in: sites/all/modules o sites/all/themes, in questo modo tutti i moduli/temi sono condivisi.
Spero di essere stato abbastanza chiaro.
Ciao, allora, smanettando un
Ciao,
allora, smanettando un po' ho fatto così, dato che copiando il file setting.php di pt.miodominio non funzionava niente: ho messo il file setting.php della versione base, la prima, non quella con i sottodomini, e ho settato di installare tutto col prefisso it_. Ha installato tutto! Adesso però volevo prendere il file setting.php di pt.miodomino, che è settato giusto e incollarlo nella sottodirectory di it.miodominio.com e poi cambiare le relative stringhe da pt_ a it_ e dovrebbe funzionare. PROBLEMA: non mi fa modificare il file settings.php nella cartella it.miodominio. Mi dice che non ho i permessi!!! Preciso che metto tutto a 777, ma non mi fa fare nulla. Nemmeno cancellare, rinominare. Niente!! Perché???? Con i setting.php degli altri sottodomini non succede!!!
Grazie!!!
Dai che ci sono quasi!!!
EDIT: ce l'ho fatta!!! Ho dato 777 a tutta la cartella del sottodominio! Evvai!!
Grazieeeee
Esatto, vedo che hai trovato
Esatto, vedo che hai trovato da solo la soluzione. ricordati di impostare i permessi corretti.
Bravo wolfy, well done !