Wat is multisite in Bitrix. Wat als de gedeelde hoofdmap

Moeilijkheidsgraad van de les:

Niveau 4- moeilijk, vereist concentratie, aandacht voor detail en strikte naleving van instructies.

Om multisite op verschillende domeinen te laten werken, moeten we het softwareproduct configureren. De Apache-webserver moet, net als bij multi-site hosting op één domein, worden geconfigureerd door het hostingbedrijf.

We zullen als voorbeeld een configuratie van twee sites gebruiken:

  • www.site1.com - bedrijfswebsite van het bedrijf
  • www.site2.com - de online winkel van het bedrijf

Multisite opzetten op verschillende domeinen

Elke site moet in de juiste map worden geplaatst, bijvoorbeeld:

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

Het product installeren en symbolische links instellen

Het product wordt op een van de sites geïnstalleerd. Om de engine voor beide sites te laten werken, moet u symbolische links maken voor de site waarop de engine niet is geïnstalleerd. Er zijn koppelingen vereist voor de mappen /bitrix, /local en /upload. Deze mappen zijn gemeenschappelijk voor beide sites, dit is een kenmerk van de architectuur.

Opmerking: Het is mogelijk om eenvoudig gespecificeerde mappen van de eerste site naar de tweede te kopiëren. Door dit kopiëren krijgt u twee exemplaren van de kernel die met dezelfde database werken. Deze optie zal werken, maar er zijn twee negatieve aspecten: technisch en juridisch. Het technische probleem is dat na het updaten van een van de cores de database wordt bijgewerkt en de tweede site niet meer werkt. Het juridische probleem is dat het kopiëren van de kernel in strijd is met de productlicentie.

Opmerking: Het is technisch mogelijk (maar niet aanbevolen) om de opgegeven mappen naar een externe map te kopiëren waarnaar voor alle sites symbolische links zijn geconfigureerd.

Symbolische link:(ook symlink uit het Engels Symbolic link, symbolic link) is een speciaal bestand waarvoor geen informatie in het bestandssysteem wordt opgeslagen, behalve één tekstregel. Deze regel wordt geïnterpreteerd als het pad naar het bestand dat moet worden geopend wanneer u probeert toegang te krijgen tot deze link.

In de praktijk worden symbolische koppelingen gebruikt om de structuur van bestanden op een computer handiger te ordenen, omdat ze het mogelijk maken dat één bestand of map meerdere namen heeft en vrij zijn van enkele van de beperkingen die inherent zijn aan harde koppelingen (deze laatste zijn alleen geldig binnen één sectie en kan niet naar mappen verwijzen).

Er kunnen op twee manieren koppelingen worden gemaakt. De eerste is de klassieke, die vanaf het begin door het bedrijf werd aanbevolen. De tweede - later, wordt als "mooier en sierlijker" beschouwd. Het omvat niet de stap van het maken van een aparte map en het overbrengen van de systeemkern daarnaartoe.

Eerste optie(voorbeelden voor installatie op UNIX-systemen worden in het groen weergegeven):

  1. installeer het softwareproduct
  2. maak een map /home/www/shared/ waarin bestanden die gemeenschappelijk zijn voor alle sites worden geplaatst:
    mkdir /home/www/shared
  3. verplaats de volledige map /home/www/site1/bitrix/ naar /home/www/shared/bitrix/:
    mv /home/www/site1/bitrix /home/www/shared/bitrix
  4. verplaats de volledige map /home/www/site1/upload/ naar /home/www/shared/upload/ :
    mv /home/www/site1/upload /home/www/shared/upload
  5. verplaats de volledige map /home/www/site1/local/ naar /home/www/shared/local/ :
    mv /home/www/site1/local /home/www/shared/local
  6. maak een symbolische link voor de map /bitrix/ op elk van de sites:
    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. zorg ervoor dat de webserver ( Apache, IIS) heeft het recht om naar de map /home/www/shared/ te schrijven (dit is nodig om het updatesysteem te laten werken en grafische bestanden te downloaden)
  8. plaats het openbare deel van de tweede site in de map /home/www/site2/

Opmerking: Om symbolische koppelingen in Windows (sinds Vista) te maken en te verwijderen, is er de opdracht mklink, of gebruik extra programma's, bijvoorbeeld Verre manager of Knooppunt van Sysinternals.

Belangrijk! Het FAT32-bestandssysteem ondersteunt het maken van symbolische koppelingen niet.

Bij het opzetten van een multisite-configuratie op UNIX kunt u de programmatische methode gebruiken om symbolische koppelingen te maken:

Opmerking:

In sommige gevallen, bijvoorbeeld als de webserver in een chroot draait, is het nodig om relatieve links te maken.

Voorbeeld:
/var/www/s1 - eerste site
/var/www/s2 - tweede site
/var/www/shared - map met de systeemkern

Ln -s ../shared/bitrix bitrix ln -s ../shared/upload upload ln -s ../shared/local local Ga naar /var/www/s2 en voer dezelfde opdrachten uit.

