Come configurare smartphone e PC. Portale informativo
  • casa
  • Errori
  • Bitrix multisito su diversi domini. Macchina virtuale Bitrix

Bitrix multisito su diversi domini. Macchina virtuale Bitrix

Il miglior articolo, a mio avviso, sull'organizzazione del multisito in "1C-Bitrix". Tutto è molto accessibile.

Bene, iniziamo con il fatto che molti siti possono essere creati su un'installazione Bitrix (si possono creare due siti senza acquistare licenze aggiuntive), il che significa che chiuderemo la prima domanda: per configurare il multisito, devi installare Bitrix solo una volta.
C'è un tutorial abbastanza dettagliato che descrive due modi per impostare il multisito.


Quale modo scegliere?

C'è un'opinione secondo cui l'utente sceglie per se stesso un metodo conveniente di multisito, ma in realtà la scelta del metodo dipende dalle impostazioni del sistema.

Il primo metodo presuppone (nelle cartelle) che i siti si trovino nello stesso dominio, ma in cartelle diverse. È adatto per creare siti in diverse lingue o, ad esempio, siti regionali di un'azienda.
Gli indirizzi del sito saranno simili a:

http://esempio.com/ru
http://example.com/en

o

http://esempio.com/
http://example.com/KGD
http://esempio.com/SPB

Se gli argomenti dei siti sono diversi, a quanto pare, non si può fare a meno di impostare il secondo metodo, quando siti diversi si trovano in domini diversi, ad esempio:

http://www.bitrixsoft.ru/
http://www.bitrixsoft.com/

Entrambi i siti lavorano sulla stessa copia del prodotto, ma esternamente questo non si manifesta in alcun modo. Sembra più attraente, ma richiede un po' più di sforzo per la configurazione.
In particolare, vorrei attirare la vostra attenzione sul fatto che inoltre stiamo parlando di lavorare sull'hosting, quando tutte le impostazioni del server vengono eseguite dall'amministratore. Se stai configurando il multisito in locale, devi prima configurare i server web virtuali. Puoi vederlo sul sito Web ufficiale di Apache (e nella parte russa di Internet ci sono molti articoli su questo argomento).

Ora qualche parola su come il sistema determina il sito corrente.
Apri le impostazioni del sito (Impostazioni - Impostazioni prodotto - Siti - Elenco siti):

Qui puoi specificare il nome di dominio e la cartella del sito: queste sono le principali impostazioni multisito, il resto determina le priorità.
Innanzitutto, il sistema verifica il dominio corrente: i domini vengono selezionati dalle impostazioni di tutti i siti e confrontati con il dominio su cui si trova l'utente. In questo caso viene confrontata solo la parte destra fino al punto (ovvero tutti i sottodomini appartengono automaticamente a questo dominio). Ad esempio, dicono le impostazioni
esempio.com
e l'utente ha aperto
www.esempio.com
la condizione sarà considerata soddisfatta. Ma se si apre mio-esempio.com- questo è un altro dominio, deve essere specificato separatamente nell'elenco dei nomi a dominio.
Se i nomi di dominio non sono specificati o gli stessi domini sono specificati su siti diversi, la determinazione avviene tramite la cartella del sito. Si noti che questo specifica una cartella relativa alla radice del sito (ovvero il percorso nell'URL) e non un percorso nel file system sul server.
In futuro, l'identificatore del sito verrà utilizzato per collegare il modello, selezionare le notizie, determinare la lingua, ecc.

Esempio:
Una cartella è specificata nelle impostazioni di un sito / , Altro /ru.
Quando si apre esempio.com/forum/messaggi/ arriviamo al primo sito, all'apertura esempio.com/ru/forum/messages/- Sul secondo.
Allo stesso tempo, la cartella bitrix (che contiene il nucleo del prodotto) si trova alla radice, non viene copiata da nessuna parte e non vengono eseguite altre impostazioni sul server. È tutto chiaro e semplice.
Molte più domande e problemi sorgono con l'impostazione del multisito utilizzando il secondo metodo, quando dobbiamo servire più siti in domini diversi con un'installazione Bitrix. Soffermiamoci su questo in modo più dettagliato.

Multisito usando il secondo metodo (mini HOWTO)

Per prima cosa dobbiamo decidere cosa vogliamo ottenere. Assumiamo di avere due domini:

esempio.com
esempio.net

Hanno diverse cartelle radice (ovvero quando si accede a ciascuna di esse, vengono aperti file da diverse cartelle fisiche sul server). C'è un'opzione quando l'accesso a qualsiasi dominio apre la stessa cartella sul server (considereremo questa opzione di seguito), ma è la prima opzione preferita.

Nel fare ciò, vorrei attirare la vostra attenzione sui seguenti punti:


  • tutti i domini devono puntare a un server, l'opzione quando sono configurati domini diversi per host diversi è inaccettabile;
  • nel nostro caso (quando le cartelle radice dei domini sono diverse) non importa se abbiamo domini di secondo livello diversi o sottodomini dello stesso dominio (ad esempio, giochi.esempio.com e esempio.com). O, per essere più precisi, non importa affatto. Quello che dovrebbe interessarci davvero è se hanno una cartella radice comune o meno;
  • un'opzione quando è configurato un gran numero di sottodomini, che sono formati dinamicamente (ad esempio, vasya.example.com, kolya.example.com ecc.) in generale non è multisito nel contesto del nostro prodotto, e di conseguenza le linee guida multisito non si applicano qui. Diamo un'occhiata a questa opzione di seguito. In parole povere, Bitrix multisite è quando diversi siti sono configurati nell'elenco dei siti nelle impostazioni del prodotto.
Compito: configurare multisito utilizzando il secondo metodo su hosting UNIX.

Passo dopo passo.

1. Installa Bitrix su uno dei domini (non importa quale). Per chiarezza, consideriamo di aver installato il prodotto su esempio.com. Finora non sono state effettuate impostazioni aggiuntive.

2. Ora dobbiamo fare in modo che la stessa copia funzioni sul secondo dominio.
Riteniamo che la parte pubblica dei siti sia diversa (altrimenti perché abbiamo bisogno di siti diversi?), quindi il secondo sito avrà bisogno solo del core del prodotto (cartella bitrix, Bene caricamento). In teoria, se vengono semplicemente copiati dal primo sito, funzionerà, ma questo non ci si addice (abbiamo dovuto fare i conti con un simile "sito multiplo").
Otterremo due copie del kernel che funzionano con lo stesso database, dopo aver aggiornato una di esse, il database verrà aggiornato e il secondo sito smetterà di funzionare (beh, inoltre, copiare il kernel è contro la licenza).
Il problema viene risolto utilizzando collegamenti simbolici. In senso figurato, il collegamento esegue il compito di un collegamento sul desktop che apre il programma, ma non è il programma stesso.
La guida multisito consiglia di spostare il kernel in una cartella condivisa condivisa, quindi crea collegamenti simbolici in ogni sito. Qui, per semplicità, semplificherò questo passaggio e collegherò da un sito all'altro (dal punto di vista funzionale non c'è differenza).
Ho disegnato un piccolo script che aiuterà a creare collegamenti simbolici quando si utilizza solo l'accesso FTP al server:

