Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Erori
  • Bitrix multi-site pe diferite domenii. mașină virtuală Bitrix

Bitrix multi-site pe diferite domenii. mașină virtuală Bitrix

Cel mai bun articol, după părerea mea, despre organizarea multisite-ului în „1C-Bitrix”. Totul este descris foarte ușor.

Ei bine, să începem cu faptul că pe o singură instalare Bitrix, puteți face mai multe site-uri (fără a cumpăra licențe suplimentare, puteți face două site-uri), ceea ce înseamnă că vom închide prima întrebare: pentru a configura multi-site, trebuie să instalați Bitrix doar o dată.
Există un tutorial destul de detaliat care descrie două moduri de a configura mai multe site-uri.


Ce modalitate de a alege?

Există o părere că utilizatorul alege singur cea mai convenabilă metodă de multisite, cu toate acestea, în realitate, alegerea metodei depinde de setările sistemului.

Prima metodă presupune (pe foldere) că site-urile sunt în același domeniu, dar în foldere diferite. Este potrivit pentru crearea de site-uri în diferite limbi sau, de exemplu, site-uri regionale ale unei companii.
Adresele site-urilor vor arăta astfel:

http://example.com/en
http://example.com/en

sau

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

Dacă subiectele site-urilor sunt diferite, aparent, nu te poți descurca fără configurarea celei de-a doua metode, când site-uri diferite sunt în domenii diferite, de exemplu:

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

Ambele site-uri funcționează pe aceeași copie a produsului, dar în exterior acest lucru nu se manifestă în niciun fel. Pare mai frumos, dar este nevoie de ceva mai multă muncă pentru a configura.
Aș dori mai ales să vă atrag atenția asupra faptului că mai departe vorbim despre lucrul la găzduire, când toate setările serverului sunt făcute de administrator. Dacă configurați multisite la nivel local, trebuie mai întâi să configurați serverele web virtuale. Puteți vedea despre acest lucru pe site-ul oficial Apache (și în partea rusă a internetului există o mulțime de articole pe acest subiect).

Acum câteva cuvinte despre modul în care sistemul determină site-ul curent.
Să deschidem setările site-ului (Setări - Setări produs - Site-uri web - Lista site-urilor):

Aici puteți specifica numele domeniului și folderul site-ului - acestea sunt setările principale pentru multi-site, restul determină prioritățile.
În primul rând, sistemul verifică domeniul curent: domeniile sunt selectate din setările tuturor site-urilor și corelate cu domeniul pe care se află utilizatorul. În acest caz, este comparată doar partea dreaptă a punctului (adică toate subdomeniile sunt alocate automat acestui domeniu). De exemplu, setările indică
exemplu.com
iar utilizatorul a deschis
www.example.com
condiția va fi considerată îndeplinită. Dar dacă deschide my-example.com- acesta este un domeniu diferit, trebuie indicat separat în lista de nume de domenii.
Dacă nu sunt specificate nume de domenii sau aceleași domenii sunt specificate pe site-uri diferite, atunci determinarea se face în funcție de folderul site-ului. Vă rugăm să rețineți că folderul este specificat aici în raport cu rădăcina site-ului (adică calea din URL), nu calea din sistemul de fișiere de pe server.
În viitor, identificatorul site-ului este utilizat pentru a conecta șablonul, pentru a selecta știri, pentru a determina limba etc.

Exemplu:
Un folder este specificat în setările unui site / , un alt / ru.
La deschidere example.com/forum/messages/ ajungem la primul site, când deschideți example.com/ru/forum/messages/- Pe al doilea.
În acest caz, folderul bitrix (conținând nucleul produsului) se află la rădăcină, nu este copiat nicăieri și nu sunt făcute alte setări pe server. Totul este clar și simplu.
Mult mai multe întrebări și probleme apar cu configurarea multisite-ului conform celei de-a doua metode, atunci când trebuie să deservim mai multe site-uri din domenii diferite cu o singură instalare Bitrix. Să ne oprim asupra acestui lucru mai detaliat.

Multisite prin a doua metodă (mini HOWTO)

Mai întâi trebuie să decideți ce vrem să obținem. Vom presupune că avem două domenii:

exemplu.com
exemplu.net

Au foldere rădăcină diferite (adică la accesarea fiecăruia dintre ele, sunt deschise fișiere din foldere fizice diferite de pe server). Există o opțiune când același folder de pe server este deschis la accesarea oricărui domeniu (vom lua în considerare această opțiune mai jos), dar prima opțiune este de preferat.

În același timp, aș dori să vă atrag atenția asupra următoarelor puncte:


  • toate domeniile trebuie să indice același server, opțiunea când sunt configurate domenii diferite pentru diferiți hosteri este inacceptabilă;
  • în cazul nostru (când folderele rădăcină ale domeniilor sunt diferite) nu contează dacă avem diferite domenii de nivel al doilea sau subdomenii ale aceluiași domeniu (de exemplu, jocuri.exemplu.comși exemplu.com). Pentru a fi mai precis, nu contează deloc. Ceea ce ar trebui să ne intereseze este dacă au sau nu un folder rădăcină comun;
  • o opțiune când este configurat un număr mare de subdomenii, care sunt formate dinamic (de exemplu, vasya.example.com, kolya.example.com etc.) în general nu multisiteîn contextul produsului nostru și, în consecință, regulile pentru mai multe site-uri nu sunt aplicabile aici. Luați în considerare această opțiune de mai jos. În linii mari, natura cu mai multe site-uri a Bitrix este atunci când mai multe site-uri sunt configurate în lista de site-uri din setările produsului.
Obiectiv: configurarea multisite-ului conform celei de-a doua metode pe hosting UNIX.

Pas cu pas.

1. Instalați Bitrix pe unul dintre domenii (nu contează care). Pentru claritate, credem că am instalat produsul pe exemplu.com... Până acum, nu facem setări suplimentare.

