Hoe een multisite met Drupal maken

Drupal bezit de mogelijkheid om meerdere sites te beheren die allemaal gebruik maken van dezelfde database, code-bestanden (codebase). Dit word een multisite-setup genoemd. Het is een zeer sterke en krachtige functie van Drupal en niet zo heel moeilijk om te gebruiken.

Je kan kiezen tussen verschillende soorten installaties, bv gebruik maken van dezelfde bestanden maar de databases of tabellen apart houden, gebruikers delen of verschillende andere tabellen in de database delen.
Het enorme voordeel hier is dus dat als je meerdere Drupal websites maakt, je telkens maar de nieuwe bestanden bij een update maar op 1 plaats hoeft toe te voegen en deze voor al je installaties kunt gebruiken. Hetzelfde voor al je modules, dit kan je dus heel wat tijd besparen.

Hier onder volgt een methode die je als setup kan gebruiken voor een multisite met gedeelde bestanden (codebase) maar dezelfde database.

  • In de root van je bestaande of eerste Drupal installatie ga je naar de map "sites".
  • De map default kopieër je en hier gebruik je de naam van de url waar je nieuwe Drupal installatie bereikbaar moet worden. Je kan hier bvb ook gebruik maken van subdomains.
    Drupal zal eerst op naam van de url controleren en daarna op variaties en als laatste pas op default. Deze lijst vind je ook terug in je settings.php.
    In onderstaand voorbeeld gaat Drupal dus op zoek naar drupal.org/mysite/test/ en kan je zien in welke volgorde:
    sites/www.drupal.org.mysite.test
    sites/drupal.org.mysite.test
    sites/org.mysite.test
    sites/www.drupal.org.mysite
    sites/drupal.org.mysite
    sites/org.mysite
    sites/www.drupal.org
    sites/drupal.org
    sites/org
    sites/default
  • Als voorbeeld zal ik gebruik maken van een map op mijn eigen domeinnaam.
    De 2de Drupal installatie zou moeten komen op carettedonny.be/site2.
    Dus maak ik in de map sites een nieuwe map "carettedonny.be.site2" aan.
  • Om nu je 2de website gebruik te laten maken van de Drupal bestanden die in de root van je webspace staan gaan we een symlink aanmaken.
    Zorg eerst dat je het volledige path weet op de server naar je root folder, dit kan je ook terug vinden door de info via PHP op te vragen. Open kladblok neem onderstaande code op en sla het bestand op als info.php, upload het naar je webserver en bekijk op info.php alle informatie. Na dat je je path gevonden hebt, vergeet dan zeker niet dit bestand terug te verwijderen.
    <?php
        phpinfo();
    ?>

    Een symlink kan je als volgt aanmaken. Maak een nieuw PHP bestand aan of open kladblok en geef onderstaande code in:
    <?php
        symlink("/home/domains/carettedonny.be/public_html/", "site2");
    ?> 
  • Upload de PHP file met de symlink code en bezoek de pagina via je browser, er zal nu een symlink aangemaakt worden.
  • Om nu je nieuwe Drupal website te kunnen installeren bezoek je jouwwebsite.be/site2/install.php waar je zal gevraagd worden de database gegevens in te geven voor je nieuwe website. 
  • Meer infomatie over multisites kan je op drupal.org terug vinden. Over het delen van tabellen vind je hier meer informatie.
  • Let wel symlinks kan je niet in een windows omgeving gebruiken, indien je toch graag bv lokaal zou uit testen is dit mogelijk met het programma Junction Link Magic. (Freeware)
  • Een voorbeeld van een multisite vind je terug op http://www.euromelanoma.org

Geen reacties beschikbaar.

Reactie toevoegen