Il codice


Creazione di collegamenti a bitrix e caricamento di cartelle

segnalazione_errore(E_ALL & ~E_AVVISO);
@ini_set("display_errors",1);

se ($_POST["percorso"])
$percorso = rtrim($_POST["percorso"],"/\\");
altro
$percorso = "../sito2/www";

se ($_POST["creare"])
{
if (preg_match("#^/#",$percorso))
$percorso_completo = $percorso;
altro
$percorso_completo = percorso reale($_SERVER["ROOT_DOCUMENTO"]."/".$percorso);

If (file_exists($_SERVER["DOCUMENT_ROOT"]." /bitrix"))
$strError = "La cartella bitrix esiste già nella cartella corrente";
elseif (is_dir($percorso_completo))
{
if (is_dir($percorso_completo."/bitrix"))
{
if (symlink($percorso."/bitrix",$_SERVER["DOCUM ENT_ROOT"]."/bitrix"))
{
if(symlink($percorso."/uploa d",$_SERVER["ROOT_DOCUMENT"]."/upload"))
eco " Collegamenti simbolici creati con successo";
altro
$strError = "Impossibile creare un collegamento alla cartella di caricamento, contattare l'amministratore del server";
}
altro
$strError = "Impossibile creare un collegamento alla cartella bitrix, contattare l'amministratore del server";

}
altro
$strError = "Il percorso specificato non contiene la cartella bitrix";
}
altro
$strError = "Percorso non valido o errore di autorizzazione";

Se ($strErrore)
eco " ".$strErrore."
Percorso sorgente: ".$percorso_completo;
}
?>


Percorso della cartella contenente il bitrix e le cartelle di caricamento:

Lo script deve essere caricato nella cartella principale del secondo sito (nel nostro caso, esempio.net), quindi dopo l'avvio, specificare il percorso della cartella principale del primo sito (o della cartella condivisa se il nucleo è in esso).
Supponiamo che il primo sito sia nella cartella:

secondo:

Scrivi lo script in una cartella /var/www/denis/example.net/www, nel campo del percorso scrivi " ../../example.com/www" o " /var/www/denis/example.com/www". Se tutto va bene, nella cartella /var/www/denis/example.net/www appariranno i collegamenti simbolici richiesti.
In questa fase possono sorgere problemi:


  • nessun accesso in scrittura alla cartella corrente;
  • esiste una restrizione di sicurezza (open_basedir) che impedisce agli utenti di hosting condiviso di accedere ad altri siti.

In caso di problemi con questo script, dovresti chiedere aiuto all'ospite.
Dopo aver creato i collegamenti, dovrebbe accadere quanto segue: digitiamo esempio.net/bitrix/admin, si apre il pannello di autorizzazione, immettere i dati dell'amministratore specificati durante l'installazione del prodotto esempio.com ed entra nel pannello amministrativo di Bitrix.
Poiché il nucleo è uno e la base è uno - il pannello di amministrazione per entrambi i siti sarà lo stesso(cioè uno e lo stesso).

Ora devi copiare dal primo sito .access.php(per avere accesso in lettura alla partizione di root, se necessario, puoi modificarla manualmente cancellando tutto tranne $PERM["/"]["*"]="R";) e index.php(che verrà modificato in seguito).

3. Configurazione del sito web.

Apri le impostazioni di ogni sito ( Impostazioni - Impostazioni prodotto - Siti - Elenco dei siti), specificare nel campo "Nome dominio:" esempio.com e esempio.net rispettivamente per il primo e il secondo sito.
L'ultima cosa da fare qui è specificare il percorso sul server della cartella principale di ogni sito (campo "Percorso della cartella principale del server Web per questo sito:") in modo che il modulo di gestione della struttura possa costruire un albero di file per ogni sito (menu "Contenuto"):
indicare /var/www/denis/example.com/www e /var/www/denis/example.net/www rispettivamente.

4. Controllo della parte pubblica.

Se tutto è stato fatto correttamente, ora dovrebbero aprirsi siti diversi su domini diversi. Per fare ciò, utilizziamo lo script più semplice:

Il codice





Salva nella radice di entrambi i siti, quando accedi allo script nel dominio esempio.com dovrebbe visualizzare l'identificativo (visualizzazione a due lettere) del primo, nel dominio esempio.net- identificatore del secondo sito.

Qualunque cosa. Problema risolto.

Che ne dici di una cartella radice condivisa?

Questo non è conveniente in primo luogo perché la parte pubblica dei siti sarà condivisa. Ma se non ci sono altre opzioni, puoi anche impostare il multisito qui. Solo per separare la parte pubblica nella root del sito, dovrai creare delle cartelle per ogni sito e infatti risulterà multisito con il primo metodo.