2. Acum trebuie să faceți aceeași copie să funcționeze pe al doilea domeniu.
Credem că partea publică a site-urilor este diferită (altfel, de ce avem nevoie de site-uri diferite?), Deci pentru al doilea site este necesar doar miezul produsului (dosar bitrix, Bine încărcați). Teoretic, dacă le copiați doar de pe primul site, va funcționa, dar nu ne va convine (aveam de a face cu o astfel de natură „multi-site”).
Vom obține două copii ale nucleului care funcționează cu o bază de date, după actualizarea uneia dintre ele, baza de date va fi actualizată, iar al doilea site nu va mai funcționa (ei bine, în plus, copierea nucleului este împotriva licenței).
Problema este rezolvată prin folosirea legăturilor simbolice. Figurat vorbind, linkul servește ca o comandă rapidă pe desktop, care deschide programul, dar nu este programul în sine.
Ghidul Multisite recomandă mutarea nucleului într-un folder partajat impartit apoi faceți linkuri simbolice în fiecare site. Aici, pentru simplitate, voi simplifica acest pas și voi face un link de la un site la altul (din punct de vedere funcțional, nu e nicio diferență).
Am schițat un mic script care va ajuta la crearea de legături simbolice atunci când utilizați doar acces ftp la server:

Codul


Crearea de link-uri către bitrix și foldere de încărcare

raportare_erori (E_ALL & ~ E_NOTICE);
@ini_set ("display_errors", 1);

dacă ($ _POST [„cale”])
$ cale = rtrim ($ _ POST ["cale"], "/ \\");
altfel
$ cale = "../site2/www";