Tweede optie. Daarin worden symbolische links rechtstreeks in de map van de tweede site gemaakt.

  1. Installeer het softwareproduct eerst naar de directory van de eerste site /home/www/site1/
  2. Maak een script in de hoofdmap van de tweede site (/home/www/site2/), bijvoorbeeld onder de naam symbolische link.php:
  3. Koppelingen maken naar de bitrix-, lokale en uploadmappen Symbolische links zijn succesvol aangemaakt"; else $strError = "Kon geen link naar de uploadmap maken, neem contact op met de serverbeheerder"; ) else $strError = "Kon geen link naar de bitrix-map maken, neem contact op met de serverbeheerder"; ) else $strError = "Het opgegeven pad bevat niet de bitrix-map"; else $strError = "Onjuist pad of toegangsrechtenfout"; if ($strError) echo "".$strError."
    Bronpad: ".$full_path; ) ?>
    Pad naar de map met de bitrix-, lokale en upload-mappen:


  4. Voer het script uit en specificeer het pad naar de hoofdmap van de eerste site, in ons geval /home/www/site1/ .
  5. Nadat de symbolische links zijn gemaakt, typt u site1/bitrix/admin in de adresbalk van de browser. Het autorisatiepaneel wordt geopend.
  6. Voer de beheerdersgegevens in die u hebt opgegeven bij de installatie van het product op de eerste site. U wordt dan naar het beheerdersdashboard geleid "1C-Bitrix: Sitebeheer".

Nadat het script is voltooid, kan de aanwezigheid van symbolische links naar de mappen /bitrix, /local en /upload in de map van de tweede site worden gecontroleerd door het verschijnen van mappen met dezelfde naam.

Tijdens de creatiefase kunnen zich problemen voordoen:

  • gebrek aan rechten om naar de huidige map te schrijven;
  • beveiligingsbeperking ( open_basedir), waardoor gedeelde hostinggebruikers geen toegang krijgen tot andere sites.

Als u problemen heeft met dit script, dient u voor hulp contact op te nemen met uw host.

Siteconfiguratie

Sites worden geconfigureerd in het administratieve gedeelte van het systeem op de pagina Instellingen > Productinstellingen > Sites > Sitelijst.

Selecteer in de regel van de eerste site (www.site1.com), in de actiekolom, de opdracht Wijziging en geef daarin aan:

  • Naam: website1
  • Domeinnaam: site1.com
  • Sitemap: /
  • Naam van de site: Bedrijfswebsite van het bedrijf " Bedrijfsnaam"
  • Server-URL: www.site1.com
  • /home/www/site1/

Als DNS zo is geconfigureerd dat uw site reageert op het adres http://site1.com, dan in het veld Domeinnaam Het is raadzaam om aan te geven zonder www. U kunt in dit veld, beginnend op een nieuwe regel, een willekeurig aantal domeinnamen opgeven waarop u wilt dat de site reageert (of al reageert).

Het is belangrijk om er rekening mee te houden dat de waarden in het veld worden ingevoerd Domeinnaam, worden door het product gebruikt om met behulp van technologie informatie over bezoekers van specifieke domeinen te verspreiden overdracht van bezoekers. Het is daarom zeer raadzaam om een ​​volledige lijst met domeinen aan te geven waarop de site kan reageren.

Het is erg belangrijk om geen sites op te nemen in de lijst met domeinen die niet werken op dit exemplaar van het product. Een verkeerd opgegeven of niet-bestaand domein kan niet alleen het werk van gebruikers vertragen, maar ook daadwerkelijk voorkomen dat gegevens worden overgedragen naar sites die niet op hetzelfde domein opereren. productinstantie.

Laten we op dezelfde manier de parameters van de tweede site (www.site2.com/) configureren:

  • Naam: website2
  • Domeinnaam: site2.com
  • Sitemap: /
  • Naam van de site: Online winkel van het bedrijf " Bedrijfsnaam"
  • Server-URL: www.site2.com
  • Pad naar de hoofdmap van de webserver voor deze site:/home/www/site2/

Houd er rekening mee dat voor twee locaties in de parameter Sitemap dezelfde waarde is gespecificeerd: " / ". Dit komt door het feit dat de sites worden bediend door verschillende “virtuele servers” (in Apache-terminologie) die een andere map gebruiken om bestanden te hosten.

Je moet ook op de parameter letten Pad naar de hoofdmap van de webserver voor deze site. Voor verschillende sites heeft het zijn eigen waarde, ontleend aan de DocumentRoot-parameter van de instellingen van de overeenkomstige “virtuele server” (zie hieronder voor een voorbeeld van een deel van het bestand httpd.conf Apache-instellingen).

Opmerking:

Houd er rekening mee dat u bij het organiseren van meerdere locaties met deze methode beide virtuele servers in één installatie kunt gebruiken Apache, en gewoon verschillende Apache-installaties. Dit geldt voor andere webservers: IIS, EServ enz.

Belangrijk: Wanneer u een tweede site maakt, moet u de bestanden /.htaccess en /404.php van de hoofdsite kopiëren of opnieuw maken.

Wanneer Proactieve Bescherming is ingeschakeld, moet de tweede site aan de lijst worden toegevoegd.

Bestand.toegang.php

Maak een bestand .toegang.php met deze inhoud in de root van de tweede site:

Opmerking:

Voor deze methode voor het organiseren van meerdere sites is het niet nodig om het siteselectie-algoritme op de indexpagina te configureren, zoals wel het geval is, omdat de site wordt uniek geïdentificeerd door het veld Domeinnaam.

De configuratie is klaar voor gebruik.