Ora brevemente sui passaggi. Le condizioni del problema sono le stesse, ma assumiamo che i domini esempio.com e esempio.net avere una cartella principale /var/www/denis/esempio

1. Mettiamo il prodotto in qualsiasi dominio una volta.

2. Per separare la parte pubblica, crea in una cartella /var/www/denis/esempio cartelle com e rete. Qui il kernel ha un percorso /var/www/denis/example/bitrix per entrambi i siti e non è necessario creare collegamenti simbolici.

3. Nelle impostazioni del sito, ora, oltre al dominio, devi specificare la cartella del sito: /com e /rete per il primo e il secondo sito.

4. Creiamo una pagina indice del sito secondo l'esempio del corso di formazione. Questa pagina per dominio determinerà il sito corrente e collegherà la parte pubblica corrispondente. Solo per questo è stato necessario specificare i domini nelle impostazioni del sito. Ecco il codice dello script:

Il codice

Installazione completata.

Molti sottodomini su un sito

Ad esempio, sul sito, dopo la registrazione, gli utenti ricevono il proprio dominio del form utente.esempio.com. Quando accediamo a un tale dominio, vogliamo aprire il blog dell'utente.

1. In una situazione del genere, è meglio utilizzare una cartella principale del sito separata da quella principale per tutti i sottodomini. Siamo d'accordo con l'hoster che per esempio.com si apre /var/www/denis/example.com, e per tutti i sottodomini (ad eccezione di www.esempio.com) la cartella principale è /var/www/denis/blogs. Mettiamo Bitrix esempio.com.

3. Crea una pagina indice in una cartella /var/www/denis/blogs, posizionare un componente su di esso bitrix:blog.blog. Tieni presente che questo non è un componente blog complesso, ma un componente che visualizza il contenuto di un blog specifico.

4. Nella stessa pagina, prima di collegare il componente, inseriamo un codice che determinerà l'ID blog corrente utilizzando il seguente esempio:

Conclusione

Si è scoperto molto testo, in realtà non ci sono molte azioni. Ho cercato di evidenziare le principali domande che i clienti hanno sui problemi multisito quando contattano il supporto tecnico. Spero che la presentazione aiuti a capire un po' meglio il problema e a risolvere i problemi utilizzando questa conoscenza.

Molti siti

Risolvere un problema aziendale secondo il principio generale “ogni risorsa web ha un proprio sistema di gestione” è inefficiente; e soprattutto inefficiente quando il sistema di controllo è ogni volta diverso. I problemi con questo approccio sono:

  1. Costi finanziari eccessivi necessari per l'acquisto o lo sviluppo di sistemi di gestione dei contenuti.
  2. Diversi punti di accesso alla gestione del sito, diversa interfaccia di gestione.
  3. Vari sistemi di autorizzazione e database degli utenti del sito.
  4. Vari spazi pubblicitari.
Di conseguenza, l'azienda ha un decentramento nella gestione dei suoi progetti web. Vengono spese risorse eccessive per la creazione di soluzioni Web e la soluzione dei problemi aziendali su Internet viene ritardata. Anche i visitatori dei progetti web dell'azienda possono riscontrare inconvenienti quando lavorano con loro.

"1C-Bitrix" propone di cambiare questa situazione. Su ogni istanza del prodotto, puoi creare più siti web secondo lo schema di licenza applicabile.

Perchè la necessità di creare sistemi multisito e cosa significa? Per rispondere a questa domanda, ti fornirò un esempio eloquente della nostra conversazione con un cliente.

Siamo stati contattati da una casa editrice per un consiglio sulla scelta della soluzione migliore. Il capo della direzione Internet ha affermato che gestiscono contemporaneamente 18 siti molto diversi. E ogni sito ha il proprio sistema di gestione dei contenuti, una sorta di meccanismo di gestione della pubblicità, da qualche parte c'è un negozio online con i propri utenti. La maggior parte dei progetti ha forum separati con i propri account utente, da qualche parte ci sono statistiche, blog...

"E ora immagina", dice, il mio tablet Excel, dove conservo tutte le mie password per accedere a questa riserva! Bene, siamo stati in grado di far ricordare le password ai nostri dipendenti e di utilizzarle, ma non posso far lavorare i clienti in quel modo?! Noi, infatti, abbiamo già perso il controllo sul processo di sviluppo, aggiornando i progetti, non possiamo aprire nuovi progetti...
Ho bisogno di un sistema che non solo unisca le funzionalità di cui ho bisogno per un sito, ma consenta anche di combinare tutti i siti in un unico sistema di gestione, con un unico sistema di autorizzazione e sicurezza, quando un cliente dovrà solo registrarsi su qualsiasi dei siti e potrà lavorare con tutti gli altri siti. Lo riconosceremo e gli offriremo servizi aggiuntivi”.