dacă ($ _POST ["creați")
{
if (preg_match ("# ^ / #", calea $))
$ full_path = $ cale;
altfel
$ full_path = realpath ($ _ SERVER ["DOCUMENT_ROOT"]. "/". $ p ath);

Dacă (fișier_există ($ _ SERVER ["DOCUMENT_ROOT"). "/ Bitrix"))
$ strError = "Există deja un folder bitrix în folderul curent";
elseif (is_dir ($ calea_completă))
{
if (is_dir ($ calea_completă. "/ bitrix"))
{
if (legătură simbolică ($ cale. "/ bitrix", $ _ SERVER ["DOCUM ENT_ROOT"). "/ bitrix"))
{
if (link simbolic ($ cale. "/ încărcare d", $ _ SERVER ["DOCUMENT_ROOT"). "/ încărcare"))
ecou" Legăturile simbolice sunt bine create";
altfel
$ strError = "Nu s-a creat un link către folderul de încărcare, contactați administratorul serverului";
}
altfel
$ strError = "Nu s-a creat un link către folderul bitrix, contactați administratorul serverului";

}
altfel
$ strError = "Calea specificată nu conține folderul bitrix";
}
altfel
$ strError = "Eroare de cale sau drepturi de acces nevalidă";

Dacă ($ strEroare)
ecou" ". $ strEroare."
Calea originală: ". $ Cale_completă;
}
?>


Calea către folderul care conține bitrix și folderele de încărcare:

Scriptul trebuie să fie încărcat în folderul rădăcină al celui de-al doilea site (în cazul nostru, exemplu.net), apoi după pornire, specificați calea către folderul rădăcină al primului site (sau folderul impartit dacă nucleul este în el).
Să presupunem că primul site este în folder:

al doilea:

Scriem scriptul în folder /var/www/denis/example.net/www, scrie calea în câmp " ../../example.com/www" sau " /var/www/denis/example.com/www". Dacă totul merge bine, în folder /var/www/denis/example.net/www vor apărea legăturile simbolice dorite.
În această etapă, pot apărea probleme:


  • fără drepturi de a scrie în folderul curent;
  • există o limitare de securitate (open_basedir) care împiedică utilizatorii de găzduire partajată să acceseze alte site-uri.

În caz de probleme cu acest script, ar trebui să căutați ajutor către gazdă.
După ce linkurile sunt create, ar trebui să se întâmple următoarele: tastăm exemplu.net/bitrix/admin, se deschide panoul de autorizare, introduceți datele de administrator pe care le-ați specificat la instalarea produsului exemplu.comși ajungem la panoul de administrare Bitrix.
Deoarece miezul este unul și baza este una - panoul de administrare pentru ambele site-uri va fi același(adică la fel).

Acum trebuie să copiați de pe primul site .access.php(pentru a avea acces la citire la secțiunea rădăcină, dacă este necesar, o puteți edita manual ștergând totul, cu excepția $ PERM ["/"] ["*"] = "R";) și index.php(care va fi apoi editat).

3. Configurarea site-urilor.

Deschideți setările pentru fiecare site ( Setări - Setări produs - Site-uri - Listă site-uri), indicați în „Nume de domeniu:” exemplu.comși exemplu.net pentru primul și, respectiv, al doilea site.
Ultimul lucru de făcut aici este să specificați calea de pe server către folderul rădăcină al fiecărui site (câmpul „Calea către folderul rădăcină al serverului web pentru acest site:”) pentru ca modulul de gestionare a structurii să construiască arborele de fișiere a fiecărui site (meniul „Conținut”):
indica /var/www/denis/example.com/wwwși /var/www/denis/example.net/www respectiv.

4. Verificarea părții publice.

Dacă totul a fost făcut corect, ar trebui să se deschidă acum site-uri diferite pe domenii diferite. Pentru a face acest lucru, vom folosi cel mai simplu script:

Codul





Să salvăm în rădăcina ambelor site-uri, la accesarea scriptului din domeniu exemplu.com ar trebui să fie afișat identificatorul (afișare cu două litere) al primului din domeniu exemplu.net- identificatorul celui de-al doilea site.

Tot. Problema a fost rezolvată.

Ce se întâmplă dacă folderul rădăcină este partajat?

Acest lucru nu este convenabil în primul rând pentru că partea publică a site-urilor va fi partajată... Dar dacă nu există altă opțiune, puteți configura și aici multisite. Doar pentru a separa partea publică la rădăcina site-ului, va trebui să creați foldere pentru fiecare site și de fapt se va dovedi multisite conform primei metode.

Acum, pe scurt, pas cu pas. Condițiile problemei sunt aceleași, dar vom presupune că domeniile exemplu.comși exemplu.net au un folder rădăcină / var / www / denis / exemplu

1. Punem produsul pe orice domeniu o singura data.

2. Pentru a separa partea publică, creați în folder / var / www / denis / exemplu foldere comși net... Aici nucleul are o cale / var / www / denis / exemplu / bitrix pentru ambele site-uri și nu trebuie să creați linkuri simbolice.

3. În setările site-ului, acum, pe lângă domeniu, trebuie să specificați folderul site-ului: / comși / net pentru primul și al doilea site.

4. Să creăm o pagină de index a site-ului urmând exemplul din tutorial. Această pagină după domeniu va determina site-ul curent și va conecta partea publică corespunzătoare. Doar pentru asta a fost necesara specificarea domeniilor in setarile site-ului. Iată codul de script:

Codul

Configurarea este completă.

Multe subdomenii pe un singur site

De exemplu, pe site, după înregistrare, utilizatorii își primesc domeniul formularului user.example.com... Când accesăm un astfel de domeniu, dorim să deschidem blogul utilizatorului.

1. Cel mai bine este să folosiți un folder rădăcină separat al site-ului într-o astfel de situație pentru toate subdomeniile. Suntem de acord cu gazda că pt exemplu.com se deschide /var/www/denis/example.com, și pentru toate subdomeniile (cu excepția www.example.com) folderul rădăcină este / var / www / denis / bloguri... Am pus Bitrix exemplu.com.

3. Creați o pagină de index într-un folder / var / www / denis / bloguri, puneți componenta pe ea bitrix: blog.blog... Rețineți că aceasta nu este o componentă de blogging complexă, ci o componentă care afișează conținutul unui anumit blog.

4. Pe aceeași pagină, înainte de a conecta componenta, introduceți codul care va determina ID-ul actual al blogului folosind următorul exemplu:

Concluzie

S-a dovedit mult text, în realitate nu sunt deloc multe acțiuni. Am încercat să evidențiez principalele întrebări pe care le au clienții cu privire la problemele multisite atunci când contactează suportul tehnic. Sper că prezentarea vă va ajuta să înțelegeți puțin mai bine problema și să rezolvați problemele folosind aceste cunoștințe.

Multe site-uri

Rezolvarea unei probleme de afaceri conform principiului general „pentru fiecare resursă web propriul sistem de management” este ineficientă; și mai ales ineficient când sistemul de control este diferit de fiecare dată. Problemele care apar cu această abordare sunt următoarele:

  1. Costuri financiare excesive necesare pentru achiziționarea sau dezvoltarea sistemelor de management al șantierului.
  2. Diferite puncte de intrare la managementul site-ului, interfață de management diferită.
  3. Diferite sisteme de autorizare și baze de date ale utilizatorilor site-ului.
  4. Spatii de publicitate diverse.
Drept urmare, compania are un management descentralizat al proiectelor sale web. Resurse excesive sunt irosite în crearea de soluții web, iar rezolvarea problemelor de afaceri de pe Internet este întârziată. Vizitatorii proiectelor web ale companiei pot experimenta, de asemenea, neplăceri atunci când lucrează cu ei.

„1C-Bitrix” își propune să schimbe această situație. Pe fiecare copie a produsului, puteți creați multe site-uriîn conformitate cu schema de licențiere aplicabilă.

De ce a apărut nevoia de a crea sisteme multi-site si ce inseamna asta? Pentru a răspunde la această întrebare, vă voi da un exemplu elocvent al conversației noastre cu un client.

O firmă de editură ne-a contactat pentru sfaturi privind alegerea celei mai bune soluții. Șeful departamentului de Internet a spus că au 18 site-uri foarte diferite care funcționează în același timp. Și fiecare site are propriul său sistem de management al conținutului, un fel de mecanism de gestionare a reclamelor, undeva există un magazin online cu utilizatorii săi. Majoritatea proiectelor au forumuri separate cu propriile conturi de utilizator, undeva sunt statistici, bloguri...

„Și acum imaginați-vă, spune el, tabelul meu în Excel, unde sunt stocate toate parolele mele de acces la această rezervă! Ei bine, am fost capabili să ne forțăm angajații să-și amintească parolele și să lucreze cu ele, dar nu pot face clienții să funcționeze așa?! Noi, de fapt, am pierdut deja controlul asupra procesului de dezvoltare, actualizând proiecte, nu putem deschide noi proiecte...
Am nevoie de un sistem care nu numai că va combina funcționalitățile de care am nevoie pentru un singur site, dar va permite și combinarea tuturor site-urilor într-un singur sistem de management, cu un singur sistem de autorizare și securitate, atunci când un client trebuie doar să se înregistreze pe oricare dintre site-urile și va putea lucra cu toate celelalte site-uri. Îl vom recunoaște și îi vom oferi servicii suplimentare.”

Înțelegând această problemă, am implementat MULTI-SITE în toate edițiile produsului software „1C-Bitrix: Site Management”, începând cu versiunea 4.0. Mai mult, fiecare ediție a produsului nostru (cu excepția „Primului Site” și „Start” include o licență pentru un număr nelimitat de site-uri. Adică bazată pe ediția „Business” poti crea mai multe proiecte unite prin sistemul de managementși un proiect poate fi portal mareși al doilea - un magazin online de amploare etc..

În mod curios, pe măsură ce prezența companiei dumneavoastră pe Internet crește, numărul de proiecte pe care le aveți va crește constant. Și dacă pe unul sau două proiecte încă nu simțiți cu adevărat problemele de inconsecvență, fiecare nou proiect va dubla complexitatea și costurile și vă va încetini progresul dacă inițial proiectele dvs. nu sunt. combinate într-un sistem multi-site.

Artem Ryabinkov, analist principal, coordonator de proiect la 1C-Bitrix


Tehnologie

Site-uri și instanțe

Sub o copie a produsuluiînseamnă o copie a „1C-Bitrix: Site Management” achiziționată de client, folosind o bază de date din lista de SGBD acceptate.

Sub site-ul web se înțelege ansamblul următoarelor concepte:

  • Un cont într-o bază de date partajată;
  • Partea publică a site-ului (fișiere și foldere);
  • Setările site-ului.
Cu alte cuvinte, site-ul Este o entitate creată în sistem care are un anumit set de date (conținut) și parametri (limbă, șablon de design, formate de dată și oră). Datele pot fi unice în cadrul acestui site (partea publică, infoblocuri individuale, formulare web, sondaje, forumuri etc.) sau partajate între mai multe site-uri.

Tehnologia multisite

Fiecare dintre site-uri trebuie să indice un anumit nume de domeniu sau un set de nume de domenii. Astfel de potriviri sunt indicate în setările fiecărui site. Nu există restricții privind numele de domenii și opțiunile de adresare. Fiecare site nou creat poate fi un domeniu de nivel al doilea sau al treilea.

Astfel, toate site-urile sunt implementate pe baza o copie a produsului si foloseste o singură bază de date comună... Aceasta are următoarele avantaje incontestabile:

  1. O singură interfață pentru gestionarea produsului vă permite să gestionați toate proiectele web dintr-un punct într-o manieră unificată: schimbați structura, adăugați conținut, gestionați drepturile de acces etc.
  2. Un sistem de autorizare unificat și o bază de date unificată a utilizatorilor permit utilizatorului să se înregistreze pe un proiect web, iar în viitor să utilizeze servicii web și informații despre toate celelalte resurse, în conformitate cu drepturile sale.
  3. Un sistem unificat de colectare a statisticilor atât pentru fiecare proiect separat, cât și cu obținerea de date analitice sumare pentru toate proiectele. În plus, datorită tehnologiei UserMultiSiteTransfer, efectuat recunoașterea vizitatorilor care vin pe diferite site-uri într-o configurație cu mai multe site-uri.
  4. Un singur spațiu publicitar care permite companiei sau advertiserului atras să gestioneze plasarea și afișarea bannerelor dintr-un punct. Și datorită tehnologiei UserMultiSiteTransfer - pentru a recunoaște vizitatori și utilizați eficient afișările bannerului .

Dacă compania a dezvoltat și depanat procese de business pentru gestionarea site-urilor: crearea și publicarea materialelor, gestionarea reclamelor, sondajelor etc., atunci crearea unei noi resurse web nu va presupune modificări în această structură.

Site-urile au o singură bază, așa că dacă ați implementat import/export cu sistemele corporative sau de contabilitate, atunci suportul pentru mai multe site-uri va fi transparent pentru această funcționalitate.

Multi-site-ul poate fi implementat în două moduri principale.

În primul și cel mai simplu, chiar nu este necesară configurarea serverului web! Fiecare site din folderul rădăcină al serverului web va fi localizat într-un director separat, de exemplu / site1 / și / site2 /. Setările fiecărui site indică numele de domenii prin care acestea ar trebui să fie redate și directorul corespunzător cu partea publică a site-ului. Ca rezultat, Bitrix va include automat scripturile corespunzătoare în aceste directoare, care vor reda conținutul.

Kitul de distribuție al produsului software este livrat configurat să funcționeze conform primei metode.

A doua tehnică vă permite să împărțiți la maximum părțile publice ale site-urilor. Pentru a face acest lucru, trebuie să configurați mai multe gazde virtuale (servere web) pe serverul web (Apache, IIS). Fiecare site din sistem are propria sa rădăcină de document, unde se află partea sa publică. Uneori, fiecare site poate avea chiar propria sa adresă IP. În același timp, dacă în prima metodă, produsul însuși determină ce site să se conecteze folosind numele de domenii specificate, atunci aici această operațiune va fi efectuată de serverul web. Cu o astfel de implementare, nucleul de sistem este localizat fizic într-un singur loc, de exemplu, pe site-ul principal (folderele / bitrix / și / upload /), în timp ce restul site-urilor fac legături simbolice către aceste foldere.

Astfel, produsul suportă multe moduri și parametri de organizare multisite. Prima variantă este foarte convenabilă dacă proiectul este găzduit pe shared hosting, când nu există nicio modalitate de a accesa setările serverului sau configurația este extrem de limitată. A doua opțiune este de obicei folosită pe servere dedicate și oferă performanță maximă și confort în configurarea și configurarea proiectului.

Fiecare opțiune de implementare este absolut transparentă atât pentru vizitatorii site-ului, cât și pentru motoarele de căutare de pe Internet. Nu se efectuează redirecționări, ceea ce nu interferează cu indexarea corectă a fiecărei resurse de către robotul de căutare.

Licențiere

Livrarea standard a produsului include licență pentru un număr nelimitat de site-uri (cu excepția licențelor „Primul site” și „Start”)... Achiziționând o copie a 1C-Bitrix: Site Management, puteți crea, de exemplu, o resursă în limba rusă și engleză sau un site web corporativ și un magazin online gratuit.

Toate site-urile care operează sub aceeași licență trebuie să fie găzduite pe aceeași găzduire și să utilizeze o copie a produsului software 1C-Bitrix: Site Management.

  • Dezvoltare site cu mai multe versiuni lingvistice
  • Dezvoltare site mobil
  • Dezvoltarea de site-uri suplimentare pentru divizii și sucursale ale companiei
  • Dezvoltare site pentru un magazin online si reprezentarea acestuia

Particularități

  • Un nucleu de produs
  • O singură bază de date
  • Administrator unic pentru toate site-urile
  • Tehnologia de transfer de autorizare

Transfer de autorizare

În setările modulului principal, setați caseta de selectare pentru a extinde autorizarea la toate domeniile (în fila Autorizare).

Multi-site pe un singur domeniu

Particularități

  • Un nume de domeniu
  • Director separat pentru site-ul suplimentar

Exemplu: www.mycompany.com/s1/, www.mycompany.com/s2/ sau www.mycompany.com, www.mycompany.com/s2/.

Principiu

Este creat un folder, de exemplu s2, conținutul este încărcat acolo, este atribuit un șablon de site, este configurat multisite

Personalizare

În setările site-ului (setări produs -> site-uri -> listă site-uri) setați următorii parametri pentru site-urile s1 și s2:

  • titlu
  • folderul site-ului (pentru s1 "/" sau "/ s1 /")
  • numele site-ului web
  • adresa URL a serverului (aceeași)

Multisite pe diferite domenii

Principiu

  • Nume de domeniu separat pentru un site suplimentar
  • Server web separat pentru site-ul secundar

Setări server

  • configurarea serverului web
  • delegarea domeniului

mașină virtuală Bitrix

Două site-uri sunt adăugate la BitrixVM.

Delegarea domeniului

În exemplul de curs, fișierul hosts a fost editat.

Configurarea site-urilor

Instalați Bitrix în folderul primului site. Apoi în folderul celui de-al doilea site sunt făcute legături simbolice pe folder bitrixși încărcați primul site.

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 fișierele pe al doilea site:

  • acces.php
  • .htaccess
  • 404.php
  • index.php

Site-urile au următoarele setări:

  • titlu
  • Numele domeniului
  • folderul site-ului
  • numele site-ului web
  • URL-ul serverului
  • calea către folderul rădăcină al serverului web

Mutarea unei secțiuni de site într-un subdomeniu folosind exemplul unui forum

  1. Creați un folder de forum
  2. plasează în el componenta complexă a forumului
  3. în setările site-ului, adăugați numele de domeniu mysite.ru și forum.mysite.ru
  4. în folderul forum creați legături simbolice către bitrix și încărcați folderele
  5. pentru a conecta șablonul, utilizați condiția php $ SERVER ["HTTP_HOST"] == "forum.mysite.ru"

Cu această opțiune, meniul de pe subdomeniul eliminat nu va funcționa, deoarece acest lucru necesită căi absolute de meniu.

Pseudo multi-site

  1. Se creează un subdomeniu.
  2. Acest nume de domeniu este indicat în setările site-ului.
  3. Pagina de index conține codul:
// include un fișier cu clasa CMainPage
necesită ($ _SERVER [„DOCUMENT_ROOT”]. „/bitrix/modules/main/include/mainpage.php”) ;
// obțineți identificatorul site-ului curent după numele de domeniu
$ site_id = CMainPage:: GetSiteByHost ();
// obține calea absolută către pagina de index a folderului site-ului
$ pagina = CMainPage:: GetIncludeSitePage ($ site_id);
// dacă este definit un site și este definită o pagină de index, atunci
dacă (strlen ($ site_id)> 0 && strlen ($ pagina)> 0) (
// conectați pagina
require_once ($ pagină);
) altfel ( // altfel dacă site-ul nu este definit atunci
necesită ($ _SERVER ["DOCUMENT_ROOT"]. "/bitrix/header.php");
// apoi puteți plasa codul care va fi afișat dacă
// site-ul nu a fost definit anterior
necesită ($ _SERVER ["DOCUMENT_ROOT"]. "/bitrix/footer.php");
}

Multe site-uri

Rezolvarea unei probleme de afaceri conform principiului general „pentru fiecare resursă web propriul sistem de management” este ineficientă; și mai ales ineficient când sistemul de control este diferit de fiecare dată. Problemele care apar cu această abordare sunt următoarele:

  1. Costuri financiare excesive necesare pentru achiziționarea sau dezvoltarea sistemelor de management al șantierului.
  2. Diferite puncte de intrare la managementul site-ului, interfață de management diferită.
  3. Diferite sisteme de autorizare și baze de date ale utilizatorilor site-ului.
  4. Spatii de publicitate diverse.
Drept urmare, compania are un management descentralizat al proiectelor sale web. Resurse excesive sunt irosite în crearea de soluții web, iar rezolvarea problemelor de afaceri de pe Internet este întârziată. Vizitatorii proiectelor web ale companiei pot experimenta, de asemenea, neplăceri atunci când lucrează cu ei.

„1C-Bitrix” își propune să schimbe această situație. Pe fiecare copie a produsului, puteți creați multe site-uriîn conformitate cu schema de licențiere aplicabilă.

De ce a apărut nevoia de a crea sisteme multi-site si ce inseamna asta? Pentru a răspunde la această întrebare, vă voi da un exemplu elocvent al conversației noastre cu un client.

O firmă de editură ne-a contactat pentru sfaturi privind alegerea celei mai bune soluții. Șeful departamentului de Internet a spus că au 18 site-uri foarte diferite care funcționează în același timp. Și fiecare site are propriul său sistem de management al conținutului, un fel de mecanism de gestionare a reclamelor, undeva există un magazin online cu utilizatorii săi. Majoritatea proiectelor au forumuri separate cu propriile conturi de utilizator, undeva sunt statistici, bloguri...

„Și acum imaginați-vă, spune el, tabelul meu în Excel, unde sunt stocate toate parolele mele de acces la această rezervă! Ei bine, am fost capabili să ne forțăm angajații să-și amintească parolele și să lucreze cu ele, dar nu pot face clienții să funcționeze așa?! Noi, de fapt, am pierdut deja controlul asupra procesului de dezvoltare, actualizând proiecte, nu putem deschide noi proiecte...
Am nevoie de un sistem care nu numai că va combina funcționalitățile de care am nevoie pentru un singur site, dar va permite și combinarea tuturor site-urilor într-un singur sistem de management, cu un singur sistem de autorizare și securitate, atunci când un client trebuie doar să se înregistreze pe oricare dintre site-urile și va putea lucra cu toate celelalte site-uri. Îl vom recunoaște și îi vom oferi servicii suplimentare.”

Înțelegând această problemă, am implementat MULTI-SITE în toate edițiile produsului software „1C-Bitrix: Site Management”, începând cu versiunea 4.0. Mai mult, fiecare ediție a produsului nostru (cu excepția „Primului Site” și „Start” include o licență pentru un număr nelimitat de site-uri. Adică bazată pe ediția „Business” poti crea mai multe proiecte unite prin sistemul de managementși un proiect poate fi portal mareși al doilea - un magazin online de amploare etc..

În mod curios, pe măsură ce prezența companiei dumneavoastră pe Internet crește, numărul de proiecte pe care le aveți va crește constant. Și dacă pe unul sau două proiecte încă nu simțiți cu adevărat problemele de inconsecvență, fiecare nou proiect va dubla complexitatea și costurile și vă va încetini progresul dacă inițial proiectele dvs. nu sunt. combinate într-un sistem multi-site.

Artem Ryabinkov, analist principal, coordonator de proiect la 1C-Bitrix


Tehnologie

Site-uri și instanțe

Sub o copie a produsuluiînseamnă o copie a „1C-Bitrix: Site Management” achiziționată de client, folosind o bază de date din lista de SGBD acceptate.

Sub site-ul web se înțelege ansamblul următoarelor concepte:

  • Un cont într-o bază de date partajată;
  • Partea publică a site-ului (fișiere și foldere);
  • Setările site-ului.
Cu alte cuvinte, site-ul Este o entitate creată în sistem care are un anumit set de date (conținut) și parametri (limbă, șablon de design, formate de dată și oră). Datele pot fi unice în cadrul acestui site (partea publică, infoblocuri individuale, formulare web, sondaje, forumuri etc.) sau partajate între mai multe site-uri.

Tehnologia multisite

Fiecare dintre site-uri trebuie să indice un anumit nume de domeniu sau un set de nume de domenii. Astfel de potriviri sunt indicate în setările fiecărui site. Nu există restricții privind numele de domenii și opțiunile de adresare. Fiecare site nou creat poate fi un domeniu de nivel al doilea sau al treilea.

Astfel, toate site-urile sunt implementate pe baza o copie a produsului si foloseste o singură bază de date comună... Aceasta are următoarele avantaje incontestabile:

  1. O singură interfață pentru gestionarea produsului vă permite să gestionați toate proiectele web dintr-un punct într-o manieră unificată: schimbați structura, adăugați conținut, gestionați drepturile de acces etc.
  2. Un sistem de autorizare unificat și o bază de date unificată a utilizatorilor permit utilizatorului să se înregistreze pe un proiect web, iar în viitor să utilizeze servicii web și informații despre toate celelalte resurse, în conformitate cu drepturile sale.
  3. Un sistem unificat de colectare a statisticilor atât pentru fiecare proiect separat, cât și cu obținerea de date analitice sumare pentru toate proiectele. În plus, datorită tehnologiei UserMultiSiteTransfer, efectuat recunoașterea vizitatorilor care vin pe diferite site-uri într-o configurație cu mai multe site-uri.
  4. Un singur spațiu publicitar care permite companiei sau advertiserului atras să gestioneze plasarea și afișarea bannerelor dintr-un punct. Și datorită tehnologiei UserMultiSiteTransfer - pentru a recunoaște vizitatori și utilizați eficient afișările bannerului .

Dacă compania a dezvoltat și depanat procese de business pentru gestionarea site-urilor: crearea și publicarea materialelor, gestionarea reclamelor, sondajelor etc., atunci crearea unei noi resurse web nu va presupune modificări în această structură.

Site-urile au o singură bază, așa că dacă ați implementat import/export cu sistemele corporative sau de contabilitate, atunci suportul pentru mai multe site-uri va fi transparent pentru această funcționalitate.

Multi-site-ul poate fi implementat în două moduri principale.

În primul și cel mai simplu, chiar nu este necesară configurarea serverului web! Fiecare site din folderul rădăcină al serverului web va fi localizat într-un director separat, de exemplu / site1 / și / site2 /. Setările fiecărui site indică numele de domenii prin care acestea ar trebui să fie redate și directorul corespunzător cu partea publică a site-ului. Ca rezultat, Bitrix va include automat scripturile corespunzătoare în aceste directoare, care vor reda conținutul.

Kitul de distribuție al produsului software este livrat configurat să funcționeze conform primei metode.

A doua tehnică vă permite să împărțiți la maximum părțile publice ale site-urilor. Pentru a face acest lucru, trebuie să configurați mai multe gazde virtuale (servere web) pe serverul web (Apache, IIS). Fiecare site din sistem are propria sa rădăcină de document, unde se află partea sa publică. Uneori, fiecare site poate avea chiar propria sa adresă IP. În același timp, dacă în prima metodă, produsul însuși determină ce site să se conecteze folosind numele de domenii specificate, atunci aici această operațiune va fi efectuată de serverul web. Cu o astfel de implementare, nucleul de sistem este localizat fizic într-un singur loc, de exemplu, pe site-ul principal (folderele / bitrix / și / upload /), în timp ce restul site-urilor fac legături simbolice către aceste foldere.

Astfel, produsul suportă multe moduri și parametri de organizare multisite. Prima variantă este foarte convenabilă dacă proiectul este găzduit pe shared hosting, când nu există nicio modalitate de a accesa setările serverului sau configurația este extrem de limitată. A doua opțiune este de obicei folosită pe servere dedicate și oferă performanță maximă și confort în configurarea și configurarea proiectului.

Fiecare opțiune de implementare este absolut transparentă atât pentru vizitatorii site-ului, cât și pentru motoarele de căutare de pe Internet. Nu se efectuează redirecționări, ceea ce nu interferează cu indexarea corectă a fiecărei resurse de către robotul de căutare.

Licențiere

Livrarea standard a produsului include licență pentru un număr nelimitat de site-uri (cu excepția licențelor „Primul site” și „Start”)... Achiziționând o copie a 1C-Bitrix: Site Management, puteți crea, de exemplu, o resursă în limba rusă și engleză sau un site web corporativ și un magazin online gratuit.

Toate site-urile care operează sub aceeași licență trebuie să fie găzduite pe aceeași găzduire și să utilizeze o copie a produsului software 1C-Bitrix: Site Management.

Complexitatea lecției:

al 4-lea nivel- dificil, necesită concentrare, atenție la detalii și respectarea strictă a instrucțiunilor.

Pentru ca multisite să funcționeze pe diferite domenii, trebuie să configuram produsul software. Configurarea serverului web Apache, ca în cazul multisite-ului pe un domeniu, ar trebui să fie făcută de compania de găzduire.

Să folosim o configurație de la două site-uri ca exemplu:

  • www.site1.com - site-ul corporativ al companiei
  • www.site2.com - magazinul online al companiei

Configurare multisite pe diferite domenii

Fiecare site trebuie plasat în directorul corespunzător, de exemplu:

  • / home / www / site1 /
  • / home / www / site2 /

Instalarea produsului și configurarea legăturilor simbolice

Produsul este instalat pe unul dintre site-uri. Pentru ca nucleul să funcționeze pentru ambele site-uri, trebuie să creați legături simbolice pentru site-ul care nu are nucleul instalat. Link-urile sunt necesare pentru folderele / bitrix, / local și / de încărcare. Aceste foldere sunt comune ambelor site-uri, aceasta este o caracteristică arhitecturală.

Notă: Este posibil să copiați pur și simplu folderele specificate de pe primul site pe al doilea. Cu o astfel de copie, obțineți două copii ale nucleului, care funcționează cu aceeași bază de date. Această opțiune va funcționa, dar există două puncte negative: tehnic și juridic. Problema tehnică este că după actualizarea unuia dintre nuclee, baza de date va fi actualizată, iar al doilea site nu va mai funcționa. Problema legală este că copierea nucleului este împotriva licenței produsului.

Notă: Este posibil (dar nu recomandat) din punct de vedere tehnic să copiați folderele specificate într-un folder extern către care sunt configurate legături simbolice pentru toate site-urile.

Legătură simbolică:(tot un link simbolic din engleză. Link simbolic, link simbolic) - un fișier special pentru care nu sunt stocate informații în sistemul de fișiere, cu excepția unei linii de text. Această linie este interpretată ca calea către fișierul care ar trebui deschis atunci când încercați să accesați acest link.

În practică, legăturile simbolice sunt folosite pentru a organiza mai convenabil structura fișierelor de pe un computer, deoarece permit ca un fișier sau director să aibă mai multe nume și sunt libere de unele dintre restricțiile inerente legăturilor hard (cele din urmă funcționează doar într-o singură secțiune și nu se poate conecta la directoare).

Legăturile pot fi create în două moduri. Prima este cea clasică, care a fost recomandată de companie încă de la început. Al doilea - mai târziu, este considerat mai „frumos și grațios”. Îi lipsește pasul de a crea un folder separat și de a transfera nucleul de sistem la acesta.

Prima varianta(exemplele de instalare pe sisteme UNIX sunt afișate cu verde):

  1. instalați produsul software
  2. creați un director / home / www / shared /, care va conține fișierele comune tuturor site-urilor:
    mkdir / home / www / partajat
  3. transferați întregul director / home / www / site1 / bitrix / la / home / www / shared / bitrix /:
    mv / home / www / site1 / bitrix / home / www / shared / bitrix
  4. mutați întregul / home / www / site1 / upload / director la / home / www / shared / upload /:
    mv / home / www / site1 / upload / home / www / shared / upload
  5. mutați întregul director / home / www / site1 / local / în / home / www / shared / local /:
    mv / home / www / site1 / local / home / www / shared / local
  6. creați un link simbolic pentru / bitrix / catalog în fiecare dintre site-uri:
    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. asigurați-vă că serverul web ( Apache, IIS) are dreptul de a scrie în directorul / home / www / shared / (acest lucru va fi necesar pentru ca sistemul de actualizare să funcționeze și să descarce fișiere grafice)
  8. plasați partea publică a celui de-al doilea site în directorul / home / www / site2 /

Notă: Pentru a crea și elimina legături simbolice în Windows (începând de la Vista) există comanda mklink sau utilizați programe suplimentare, de exemplu, Manager departe sau Joncţiune de la Sysinternals.

Important! Sistemul de fișiere FAT32 nu acceptă crearea de legături simbolice.

Când configurați o configurație multisite pe UNIX, puteți utiliza metoda programatică pentru a crea legături simbolice:

Notă:

În unele cazuri, de exemplu, dacă serverul web rulează în chroot, este necesar să se facă legături relative.

Exemplu:
/ var / www / s1 - primul site
/ var / www / s2 - al doilea site
/ var / www / shared - folder cu nucleul de sistem

Ln -s ../shared/bitrix bitrix ln -s ../shared/upload upload ln -s ../shared/local local Accesați / var / www / s2 și executați aceleași comenzi.

A doua varianta... În acesta, legăturile simbolice sunt create direct în folderul celui de-al doilea site.

  1. Instalați produsul software mai întâi în directorul primului site / home / www / site1 /
  2. Creați un script în folderul rădăcină al celui de-al doilea site (/ home / www / site2 /), de exemplu, sub numele symlink.php:
  3. Crearea de link-uri către folderele bitrix, locale și de încărcare Legăturile simbolice sunt bine create"; else $ strError =" Nu s-a putut crea un link către folderul de încărcare, contactați administratorul serverului ";) else $ strError =" Nu s-a putut crea un link către folderul bitrix, contactați administratorul serverului ";) else $ strError = " Calea specificată nu conține folderul bitrix ";) else $ strError =" Cale nevalidă sau eroare de drepturi de acces "; if ($ strError) echo" ". $ strError."
    Calea sursă: „. $ Cale_completă;)?>
    Calea către folderul care conține folderele bitrix, local și de încărcare:
  4. Rulați scriptul și specificați calea către folderul rădăcină al primului site, în cazul nostru / home / www / site1 /.
  5. După ce sunt create legăturile simbolice, tastați site1 / bitrix / admin în bara de adrese a browserului. Se va deschide panoul de autorizare.
  6. Introduceți detaliile de administrator pe care le-ați specificat la instalarea produsului pe primul site și veți fi dus la panoul administrativ „1C-Bitrix: Managementul site-ului”.

După terminarea scriptului, prezența legăturilor simbolice către folderele / bitrix, / local și / upload în folderul celui de-al doilea site poate fi verificată prin apariția folderelor cu același nume.

În stadiul de creație, pot apărea probleme:

  • lipsa drepturilor de a scrie în folderul curent;
  • limitare de securitate ( open_basedir) care împiedică utilizatorii de găzduire partajată să acceseze alte site-uri.

Dacă aveți probleme cu acest script, ar trebui să vă contactați gazda pentru ajutor.

Configurarea site-urilor

Site-urile sunt configurate în secțiunea administrativă a sistemului de pe pagină Setări> Setări produs> Site-uri> Listă site-uri.

În linia primului site (www.site1.com), în coloana de acțiuni, selectați comanda Schimbareși indicați în ele:

  • Nume: site1
  • Numele domeniului: site1.com
  • Dosarul site-ului: /
  • Numele site-ului: Site-ul corporativ al companiei " Numele companiei"
  • Adresa URL a serverului: www.site1.com
  • / home / www / site1 /

Dacă DNS este configurat în așa fel încât site-ul dvs. să răspundă la adresa http://site1.com, atunci în câmpul Numele domeniului de preferat fara www. Puteți enumera în acest câmp pe o linie nouă orice număr de nume de domenii pentru care doriți ca site-ul să răspundă (sau răspunde deja).

Este important de reținut că valorile specificate în domeniu Numele domeniului sunt utilizate de produs pentru a distribui informații despre vizitatorii din domeniile specificate folosind tehnologia transferul de vizitatori... Prin urmare, este foarte recomandabil să indicați o listă completă de domenii pentru care site-ul poate răspunde.

Este foarte important să nu indicați în lista de domenii site-uri care nu funcționează pe această instanță a produsului. Domeniul specificat incorect sau inexistent poate nu numai să încetinească munca utilizatorilor, ci și să prevină transferul de date către site-uri care nu funcționează pe un sistem comun. copie a produsului.

Să configuram parametrii celui de-al doilea site (www.site2.com/) în același mod:

  • Nume: site2
  • Numele domeniului: site2.com
  • Dosarul site-ului: /
  • Numele site-ului: Magazinul de internet al companiei " Numele companiei"
  • Adresa URL a serverului: www.site2.com
  • Calea către folderul rădăcină al serverului web pentru acest site:/ home / www / site2 /

Vă rugăm să rețineți că pentru două site-uri în parametru Dosarul site-ului este specificată aceeași valoare: " / „. Acest lucru se datorează faptului că site-urile sunt deservite de diferite „servere virtuale” (în terminologia Apache), care folosesc un director diferit pentru a găzdui fișierele.

De asemenea, trebuie să acordați atenție parametrului Calea către folderul rădăcină al serverului web pentru acest site... Pentru diferite site-uri, are propria sa valoare, luată din parametrul DocumentRoot al setărilor „serverului virtual” corespunzător (vezi mai jos un exemplu al unei părți a fișierului httpd.conf setări Apache).

Notă:

Trebuie avut în vedere faptul că atunci când organizați mai multe site-uri conform acestei metode, puteți utiliza ca servere virtuale ale unei singure instalări Apache, sau doar diferite instalări Apache. Acest lucru este valabil pentru alte servere web: IIS, EServ etc.

Important: atunci când creați un al doilea site, trebuie să copiați de pe site-ul principal sau să recreați fișierele /.htaccess și /404.php.

Când apărarea proactivă este activată, al doilea site trebuie adăugat la listă.

Fișier.access.php

Creați un fișier .access.php cu următorul conținut în rădăcina celui de-al doilea site:

Notă:

Pentru această metodă de organizare multisite, nu este necesară configurarea algoritmului de selecție a site-ului pe pagina de index, așa cum se face, deoarece site-ul va fi identificat unic de teren Numele domeniului.

Configurația este gata.

Conectați-vă la sistem

  • Introduceți în bara de adrese a browserului dvs. http: // site1 / bitrix / admin (sau http: // site2 / bitrix / admin). Se va deschide panoul de autorizare.
  • Introduceți informațiile de administrator pe care le-ați specificat la instalarea produsului pe primul site și veți fi dus la panoul administrativ „1C-Bitrix: Managementul site-ului”.

Deoarece nucleul este același și baza este aceeași, panoul administrativ pentru ambele site-uri va fi același.

Din punct de vedere tehnic, sistemul permite crearea unui număr arbitrar de site-uri care funcționează conform acestei scheme. În fiecare dintre site-urile nou create, trebuie să configurați un server web și să creați o legătură simbolică. Din punct de vedere legal, pentru a crea fiecare site nou (cu excepția primelor două) trebuie să achiziționați un cupon suplimentar.

Notă: Memorarea în cache HTML nu este acceptat pe al doilea site multiplu. În plus, această funcționalitate este considerată învechită. Se recomandă utilizarea tehnologiei.

Sortarea site-urilor în lista generală

Există o particularitate în stabilirea valorilor în domeniu Triere

Top articole similare