Log in

  • Typ http://site1/bitrix/admin (of http://site2/bitrix/admin) in de adresbalk van uw browser. Het autorisatiepaneel wordt geopend.
  • Voer de beheerdersgegevens in die u hebt opgegeven bij het installeren van het product op de eerste site en u wordt naar het beheerdersdashboard geleid "1C-Bitrix: Sitebeheer".

Omdat er één kern en één database is, zal het administratieve paneel voor beide sites hetzelfde zijn.

Technisch gezien maakt het systeem het mogelijk een willekeurig aantal sites te creëren die volgens dit schema werken. In elk van de nieuw gemaakte sites moet u een webserver configureren en een symbolische link maken. Om elke nieuwe site (behalve de eerste twee) te maken, moet u juridisch gezien een extra kortingsbon kopen.

Opmerking: HTML-caching wordt niet ondersteund op de tweede multisite. Bovendien wordt deze functionaliteit als verouderd beschouwd. Het wordt aanbevolen om technologie te gebruiken.

Sorteren van sites in de algemene lijst

Er is een functie bij het instellen van waarden in het veld Sorteren

Ik kwam een ​​artikel tegen over een aambei-vrije manier om multi-site functionaliteit voor Bitrix te bieden. De standaard Bitrix-licentie impliceert de creatie van twee afzonderlijke sites op één engine. Maar de Bitrix-documentatie is verwarrend. Onhandig, aambeien, lang en onredelijk. Een zekere Sharomov Denis bedacht een zeer handige manier om multi-site op Bitrix te organiseren. Ik kan niet garanderen wat hij precies heeft bedacht, maar hier is zijn artikel, waaruit ik alleen het meest basale deel heb genomen, om alles uitsluitend to the point te kauwen, zonder water en alternatieve methoden, en voor het geval dat het origineel wordt uitgesneden.

Dit impliceert multi-site, rekening houdend met het feit dat de sites zich op verschillende domeinen zullen bevinden. Dat wil zeggen, niet zo: www.first_site.ru En www.first_site.ru/second_site, in deze situatie hoeft u niets te configureren. Ik bedoel deze link: www.first_site.ru En www.tweede_site.ru(of tweede_site.eerste_site.ru).

De essentie van Denis Sharomovs methode is creëren symbolische verbanden naar Bitrix-systeemmappen. In feite zijn deze symbolische links niets meer dan banale snelkoppelingen (nou ja, in Russischtalige Windows noemen ze dit zo, in Macos zijn het aliassen). Nu aandacht : Deze methode is alleen geschikt voor UNIX-hosting, en de fysieke mappen van beide sites moeten zich op dezelfde server bevinden en de toegang mag niet beperkt zijn. Dat wil zeggen, als u ftp als voorbeeld gebruikt, zou u één keer moeten kunnen inloggen op de ftp-client en zowel naar de eerste als de tweede site kunnen gaan. Hier is een voorbeeld:

Deze structuur is afkomstig van NIC-hosting. Twee locaties tegen één tarief. Alles werkt prima. Nu u alle nuances begrijpt, gaan we verder met de stapsgewijze installatie van multisite.

1. Bitrix installeren. U moet Bitrix op uw hoofddomein installeren. In ons geval zal dat zo zijn www.first_site.ru.

2. Symbolische links creëren. Dit is de essentie van de methode. Er is een PHP-script dat, afgaande op het artikel, is geschreven door Denis Sharomov. Hier is zijn code:

  1. Koppelingen naar de bitrix maken en mappen uploaden

  2. error_reporting (E_ALL & ~E_NOTICE);

    @ini_set ("display_errors" , 1);

  3. if ($_POST ["pad" ] )

    $pad = rtrim($_POST [ "pad" ] , "/ \\ " ) ;

    anders

    $pad = "../../eerste_site.ru/docs" ;

  4. if ($_POST ["maken"] )

    if (preg_match("#^/#" , $path ) )

    $volledig_pad = $pad;

    anders

    $full_path = echt pad ($_SERVER [ "DOCUMENT_ROOT" ] . "/" . $pad );

  5. if (file_exists ($_SERVER ["DOCUMENT_ROOT"] . "/bitrix" ) )

    $strFout = "Er is al een bitrix-map in de huidige map";

    elseif (is_dir ($volledig_pad) )

    if (is_dir ($full_path . "/bitrix") )

    if (symlink ($path . "/bitrix" , $_SERVER [ "DOCUMENT_ROOT" ] . "/bitrix" ) )

    if (symlink ($path . "/upload" , $_SERVER [ "DOCUMENT_ROOT" ] . "/upload" ) )

    echo "Symbolische links zijn succesvol aangemaakt" ;

    anders

    $strFout = "Kon geen link naar de uploadmap maken, neem contact op met uw serverbeheerder";

    anders

    $strFout = "Kon geen link naar de bitrix-map maken, neem contact op met uw serverbeheerder";

  6. anders

    $strFout = "Het opgegeven pad bevat niet de bitrix-map";

    anders

    $strFout = "Ongeldig pad of toegangsrechtenfout";

  7. als ($strError)

    echo " " . $strError . "
    Bronpad: ". $volledig_pad;

Maak een bestand van deze code, noem het een andere naam. Bijvoorbeeld, siteconfig.php, en vergeet ook niet het pad in regel nr. 13 te wijzigen - ../../eerste_site.ru/docs in je eentje.