Comprendendo questo problema, abbiamo implementato MULTI-SITE in tutte le edizioni del prodotto software 1C-Bitrix: Site Management, a partire dalla versione 4.0. Inoltre, ogni edizione del nostro prodotto (tranne "First Site" e "Start" include una licenza per un numero illimitato di siti, ovvero basata sull'edizione "Business" puoi creare più progetti uniti dal sistema di controllo e un progetto può esserlo grande portale, e secondo - negozio online di grandi dimensioni, ecc..

Curiosamente, man mano che la presenza della tua azienda su Internet cresce, il numero di progetti che hai aumenterà costantemente. E se su uno o due progetti non sei ancora molto consapevole dei problemi di incoerenza, ogni nuovo progetto raddoppierà la complessità e il costo e ti rallenterà se i tuoi progetti non sono inizialmente combinati in un sistema multisito.

Artem Ryabinkov, Leading Analyst, Project Coordinator, 1C-Bitrix


Tecnologia

Siti e istanze

Sotto istanza del prodotto indica una copia di "1C-Bitrix: gestione del sito" acquistata dal cliente, utilizzando un database dall'elenco dei DBMS supportati dal prodotto.

Sotto sito webè inteso come una combinazione dei seguenti concetti:

  • Account in un database condiviso;
  • Parte pubblica del sito (file e cartelle);
  • Impostazioni del sito.
In altre parole, sito webè un'entità creata nel sistema che ha un certo insieme di dati (contenuto) e parametri (lingua, modello di progettazione, formati di data e ora). I dati possono essere univoci all'interno di questo sito (parte pubblica, singoli infoblock, moduli web, sondaggi, forum, ecc.) o condivisi tra più siti.

Tecnologia multisito

Ciascuno dei siti deve puntare a un nome di dominio specifico oa un insieme di nomi di dominio. Tali corrispondenze sono specificate nelle impostazioni di ciascun sito. Non ci sono restrizioni sui nomi di dominio e sulle opzioni di indirizzamento. Ogni nuovo sito creato può essere un dominio di secondo o terzo livello.

Pertanto, tutti i siti sono implementati sulla base di una copia del prodotto e usa un database condiviso. Questo ha i seguenti innegabili vantaggi:

  1. Un'unica interfaccia di gestione del prodotto consente di unificare, da un unico punto, la gestione di tutti i progetti web: modificare la struttura, aggiungere contenuti, gestire i diritti di accesso, ecc.
  2. Un unico sistema di autorizzazione e un unico database utente consentono all'utente di registrarsi su un progetto web, quindi utilizzare servizi web e informazioni su tutte le altre risorse, in conformità con i suoi diritti.
  3. Un unico sistema per la raccolta delle statistiche sia per ogni singolo progetto, sia con la ricezione dei dati analitici di sintesi per tutti i progetti. Inoltre, grazie alla tecnologia UserMultiSiteTransfer, eseguita riconoscimento dei visitatori che giungono a siti diversi all'interno di una configurazione multisito.
  4. Un unico spazio pubblicitario che consente all'azienda o all'inserzionista coinvolto di gestire il posizionamento e l'esposizione dei banner da un unico punto. E grazie alla tecnologia UserMultiSiteTransfer - riconoscere visitatori e utilizzare efficacemente le impressioni dei banner .

Se l'azienda ha sviluppato e messo a punto processi aziendali per la gestione dei siti: creazione e pubblicazione di materiali, gestione della pubblicità, sondaggi, ecc., la creazione di una nuova risorsa web non comporterà modifiche a questa struttura.

I siti hanno un unico database, quindi se hai implementato l'importazione/esportazione con i tuoi sistemi aziendali o contabili, il supporto per più siti sarà trasparente per questa funzionalità.

Il multisito può essere implementato in due modi principali.

Nel primo e più semplice anche nessuna configurazione del server web richiesta! Ciascun sito nella cartella principale del server Web verrà posizionato in una directory separata, ad esempio /sito1/ e /sito2/. Le impostazioni di ciascun sito specificano i nomi di dominio con cui devono essere visualizzati e la directory corrispondente con la parte pubblica del sito. Di conseguenza, Bitrix includerà automaticamente gli script appropriati in queste directory, che visualizzeranno il contenuto.

Il kit di distribuzione del prodotto software viene fornito configurato per funzionare secondo la prima modalità.

La seconda tecnica consente di separare al massimo le parti pubbliche dei siti. Per fare ciò, è necessario configurare diversi host virtuali (server web) sul server web (Apache, IIS). Ogni sito nel sistema riceve la propria directory principale (Document Root), in cui si trova la sua parte pubblica. A volte ogni sito può anche avere il proprio indirizzo IP. Allo stesso tempo, se nel primo metodo il prodotto stesso determina a quale sito connettersi a determinati nomi di dominio, qui questa operazione verrà eseguita dal server web. Con questa implementazione, il nucleo del sistema si trova fisicamente in un posto, diciamo, sul sito principale (cartelle /bitrix/ e /upload/), e i collegamenti simbolici a queste cartelle vengono creati su altri siti.

Pertanto, il prodotto supporta molti modi e parametri di organizzazione multisito. La prima opzione è molto comoda se il progetto è posizionato su un hosting condiviso, quando non c'è la possibilità di accedere alle impostazioni del server, o la configurazione è estremamente limitata. La seconda opzione viene solitamente utilizzata su server dedicati e offre le massime prestazioni e praticità nell'impostazione e configurazione del progetto.

Ogni opzione di implementazione è assolutamente trasparente sia per i visitatori del sito che per i motori di ricerca su Internet. Non vengono eseguiti reindirizzamenti, il che non interferisce con la corretta indicizzazione di ciascuna risorsa da parte del robot di ricerca.

Licenza

Incluso nella consegna standard del prodotto licenza per un numero illimitato di siti (tranne le licenze "Primo sito" e "Inizio"). Acquistando una copia di "1C-Bitrix: Gestione del sito", puoi creare gratuitamente, ad esempio, una risorsa in lingua russa e inglese, oppure un sito Web aziendale e un negozio online.

Tutti i siti che operano sulla stessa licenza devono essere ospitati sullo stesso hosting e utilizzare una copia del prodotto software 1C-Bitrix: Site Management.

  • Sviluppo di siti Web con versioni in più lingue
  • Sviluppo sito mobile
  • Sviluppo di ulteriori siti per reparti e rami dell'azienda
  • Sviluppo sito web per negozio online e suo ufficio di rappresentanza

Peculiarità

  • Un prodotto fondamentale
  • Una banca dati
  • Amministratore unico per tutti i siti
  • Tecnologia di trasferimento delle autorizzazioni

Trasferimento di autorizzazione

Nelle impostazioni del modulo principale, imposta la casella di controllo per distribuire l'autorizzazione a tutti i domini (nella scheda di autorizzazione).

Multisito su un dominio

Peculiarità

  • Un nome di dominio
  • Directory separata per sito aggiuntivo

Esempio: www.mycompany.com/s1/ , www.mycompany.com/s2/ o www.mycompany.com , www.mycompany.com/s2/ .

Principio

Viene creata una cartella, ad esempio s2, il contenuto viene lanciato lì, viene assegnato un modello di sito, viene configurato il multisito

Collocamento

Nelle impostazioni del sito (impostazioni prodotto -> siti -> elenco siti) impostare i seguenti parametri per i siti s1 e s2:

  • titolo
  • cartella del sito (per s1 "/" o "/s1/")
  • nome del sito web
  • URL del server (uguale)

Multisito su domini diversi

Principio

  • Nome di dominio separato per il sito secondario
  • Server web separato per il sito secondario

Impostazioni del server

  • configurazione del server web
  • delega di dominio

Macchina virtuale Bitrix

Due siti vengono aggiunti a BitrixVM.

Delega di dominio

Nel corso di esempio, il file hosts è stato modificato.

Configurazione del sito web

Installa Bitrix nella cartella del primo sito. Quindi nella cartella del secondo sito vengono creati collegamenti simbolici per cartella bitrix e caricamento primo sito.

ln -s /home/bitrix/ext_www/site_one/bitrix /home/bitrix/ext_www/site_two
ln -s /home/bitrix/ext_www/site_one/upload /home/bitrix/ext_www/site_two

Copia i file sul secondo sito:

  • access.php
  • .htaccess
  • 404.php
  • index.php

I siti hanno le seguenti impostazioni:

  • titolo
  • Nome del dominio
  • cartella del sito
  • nome del sito web
  • URL del server
  • percorso alla cartella principale del server web

Trasferimento di una sezione del sito in un sottodominio utilizzando l'esempio di un forum

  1. Crea cartella forum
  2. inserire un componente forum complesso al suo interno
  3. nelle impostazioni del sito aggiungi il nome di dominio mysite.ru e forum.mysite.ru
  4. nella cartella del forum creiamo collegamenti simbolici alle cartelle bitrix e upload
  5. per connettere il template, usa la condizione php $SERVER["HTTP_HOST"] == "forum.mysite.ru"

Con questa opzione, il menu sul sottodominio remoto non funzionerà, perché. ciò richiede percorsi assoluti nel menu.

Pseudo multisito

  1. Viene creato un sottodominio.
  2. Questo nome di dominio è specificato nelle impostazioni del sito.
  3. La pagina indice contiene il codice:
// collega il file con la classe CMainPage
richiedono ($_SERVER [ "ROOT_DOCUMENTO" ] . "/bitrix/modules/main/include/mainpage.php") ;
// ottiene l'identificatore del sito corrente per nome di dominio
$site_id = CMainPage: : GetSiteByHost () ;
// ottiene il percorso assoluto della pagina di indice della cartella del sito
$pagina = PaginaPrincipale: : GetIncludeSitePage ($id_sito) ;
// se il sito è definito e la pagina dell'indice è definita allora
if (strlen ($site_id ) > 0 && strlen ($page ) > 0 ) (
// collega la pagina
require_once($pagina) ;
) altro ( // altrimenti, se il sito non è definito allora
require ($_SERVER [ "ROOT_DOCUMENTO" ] . "/bitrix/header.php" );
// inoltre puoi inserire il codice che verrà visualizzato se
// il sito non è stato precedentemente definito
require ($_SERVER [ "ROOT_DOCUMENTO" ] . "/bitrix/footer.php" ) ;
}

Molti siti

Risolvere un problema aziendale secondo il principio generale “ogni risorsa web ha un proprio sistema di gestione” è inefficiente; e soprattutto inefficiente quando il sistema di controllo è ogni volta diverso. I problemi con questo approccio sono:

  1. Costi finanziari eccessivi necessari per l'acquisto o lo sviluppo di sistemi di gestione dei contenuti.
  2. Diversi punti di accesso alla gestione del sito, diversa interfaccia di gestione.
  3. Vari sistemi di autorizzazione e database degli utenti del sito.
  4. Vari spazi pubblicitari.
Di conseguenza, l'azienda ha un decentramento nella gestione dei suoi progetti web. Vengono spese risorse eccessive per la creazione di soluzioni Web e la soluzione dei problemi aziendali su Internet viene ritardata. Anche i visitatori dei progetti web dell'azienda possono riscontrare inconvenienti quando lavorano con loro.

"1C-Bitrix" propone di cambiare questa situazione. Su ogni istanza del prodotto, puoi creare più siti web secondo lo schema di licenza applicabile.

Perchè la necessità di creare sistemi multisito e cosa significa? Per rispondere a questa domanda, ti fornirò un esempio eloquente della nostra conversazione con un cliente.

Siamo stati contattati da una casa editrice per un consiglio sulla scelta della soluzione migliore. Il capo della direzione Internet ha affermato che gestiscono contemporaneamente 18 siti molto diversi. E ogni sito ha il proprio sistema di gestione dei contenuti, una sorta di meccanismo di gestione della pubblicità, da qualche parte c'è un negozio online con i propri utenti. La maggior parte dei progetti ha forum separati con i propri account utente, da qualche parte ci sono statistiche, blog...

"E ora immagina", dice, il mio tablet Excel, dove conservo tutte le mie password per accedere a questa riserva! Bene, siamo stati in grado di far ricordare le password ai nostri dipendenti e di utilizzarle, ma non posso far lavorare i clienti in quel modo?! Noi, infatti, abbiamo già perso il controllo sul processo di sviluppo, aggiornando i progetti, non possiamo aprire nuovi progetti...
Ho bisogno di un sistema che non solo unisca le funzionalità di cui ho bisogno per un sito, ma consenta anche di combinare tutti i siti in un unico sistema di gestione, con un unico sistema di autorizzazione e sicurezza, quando un cliente dovrà solo registrarsi su qualsiasi dei siti e potrà lavorare con tutti gli altri siti. Lo riconosceremo e gli offriremo servizi aggiuntivi”.

Comprendendo questo problema, abbiamo implementato MULTI-SITE in tutte le edizioni del prodotto software 1C-Bitrix: Site Management, a partire dalla versione 4.0. Inoltre, ogni edizione del nostro prodotto (tranne "First Site" e "Start" include una licenza per un numero illimitato di siti, ovvero basata sull'edizione "Business" puoi creare più progetti uniti dal sistema di controllo e un progetto può esserlo grande portale, e secondo - negozio online di grandi dimensioni, ecc..

Curiosamente, man mano che la presenza della tua azienda su Internet cresce, il numero di progetti che hai aumenterà costantemente. E se su uno o due progetti non sei ancora molto consapevole dei problemi di incoerenza, ogni nuovo progetto raddoppierà la complessità e il costo e ti rallenterà se i tuoi progetti non sono inizialmente combinati in un sistema multisito.

Artem Ryabinkov, Leading Analyst, Project Coordinator, 1C-Bitrix


Tecnologia

Siti e istanze

Sotto istanza del prodotto indica una copia di "1C-Bitrix: gestione del sito" acquistata dal cliente, utilizzando un database dall'elenco dei DBMS supportati dal prodotto.

Sotto sito webè inteso come una combinazione dei seguenti concetti:

  • Account in un database condiviso;
  • Parte pubblica del sito (file e cartelle);
  • Impostazioni del sito.
In altre parole, sito webè un'entità creata nel sistema che ha un certo insieme di dati (contenuto) e parametri (lingua, modello di progettazione, formati di data e ora). I dati possono essere univoci all'interno di questo sito (parte pubblica, singoli infoblock, moduli web, sondaggi, forum, ecc.) o condivisi tra più siti.

Tecnologia multisito

Ciascuno dei siti deve puntare a un nome di dominio specifico oa un insieme di nomi di dominio. Tali corrispondenze sono specificate nelle impostazioni di ciascun sito. Non ci sono restrizioni sui nomi di dominio e sulle opzioni di indirizzamento. Ogni nuovo sito creato può essere un dominio di secondo o terzo livello.

Pertanto, tutti i siti sono implementati sulla base di una copia del prodotto e usa un database condiviso. Questo ha i seguenti innegabili vantaggi:

  1. Un'unica interfaccia di gestione del prodotto consente di unificare, da un unico punto, la gestione di tutti i progetti web: modificare la struttura, aggiungere contenuti, gestire i diritti di accesso, ecc.
  2. Un unico sistema di autorizzazione e un unico database utente consentono all'utente di registrarsi su un progetto web, quindi utilizzare servizi web e informazioni su tutte le altre risorse, in conformità con i suoi diritti.
  3. Un unico sistema per la raccolta delle statistiche sia per ogni singolo progetto, sia con la ricezione dei dati analitici di sintesi per tutti i progetti. Inoltre, grazie alla tecnologia UserMultiSiteTransfer, eseguita riconoscimento dei visitatori che giungono a siti diversi all'interno di una configurazione multisito.
  4. Un unico spazio pubblicitario che consente all'azienda o all'inserzionista coinvolto di gestire il posizionamento e l'esposizione dei banner da un unico punto. E grazie alla tecnologia UserMultiSiteTransfer - riconoscere visitatori e utilizzare efficacemente le impressioni dei banner .

Se l'azienda ha sviluppato e messo a punto processi aziendali per la gestione dei siti: creazione e pubblicazione di materiali, gestione della pubblicità, sondaggi, ecc., la creazione di una nuova risorsa web non comporterà modifiche a questa struttura.

I siti hanno un unico database, quindi se hai implementato l'importazione/esportazione con i tuoi sistemi aziendali o contabili, il supporto per più siti sarà trasparente per questa funzionalità.

Il multisito può essere implementato in due modi principali.

Nel primo e più semplice anche nessuna configurazione del server web richiesta! Ciascun sito nella cartella principale del server Web verrà posizionato in una directory separata, ad esempio /sito1/ e /sito2/. Le impostazioni di ciascun sito specificano i nomi di dominio con cui devono essere visualizzati e la directory corrispondente con la parte pubblica del sito. Di conseguenza, Bitrix includerà automaticamente gli script appropriati in queste directory, che visualizzeranno il contenuto.

Il kit di distribuzione del prodotto software viene fornito configurato per funzionare secondo la prima modalità.

La seconda tecnica consente di separare al massimo le parti pubbliche dei siti. Per fare ciò, è necessario configurare diversi host virtuali (server web) sul server web (Apache, IIS). Ogni sito nel sistema riceve la propria directory principale (Document Root), in cui si trova la sua parte pubblica. A volte ogni sito può anche avere il proprio indirizzo IP. Allo stesso tempo, se nel primo metodo il prodotto stesso determina a quale sito connettersi a determinati nomi di dominio, qui questa operazione verrà eseguita dal server web. Con questa implementazione, il nucleo del sistema si trova fisicamente in un posto, diciamo, sul sito principale (cartelle /bitrix/ e /upload/), e i collegamenti simbolici a queste cartelle vengono creati su altri siti.

Pertanto, il prodotto supporta molti modi e parametri di organizzazione multisito. La prima opzione è molto comoda se il progetto è posizionato su un hosting condiviso, quando non c'è la possibilità di accedere alle impostazioni del server, o la configurazione è estremamente limitata. La seconda opzione viene solitamente utilizzata su server dedicati e offre le massime prestazioni e praticità nell'impostazione e configurazione del progetto.

Ogni opzione di implementazione è assolutamente trasparente sia per i visitatori del sito che per i motori di ricerca su Internet. Non vengono eseguiti reindirizzamenti, il che non interferisce con la corretta indicizzazione di ciascuna risorsa da parte del robot di ricerca.

Licenza

Incluso nella consegna standard del prodotto licenza per un numero illimitato di siti (tranne le licenze "Primo sito" e "Inizio"). Acquistando una copia di "1C-Bitrix: Gestione del sito", puoi creare gratuitamente, ad esempio, una risorsa in lingua russa e inglese, oppure un sito Web aziendale e un negozio online.

Tutti i siti che operano sulla stessa licenza devono essere ospitati sullo stesso hosting e utilizzare una copia del prodotto software 1C-Bitrix: Site Management.

Difficoltà della lezione:

4° livello- difficile, richiede concentrazione, attenzione ai dettagli e scrupoloso rispetto delle istruzioni.

Per operazioni multisito su domini diversi, è necessario configurare il prodotto software. Il web server Apache, come nel caso di multisito sullo stesso dominio, deve essere configurato dalla società di hosting.

Useremo ad esempio una configurazione di due siti:

  • www.site1.com - sito web aziendale dell'azienda
  • www.site2.com - negozio online dell'azienda

Configurazione multisito su domini diversi

Ogni sito deve essere inserito nella directory appropriata, ad esempio:

  • /casa/www/sito1/
  • /casa/www/sito2/

Installazione del prodotto e configurazione dei collegamenti simbolici

Il prodotto è installato in uno dei siti. Affinché il kernel funzioni per entrambi i siti, è necessario creare collegamenti simbolici per il sito su cui non è installato il kernel. I collegamenti saranno richiesti per le cartelle /bitrix , /local e /upload. Queste cartelle sono comuni per entrambi i siti, questa è una caratteristica dell'architettura.

Nota:È possibile semplicemente copiare le cartelle specificate dal primo sito al secondo. Con questa copia, otterrai due copie del kernel che funzionano con lo stesso database. Questa opzione funzionerà, ma ci sono due punti negativi: tecnico e legale. Il problema tecnico è che dopo aver aggiornato uno dei core, il database verrà aggiornato e il secondo sito smetterà di funzionare. Il problema legale è che copiare il kernel è contro la licenza del prodotto.

Nota:È tecnicamente possibile (ma non consigliato) copiare le cartelle specificate in qualche cartella esterna, a cui sono configurati collegamenti simbolici per tutti i siti.

Collegamento simbolico:(anche collegamento simbolico dall'inglese. Collegamento simbolico, collegamento simbolico) - un file speciale per il quale non sono memorizzate informazioni nel file system, ad eccezione di una riga di testo. Questa stringa viene interpretata come il percorso del file che dovrebbe essere aperto quando si tenta di accedere a questo collegamento.

In pratica, i link simbolici vengono utilizzati per organizzare in modo più conveniente la struttura dei file su un computer, poiché consentono a un file oa una directory di avere più nomi e sono liberi da alcune delle restrizioni inerenti agli hard link (questi ultimi operano solo all'interno di una sezione e non può fare riferimento a directory).

I collegamenti possono essere creati in due modi. Il primo è quello classico, consigliato dall'azienda fin dall'inizio. Il secondo, più tardi, è considerato più "bello e aggraziato". Manca il passaggio di creare una cartella separata e trasferirvi il kernel di sistema.

Prima opzione(in verde sono esempi di installazione su sistemi UNIX):

  1. installare il software
  2. creare una directory /home/www/shared/ , che conterrà i file condivisi da tutti i siti:
    mkdir /home/www/shared
  3. sposta l'intera directory /home/www/site1/bitrix/ in /home/www/shared/bitrix/ :
    mv /home/www/site1/bitrix /home/www/shared/bitrix
  4. sposta l'intera directory /home/www/site1/upload/ in /home/www/shared/upload/ :
    mv /home/www/site1/upload /home/www/shared/upload
  5. sposta l'intera directory /home/www/site1/local/ in /home/www/shared/local/ :
    mv /home/www/site1/local /home/www/shared/local
  6. creare un collegamento simbolico per la directory /bitrix/ in ciascuno dei siti:
    1. ln -s /home/www/shared/bitrix /home/www/site1/
    2. ln -s /home/www/shared/upload /home/www/site1/
    3. ln -s /home/www/shared/local /home/www/site1/
    4. ln -s /home/www/shared/bitrix /home/www/site2/
    5. ln -s /home/www/shared/upload /home/www/site2/
    6. ln -s /home/www/shared/local /home/www/site2/
  7. assicurati che il server web ( Apache, IIS) ha il diritto di scrivere nella directory /home/www/shared/ (sarà necessario per il funzionamento del sistema di aggiornamento e per il download dei file grafici)
  8. posizionare la parte pubblica del secondo sito nella directory /home/www/site2/

Nota: Per creare e rimuovere collegamenti simbolici in Windows (a partire da Vista) c'è il comando mklink, oppure utilizzare programmi aggiuntivi, ad esempio, Gestore lontano o Giunzione da Sysinternals.

Importante! Il file system FAT32 non supporta la creazione di collegamenti simbolici.

Quando si imposta una configurazione multisito su UNIX, è possibile utilizzare il metodo programmatico per creare collegamenti simbolici:

Nota:

In alcuni casi, ad esempio, se il web server è in esecuzione in chroot, è necessario creare dei collegamenti relativi.

Esempio:
/var/www/s1 - primo sito
/var/www/s2 - secondo sito
/var/www/shared - cartella con il kernel di sistema

Ln -s ../shared/bitrix bitrix ln -s ../shared/upload upload ln -s ../shared/local local Vai a /var/www/s2 ed esegui gli stessi comandi.

Seconda opzione. Crea collegamenti simbolici direttamente nella cartella del secondo sito.

  1. Installa il prodotto software prima nella directory del primo sito /home/www/site1/
  2. Creare uno script nella cartella principale del secondo sito (/home/www/site2/), ad esempio sotto il nome link simbolico.php:
  3. Creazione di collegamenti a cartelle bitrix, locali e di caricamento Collegamenti simbolici creati con successo"; else $strError = "Impossibile creare un collegamento alla cartella di caricamento, contattare l'amministratore del server"; ) else $strError = "Impossibile creare un collegamento alla cartella bitrix, contattare l'amministratore del server"; ) else $strError = "Il percorso specificato non contiene la cartella bitrix"; ) else $strError = "Percorso non valido o errore di autorizzazione"; if ($strError) echo "".$strError."
    Percorso di origine: ".$percorso_completo; ) ?>
    Percorso della cartella contenente le cartelle bitrix, local e di caricamento:
  4. Eseguire lo script e specificare il percorso della cartella principale del primo sito, nel nostro caso /home/www/site1/ .
  5. Dopo aver creato i collegamenti simbolici, digita site1/bitrix/admin nella barra degli indirizzi del tuo browser. Si aprirà il pannello di accesso.
  6. Inserisci i dati dell'amministratore che hai specificato durante l'installazione del prodotto sul primo sito e verrai indirizzato al pannello amministrativo "1C-Bitrix: gestione del sito".

Una volta completato lo script, la presenza di collegamenti simbolici alle cartelle /bitrix , /local e /upload nella cartella del secondo sito può essere verificata mediante la comparsa di cartelle con lo stesso nome.

Durante la fase di creazione possono sorgere problemi:

  • mancanza di accesso in scrittura alla cartella corrente;
  • vincolo di sicurezza ( open_basedir) che impedisce agli utenti di hosting condiviso di accedere ad altri siti.

In caso di problemi con questo script, dovresti contattare l'hoster per chiedere aiuto.

Configurazione del sito

I siti sono configurati nella sezione amministrativa del sistema nella pagina Impostazioni > Impostazioni prodotto > Siti > Elenco siti.

Nella riga del primo sito (www.site1.com), nella colonna azione, selezionare il comando Modificare e specificare in essi:

  • Nome: sito1
  • Nome del dominio: sito1.com
  • Cartella del sito: /
  • Nome del sito: Sito web aziendale dell'azienda" Il nome dell'azienda"
  • URL del server: www.site1.com
  • /casa/www/sito1/

Se il DNS è configurato in modo che il tuo sito risponda a http://site1.com , nel campo Nome del dominio preferibilmente senza www. Puoi elencare in questo campo, su una nuova riga, un numero qualsiasi di nomi di dominio a cui desideri che il sito risponda (o a cui sta già rispondendo).

È importante tenere presente che i valori specificati in campo Nome del dominio, vengono utilizzati dal prodotto per distribuire informazioni sui visitatori ai domini specificati utilizzando la tecnologia trasferimento di visitatori. Pertanto, è altamente auspicabile indicare l'elenco completo dei domini per i quali il sito può rispondere.

È molto importante non includere nell'elenco dei domini i siti che non funzionano su questa istanza del prodotto. Specificare un dominio errato o inesistente può non solo rallentare il lavoro degli utenti, ma addirittura impedire che i dati vengano trasferiti a siti che non funzionano su un comune istanza del prodotto.

Allo stesso modo, configura i parametri del secondo sito (www.site2.com/ ):

  • Nome: sito2
  • Nome del dominio: sito2.com
  • Cartella del sito: /
  • Nome del sito: Negozio online dell'azienda " Il nome dell'azienda"
  • URL del server: www.site2.com
  • Percorso della cartella principale del server Web per questo sito:/casa/www/sito2/

Si noti che per due siti nel parametro Cartella del sito lo stesso valore è dato: " / ". Ciò è dovuto al fatto che i siti sono serviti da diversi "server virtuali" (nella terminologia Apache) che utilizzano una directory diversa per ospitare i file.

È inoltre necessario prestare attenzione al parametro Percorso della cartella principale del server Web per questo sito. Per i diversi siti ha un proprio valore, preso dal parametro DocumentRoot delle impostazioni del corrispondente "server virtuale" (vedi sotto un esempio di una parte del file httpd.conf impostazioni di Apache).

Nota:

Va tenuto presente che quando si organizza il multisito secondo questo metodo, è possibile utilizzare un'installazione come server virtuali Apache e solo diverse installazioni di Apache. Questo è vero per altri server web: IIS, Eserv eccetera.

Importante: quando si crea un secondo sito, è necessario copiare dal sito principale o ricreare i file /.htaccess e /404.php.

Quando la difesa proattiva è abilitata, il secondo sito deve essere aggiunto all'elenco.

.access.php

Crea un file .access.php con il seguente contenuto nella radice del secondo sito:

Nota:

Per questo metodo di organizzazione del multisito, non è necessario configurare l'algoritmo di selezione del sito nella pagina dell'indice, come si fa con , perché il sito sarà identificato univocamente dal campo Nome del dominio.

La configurazione è pronta per l'uso.

Login

  • Digita nella barra degli indirizzi del browser http://site1/bitrix/admin (o http://site2/bitrix/admin ). Si aprirà il pannello di accesso.
  • Inserisci i dati dell'amministratore che hai specificato durante l'installazione del prodotto sul primo sito e verrai indirizzato al pannello amministrativo "1C-Bitrix: gestione del sito".

Poiché il nucleo è lo stesso e la base è la stessa, il pannello amministrativo per entrambi i siti sarà lo stesso.

Tecnicamente, il sistema consente la creazione di un numero arbitrario di siti che funzionano secondo questo schema. In ciascuno dei siti appena creati, è necessario configurare un server Web e creare un collegamento simbolico. Legalmente, per creare ogni nuovo sito (tranne i primi due) è necessario acquistare un coupon aggiuntivo.

Nota: Cache HTML non supportato sul secondo multisito. Inoltre, questa funzionalità è considerata deprecata. La tecnologia è consigliata.

Ordinamento dei siti nell'elenco generale

C'è una funzione nell'impostazione dei valori in un campo Ordinamento

Articoli correlati in alto