De logica hier is heel eenvoudig: u moet de server de opdracht geven om van de map docs van de tweede site naar de map docs van de eerste site te gaan, de bitrix te vinden en daar mappen te uploaden en snelkoppelingen erop te plaatsen. Laat ik dit grafisch illustreren:

Hiervoor schrijven we ../ om van te verhuizen documenten V tweede_site.ru, waarna we opnieuw schrijven ../ om naar de hoofdmap van het account (of de thuismap van de server) te gaan, die de mappen van de eerste en tweede site bevat, en schrijf vervolgens het pad naar de hoofdmap van de eerste site, dat wil zeggen eerste_site.ru/docs

Wanneer u, naar analogie met het voorbeeld, dit pad invoert, slaat u het bestand op, uploadt u het naar de server en opent u het http://tweede_site.ru/siteconfig.php waar zie je dit:

Klik gewoon op de knop "Maken". U zou een bericht moeten zien dat de symbolische links met succes zijn gemaakt. Als dit niet verschijnt, verschijnt er een foutmelding met een hint waar u moet zoeken. Als uw pad onjuist is, kunt u dit rechtstreeks op de pagina in het formulier bewerken en nogmaals op de knop ‘Aanmaken’ klikken.

Zo ja, gefeliciteerd! Deze stap is voltooid.

3. Maak en configureer een tweede site. Laten we gaan naar http://tweede_site.ru/bitrix/admin/, log in met het admin-wachtwoord van de eerste site, ga naar Instellingen -> Productinstellingen -> Sites -> Lijst met sites en klik op de knop “Site toevoegen” en vul het formulier in dat verschijnt:

Ik heb in het grijs aangegeven wat er veranderd moet worden. Focus op dit scherm - alles zou daar duidelijk moeten zijn. Het enige punt is dat als u het absolute pad naar de hoofdmap van de tweede site niet kent, u op [ klikt stroom invoegen], je zult een pad hebben zoals /home/account/ eerste_site.ru/docs. Vervang gewoon de naam van de map van de eerste site door de map van de tweede en sla deze op.

Wat de sjabloon betreft, installeert u een kant-en-klare oplossing op deze site, of kiest u een voorbereide en geïnstalleerde sjabloon. Ik zal geen inbreuk maken op uw keuzerecht;

Eigenlijk is dat alles. Slechts één ding: vergeet bij het maken van informatieblokken niet dat deze aan een specifieke site moeten worden gekoppeld. En geef de informatieblokken een naam, zodat je eenvoudig kunt bepalen waar deze getoond worden. Bijvoorbeeld, Nieuws (eerste site) En Nieuws (tweede site).

Lezen 20411 eenmaal

Veel sites

Het oplossen van een zakelijk probleem volgens het algemene principe ‘elke webbron heeft zijn eigen managementsysteem’ is niet effectief; en vooral ineffectief als het besturingssysteem elke keer anders is. De problemen die zich voordoen bij deze aanpak zijn:

  1. Buitensporige financiële kosten die nodig zijn voor de aanschaf of ontwikkeling van websitebeheersystemen.
  2. Verschillende toegangspunten tot sitebeheer, verschillende beheerinterfaces.
  3. Diverse autorisatiesystemen en databases van websitegebruikers.
  4. Diverse advertentieruimte.
Als gevolg hiervan heeft het bedrijf decentralisatie in het beheer van zijn webprojecten. Er worden buitensporige middelen besteed aan het creëren van weboplossingen en het oplossen van zakelijke problemen op internet wordt uitgesteld. Bezoekers van de webprojecten van het bedrijf kunnen ook ongemak ondervinden bij het werken ermee.

1C-Bitrix stelt voor om deze situatie te veranderen. Op elk product kunt u een kopie maken veel websites maken in overeenstemming met het toepasselijke vergunningenstelsel.

Waarom is het ontstaan de noodzaak om systemen met meerdere locaties te creëren en wat betekent dat eigenlijk? Om deze vraag te beantwoorden, geef ik u een sprekend voorbeeld van ons gesprek met een klant.

Een uitgeverij nam contact met ons op voor advies bij het kiezen van de optimale oplossing. Het hoofd van de internetafdeling zei dat er 18 verschillende websites tegelijkertijd actief zijn. En elke site heeft een soort contentmanagementsysteem, een soort advertentiebeheermechanisme, ergens is er een online winkel met zijn gebruikers. De meeste projecten hebben aparte forums met hun eigen gebruikersaccounts, ergens zijn er statistieken, blogs...

“En stel je nu eens voor”, zegt hij, mijn spreadsheet in Excel, waar ik al mijn wachtwoorden opsla om toegang te krijgen tot deze reserve! Nou, oké, we hebben onze medewerkers kunnen dwingen wachtwoorden te onthouden en ermee te werken, maar ik kan mijn klanten niet dwingen om zo te werken?! We zijn in feite al de controle kwijt over het ontwikkelingsproces, het bijwerken van projecten, we kunnen geen nieuwe projecten openen...
Ik heb een systeem nodig dat niet alleen de functionaliteit combineert die ik nodig heb voor één site, maar het ook mogelijk maakt om alle sites te combineren in één enkel beheersysteem, met één enkel autorisatie- en beveiligingssysteem, terwijl de klant zich alleen maar hoeft te registreren op een willekeurige site. van de sites en hij kan met alle andere sites werken. We zullen hem herkennen en hem aanvullende diensten aanbieden.”

Omdat we dit probleem begrepen, hebben we MULTI-SITE geïmplementeerd in alle edities van het softwareproduct 1C-Bitrix: Site Management, te beginnen met versie 4.0. Bovendien omvat elke editie van ons product (behalve “First Site” en “Start” een licentie voor een onbeperkt aantal sites. Dat wil zeggen, gebaseerd op de “Business”-editie u kunt meerdere projecten creëren, verenigd door een managementsysteem, en één project kan dat zijn groot portaal, en ten tweede - grootschalige online winkel, enz..

Interessant is dat naarmate de online aanwezigheid van uw bedrijf groeit, het aantal projecten dat u heeft gestaag zal toenemen. En als u bij een of twee projecten de problemen van inconsistentie nog niet zo acuut voelt, zal elk nieuw project de complexiteit en kosten verdubbelen en uw voortgang vertragen als uw projecten in eerste instantie niet goed zijn uitgevoerd. gecombineerd tot een systeem met meerdere locaties.

Artem Ryabinkov, leidend analist, projectcoördinator bij 1C-Bitrix


Technologie

Sites en instanties

Onder een exemplaar van het product betekent een kopie van “1C-Bitrix: Site Management” gekocht door de klant, waarbij gebruik wordt gemaakt van één database uit de lijst met DBMS'en die door het product worden ondersteund.

Onder website wordt opgevat als een combinatie van de volgende concepten:

  • Account in een gemeenschappelijke database;
  • Openbaar gedeelte van de site (bestanden en mappen);
  • Site-instellingen.
Met andere woorden, website is een entiteit die in het systeem is gemaakt en die een bepaalde set gegevens (inhoud) en parameters (taal, ontwerpsjabloon, datum- en tijdformaten) heeft. De gegevens kunnen uniek zijn binnen deze site (openbaar gedeelte, individuele informatieblokken, webformulieren, enquêtes, forums, enz.) of gedeeld tussen verschillende sites.

Multisite-technologie

Naar elke site moet worden verwezen via een specifieke domeinnaam of een reeks domeinnamen. Dergelijke overeenkomsten worden aangegeven in de instellingen van elke site. Er zijn geen beperkingen op domeinnamen en adresseringsmogelijkheden. Elke nieuwe website die wordt gemaakt, kan een domein op het tweede of derde niveau zijn.

Zo worden alle sites geïmplementeerd op basis van één exemplaar van het product en gebruiken één gemeenschappelijke databank. Dit heeft de volgende onmiskenbare voordelen:

  1. Dankzij een uniforme productbeheerinterface kunt u alle webprojecten op een uniforme manier vanaf één punt beheren: de structuur wijzigen, inhoud toevoegen, toegangsrechten beheren, enz.
  2. Dankzij een uniform autorisatiesysteem en een uniforme gebruikersdatabase kan de gebruiker zich registreren voor één webproject en vervolgens webservices en informatie over alle andere bronnen gebruiken, in overeenstemming met zijn rechten.
  3. Een uniform systeem voor het verzamelen van statistieken voor elk project afzonderlijk en voor het verkrijgen van samenvattende analytische gegevens voor alle projecten. Bovendien dankzij de technologie GebruikerMultiSiteTransfer, uitgevoerd herkenning van bezoekers die naar verschillende sites komen binnen een configuratie met meerdere sites.
  4. Eén enkele advertentieruimte waarmee een bedrijf of een aangetrokken adverteerder de plaatsing en weergave van banners vanaf één punt kan beheren. En dankzij de UserMultiSiteTransfer-technologie - herkennen bezoekers en maak effectief gebruik van bannerdisplays .

Als het bedrijf bedrijfsprocessen voor het beheer van websites heeft ontwikkeld en gestroomlijnd: materiaal maken en publiceren, advertenties beheren, enquêtes, enz., Dan zal het creëren van een nieuwe webbron geen veranderingen in deze structuur met zich meebrengen.

Sites hebben één database, dus als u import/export heeft geïmplementeerd met uw bedrijfs- of boekhoudsystemen, is de ondersteuning voor meerdere sites transparant voor deze functionaliteit.

Multisite kan op twee manieren worden geïmplementeerd.

In de eerste en eenvoudigste zelfs geen webserverconfiguratie vereist! Elke site in de hoofdmap van de webserver wordt in een aparte map geplaatst, bijvoorbeeld /site1/ en /site2/. De instellingen van elke site geven de domeinnamen aan waarmee ze moeten worden gevisualiseerd, en de bijbehorende directory met het openbare deel van de site. Als gevolg hiervan zal Bitrix automatisch de juiste scripts in deze mappen verbinden, waardoor de inhoud wordt gevisualiseerd.

De softwareproductdistributiekit wordt geconfigureerd geleverd om te werken volgens de eerste methode.

Met de tweede techniek kunt u de openbare delen van sites zoveel mogelijk scheiden. Om dit te doen, moet u meerdere virtuele hosts (webservers) op de webserver (Apache, IIS) configureren. Elke site in het systeem krijgt zijn eigen hoofdmap (Document Root), waarin het openbare deel zich bevindt. Soms heeft elke site zelfs een eigen IP-adres. Bovendien, als bij de eerste methode het product zelf bepaalt welke site verbinding moet maken met bepaalde domeinnamen, dan wordt deze bewerking hier uitgevoerd door de webserver. Met deze implementatie bevindt de kern van het systeem zich fysiek op één plek, bijvoorbeeld op de hoofdsite (mappen /bitrix/ en /upload/), en op andere sites worden symbolische links naar deze mappen gemaakt.

Het product ondersteunt dus vele methoden en parameters voor het organiseren van multisite. De eerste optie is erg handig als het project wordt gehost op gedeelde hosting, als er geen toegang is tot de serverinstellingen of als de configuratie uiterst beperkt is. De tweede optie wordt meestal gebruikt op dedicated servers en biedt maximale prestaties en gemak bij het opzetten en configureren van het project.

Elke implementatieoptie is absoluut transparant, zowel voor websitebezoekers als voor internetzoekmachines. Er worden geen omleidingen uitgevoerd, wat de correcte indexering van elke bron door de zoekrobot niet verstoort.

Licentie

Het standaard productpakket omvat licentie voor een onbeperkt aantal sites (behalve de licenties “First Site” en “Start”). Door een exemplaar van 1C-Bitrix: Site Management aan te schaffen, kunt u bijvoorbeeld gratis een Russisch- en Engelstalige bron of een bedrijfswebsite en online winkel maken.

Alle sites die onder dezelfde licentie opereren, moeten op dezelfde hosting worden gehost en één exemplaar van het 1C-Bitrix: Site Management-softwareproduct gebruiken.

1. U heeft multisite geconfigureerd op verschillende domeinen voor de sites: example.com en shop.example.com. Op shop.example.com zie je de juiste gegevens, maar de sitesjabloon wordt weergegeven van example.com. Welke acties leiden tot optimaal resultaat?



+ Wijzig de sorteerindex voor sites zodat example.com lager in de lijst staat dan shop.example.com
- Ga naar meerdere sites op één domein en maak een winkel op example.com/shop
- Schakel autocaching uit

2. Wanneer multisite op verschillende domeinen draait, de DocumentRoot-parameter voor elke site

Parameterwaarde is niet gedefinieerd
+ verwijst naar verschillende mappen op schijf waar de overeenkomstige sites zich bevinden
- verwijst naar de gedeelde map waarin de systeemkernel zich bevindt

3. Om symbolische koppelingen te maken op een UNIX-server

Er wordt gebruik gemaakt van het Junction-hulpprogramma van Sysinternals
+ gebruik het ln -s commando
+ kan worden gebruikt om programmatisch een symbolische link te maken met behulp van de PHP-symlink-functie

4. U merkt dat nadat u een tweede site heeft toegevoegd, het voor de eerste keer openen van de site in een browser resulteert in een onjuiste weergave - kapotte codering. De sitesjablonen en codering zijn correct geconfigureerd. Welke acties leiden tot optimaal resultaat?

Koop nog een exemplaar van "1C-Bitrix: Site Management" en distribueer sites naar verschillende systeeminstallaties
- Stel voor elke site de servervariabele BX_PERSONAL_ROOT in de apache-configuratie in
+ Schakel HTML-caching uit
- Weiger multisite en bouw alles op één site
- Schakel "Cookies naar alle domeinen distribueren" uit in de hoofdmodule-instellingen

5. In de productdistributie is de demosite geconfigureerd om te werken

Voor multisite op verschillende domeinen
- er wordt gebruik gemaakt van een gecombineerde instelmogelijkheid
+ voor meerdere sites op één domein

6. Wanneer u multisite op verschillende domeinen gebruikt, kunt u gebruik maken van

+ virtuele servers van één Apache-installatie
+ verschillende virtuele servers voor verschillende Apache-installaties

- slechts één virtuele server per Apache-installatie
+ verschillende Apache-installaties

7. De functie CMainPage::GetSiteByAcceptLanguage wordt gebruikt

Bepalen van de site-ID aan de hand van de huidige domeinnaam
+ het bepalen van de site-ID met behulp van de Accept-Language-variabele in de browserinstellingen van de gebruiker
- een site verbinden die dezelfde taal gebruikt als de taal die in de systeeminstellingen is ingesteld als "Standaardbeheertaal"

8. Taalinstellingen worden gebruikt

+ om interfacetaalparameters in te stellen in het administratieve gedeelte
- om parameters in te stellen voor het weergeven van site-inhoud in een bepaalde taal in het openbare gedeelte van de site
- zowel voor het publieke als voor het administratieve gedeelte van de site

9. Voor een bestaande site

+ de mogelijkheid om sjablonen aan te maken, te koppelen of te kopiëren wordt niet aangeboden
- er wordt een optie aangeboden waarmee u nieuwe e-mailsjablonen kunt maken of bestaande kant-en-klare sjablonen van een andere site kunt kopiëren
- er wordt een optie aangeboden waarmee u alleen nieuwe mailsjablonen kunt maken

10. Locatie-ID wordt bepaald

Een combinatie van meerdere tekens met letters van het Latijnse alfabet en cijfers
+ combinatie van twee tekens met Latijnse letters en cijfers
- een combinatie van twee tekens die alleen letters van het Latijnse alfabet bevat

11. Als u in de site-instellingen tussen de domeinnamen een naam opgeeft van een site die niet werkt op dit product, dan

+ gebruikerservaring met de site kan aanzienlijk worden vertraagd
- gegevens over de opgegeven site verschijnen in de statistieken
- wanneer u andere domeinnamen uit de lijst bezoekt, wordt u doorgestuurd naar de opgegeven site

Veel 1C Bitrix-licentiehouders kennen multisite op dit platform, hoe het is gebouwd en functioneert. Misschien gebruikt iemand deze functionaliteit volledig en gaat iemand deze in zijn website implementeren. In een of ander geval zal dit formulier interessant zijn voor zowel beginnende gebruikers als voor degenen die met deze functionaliteit werken. Ik zal je niet alleen laten zien hoe je een tweede website op één licentie installeert, maar ik zal je ook de werkingsprincipes van dit mechanisme laten zien, en ik zal proberen alles in een duidelijke en toegankelijke taal uit te leggen.

Multisite-configuratie 1C Bitrix

Bij de aanschaf van een 1C Bitrix-licentie kopen we feitelijk twee websites, maar niet iedereen weet dat het standaard productpakket een licentie bevat om deze te gebruiken.

U kunt op één licentie zowel de Russische als de Engelse versie van een webbron maken, of u kunt tegenovergestelde sites installeren, de ene zal uw online winkel zijn, de andere zal een blok- of bedrijfswebsite bevatten, of u kunt twee online winkels installeren die verkopen verschillende goederen.

Als het nodig is om een ​​derde site te installeren voor meerdere sites en daaropvolgende sites, hoeven we alleen maar een extra site aan te schaffen, waarbij we niet de volledige kosten betalen, maar slechts iets minder dan de helft ervan, wat aanzienlijk bespaart op het budget bij de implementatie de tweede locatie.


Aan dit alles kun je het volgende pluspunt toevoegen: met geïnstalleerde modules van de marktplaats, of ze nu betaald of gratis zijn, ze zijn allemaal gebonden aan één licentie, dit maakt het mogelijk gebruik de aangeschafte module op alle andere locaties in een multi-site systeem.

Het trieste is dat niet iedereen dit begrijpt, dus besloot ik deze video te maken, je te laten zien hoe het allemaal werkt in Bitrix, en in de praktijk de implementatie van multisite te demonstreren.

En over het algemeen hou ik van dit besturingssysteem, de eenvoud en het gebruiksgemak ervan, alles is gedaan voor gewone gebruikers die geen programmeerkennis hebben. Het enige dat u nodig heeft, is het verlangen en een beetje tijd om trainingsvideo's te bekijken en u kunt uw project volledig beheren.

Gedetailleerde analyse van multisite op 1C Bitrix

In wezen is dit één website, één exemplaar van een product, één gemeenschappelijke database, en dit alles biedt een aantal voordelen:

  • We kunnen inhoud en gebruikerstoegangsrechten beheren, we hebben uniforme rechten om modules te beheren, we kunnen alle sites beheren en dit alles vanuit één administratief paneel;
  • Het autorisatiesysteem zelf is uniform; na registratie heeft een gebruiker op het ene project automatisch toegang tot de andere overeenkomstig zijn rechten;
  • Het verzamelen van statistieken kan zowel voor één van de projecten als voor het totaal ervan worden verzameld.



Multisite kan op twee manieren worden geïmplementeerd:

  • je kunt het op één domein doen,
  • of maak op verschillende.


Elke methode is op zijn eigen manier goed, heeft zijn voor- en nadelen, en jij kiest welke je gebruikt. In deze les zullen we de eerste optie analyseren, we zullen multi-site op één domein implementeren.

Multisite op één domein

De eerste optie is de eenvoudigste en vereist geen webserverconfiguratie; sites bevinden zich in verschillende mappen op hetzelfde domein.

Zoals we uit dit voorbeeld kunnen zien, bevindt de tweede site zich in de DWS-directory, wat vrij eenvoudig te implementeren is:


Ook kunnen wij typen voor verschillende talen combineren of voor andere doeleinden gebruiken:

Deze methode zal werken:

  • om websites in verschillende talen te maken, waarbij de hoofdtaal in de initiële categorie zal zijn, en secundaire talen in subcategorieën;
  • Dan kunnen wij regionale websites van één bedrijf implementeren;
  • als u van plan bent in de toekomst één domeinnaam te gebruiken;
  • als het niet mogelijk is om gedeelde toegang tot bestanden op virtuele hosting te creëren.


En dit is heel eenvoudig geïmplementeerd: we moeten in de site-instellingen de categorie specificeren waar ze zullen worden weergegeven, de parameters voor e-mailmeldingen instellen en dan kunnen we de installatie uitvoeren.


Laten we Yandex als voorbeeld gebruiken om te kijken hoe ze deze functionaliteit gebruiken.

Door naar hun hoofdwebsite te gaan - https://www.yandex.ru, bieden ze een aantal sites aan. We klikken op de beeldservice en de tweede site https://yandex.ru/images/ wordt geopend, genest in een andere map, we zien hetzelfde als we naar de video https://yandex.ru/video/ gaan, of gebruik aanvullende "catalogus" -diensten, de afbeeldingen ervan enzovoort.

Ik denk dat je de essentie begrijpt van hoe je dit in je bedrijf kunt gebruiken.

In Bitrix wordt deze functionaliteit standaard geleverd en kan op elke website worden gebruikt zonder dat er extra serverconfiguratie en extra investeringen nodig zijn. Hoe u dit doet, zie hieronder...

Een website maken en opzetten op één domein

Allereerst moet u een tweede site maken.

Ga naar het beheerderspaneel ( Instellingen->Productinstellingen->Sites->Lijst met sites->), klik op, site toevoegen.

We hebben een formulier dat de volgende velden accepteert:

  • ID kaart– site-ID, verplicht, bestaat uit een combinatie van twee tekens, ru, en, s1, s2, enz.
  • Activering– deze site in- of uitschakelen;
  • Naam– een vereiste parameter, in dit veld voeren we een willekeurige naam van de site in, deze wordt door het systeem gebruikt om naar een bepaalde site te linken;
  • Standaard– standaardvlucht, geactiveerd wanneer een site meerdere domeinnamen gebruikt, laten we zeggen identiek zijn, vergelijkbaar met elkaar;
  • Domeinnaam– elke ingevoerde domeinnaam zal een masker zijn. In dit veld voeren we de domeinnaam van de site in, als er meerdere zijn, dan elk op een nieuwe regel. We hebben deze functionaliteit nodig om multisite op verschillende domeinen te implementeren;
  • Sitemap– het veld is vereist, de opgegeven waarde wordt gebruikt als referentieniveau voor het bouwen van de logische en fysieke structuur in de module zelf, en hier zullen we het pad naar de tweede site invoeren (/dws/);
  • Sorteren– stel een numerieke parameter in, de prioriteit van de site in de lijst;
  • Pad naar hoofdmap webserver voor deze site - we geven het volledige pad aan naar de map waarnaar de DOCUMENT_ROT variabele is geconfigureerd voor deze site, dit wordt gebruikt wanneer we multisite op verschillende domeinen inschakelen;
  • In het parametergedeelte– parameters instellen voor e-mailsjablonen voor de site;
  • Naam van de site– we noteren de naam van de site, die kan worden gebruikt in e-mailsjablonen. Als de waarde niet is opgegeven, wordt deze overgenomen uit de instellingen van de hoofdmodule;
  • Service-URL– het huidige adres wordt gebruikt om e-mailberichten te genereren. Het adres is geschreven zonder http://. Als dit niet is ingesteld, wordt dit adres overgenomen uit de instellingen van de hoofdmodule, deze functionaliteit wordt gebruikt voor multi-site op verschillende domeinen;
  • Standaard e-mailadres– hier kunt u een e-mailadres opgeven dat wordt gebruikt als de waarde van de macro DEFAUL_EMAIL_FROM bij het genereren van e-mailsjablonen. Als dit niet is ingesteld, worden deze gegevens uit de instellingen van de hoofdmodule gehaald;
  • Regionale instellingen– instellingen voor huidige talen, datumformaat, codering, tekstrichting;
  • E-mailsjablonen– met behulp van deze sectie kunnen we e-mailsjablonen maken en aan bestaande sites koppelen of kopiëren;
  • Sitesjabloon– zal helpen bij het starten van de installatiewizard voor de kant-en-klare oplossing, we laten het standaard selectievakje staan ​​en installeren.

Hierna bevinden we ons onmiddellijk in het visuele deel van de site die we hebben gemaakt, dat het pad heeft in de URL die we hebben opgegeven. Als we door de secties bladeren, zien we de volledige structuur, met een catalogus van producten, met de informatie-inhoud, die radicaal verschilt van de vorige site.

Maar als we naar de hoofddirectory gaan, wordt de oude bedrijfswebsite voor ons geopend, die ook zijn eigen structuur heeft en niet is veranderd.

En deze methode is best handig, omdat deze eenvoudig te implementeren is en geen extra webserverinstellingen vereist. We kunnen standaardfunctionaliteit op één licentie gebruiken om een ​​tweede website te maken, in een heel ander ontwerp en met andere functionaliteit.

Veranderingen in het systeem na installatie

Laten we meteen kijken naar wat we nu hebben en welke veranderingen er hebben plaatsgevonden in het administratieve gedeelte.

Er is een nieuwe directory verschenen, er is een map aangemaakt waarin de volledige structuur van de tweede site staat. In de ‘sitestructuur’ zien we de naam van de nieuwe site met zijn fysieke en logische structuur.

Onder de tweede site zijn aanvullende informatieblokken (catalogus, nieuws, handelsaanbiedingen) toegevoegd. Als je naar het informatieblok zelf gaat, zien we dat deze aan een specifieke site is gekoppeld. Indien nodig kunnen we het ook aan twee sites tegelijk koppelen.

Nu zal er in de systeeminstellingen een link zijn naar een of andere functionaliteit naar een specifieke site, zoals we zagen in het voorbeeld van informatieblokken, en onze e-mailmeldingen waren ook verdeeld in twee sites.


In de lijst met sites worden nu twee sites weergegeven, en aan elke site zijn, als u ernaar toe gaat, zijn eigen sjablonen toegevoegd.


Dit alles wordt geïmplementeerd door de standaard Bitrix-functionaliteit, zonder voorafgaande serverinstellingen.

Met een paar klikken hebben we een nieuwe website gemaakt, die radicaal anders kan zijn dan de vorige, een eigen ontwerp en inhoud heeft, je kunt een nieuwe online winkel plaatsen of een blok of visitekaartje maken, alles wordt alleen beperkt door je verbeelding.

En met deze positieve noot beëindigen we de recensie van multisite op één domein, en in het volgende nummer zal ik u vertellen hoe u een webserver configureert en een website op verschillende domeinen installeert.

Les voorbereid door Denis Gorelov