Navigatie overslaan.
Start

1. Apache configuratie

Apache2

Single-site setup

Tijdens de installatie van Debian kan je al kiezen om een webserver mee te installeren. Dit geeft je tegenwoordig standaard Apache2. Het is vrij eenvoudig om Apache2 te configureren voor single-site setup met Drupal - dat wil zeggen dat je slechts één enkele website zult aanbieden. Voor single-site setup kan je de reeds aanwezige configuratiebestanden editeren.

Open het bestand /etc/apache2/sites-enabled/000-default en ga op zoek naar de bepaling voor DocumentRoot. Verander dit in de locatie waar je straks Drupal zult installeren. Doe hetzelfde voor de Directory instelling. Vul een geldig adres in voor de beheerder van de site en laat toe om naast index.html ook index.php te accepteren als standaardpagina in een directory. In ons voorbeeld wordt dat dus:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@voorbeeld.be 
ServerName drupaltest
DocumentRoot /var/www/drupal
<Directory /var/www/drupal>
Options Indexes FollowSymLinks MultiViews
DirectoryIndex index.html index.php
AllowOverride None
Order allow,deny
allow from all
</Directory>

De aangepaste instellingen werden in vetjes gezet. De rest van dit bestand mag je onveranderd laten. Zorg ervoor dat de hostnaam drupaltest gekend is op je systeem, bijvoorbeeld door hem in DNS te declareren of in /etc/hosts op te nemen, zie de paragraaf „Naming services”.

Herstart Apache:

debian:~# apache2ctl restart
[Opmerking]Domeinnaam

De domeinnaam in onze voorbeelden is „voorbeeld.be”. Vervang dit uiteraard door je eigen domeinnaam.

Multi-site setup

Weetjes voor multi-site setup

De nieuwe Apache configureren voor multi-site setup - dat wil zeggen dat je met één enkele Drupal instantie meerdere sites zal beheren - is iets ingewikkelder, omdat de configuratie voor virtuele hosts opgesplitst werd in verschillende bestanden, en je bovendien ook nog de default configuratie best nog blijft gebruiken. De volgende zaken dienen in acht genomen te worden:

  • De eigenlijke configuratiebestanden voor virtuele hosts bevinden zich in /etc/apache2/sites-available. De map /etc/apache2/sites-enabled bevat symbolische links naar de bestanden in /etc/apache2/sites-available.

  • Voor het goed functioneren van Apache blijft het standaardbestand 000-default best bestaan.

  • Per virtuele host worden er gescheiden logbestanden gebruikt.

  • Zorg ervoor dat alle virtuele hosts gekend zijn in je naming service, bv. DNS voor genetwerkte setup of /etc/hosts voor een lokale installatie. Meer info hierover in de paragraaf „Naming services”.

Virtuele host configuratie

Voor elke site die je via Drupal wilt aanbieden, maak je in /etc/apache2/sites-available een bestand aan. De naam doet er niet echt toe, dus kies iets dat voor jou herkenbaar is. Onze virtuele sites heten heel saai site-1 en site-2. Het configuratiebestand voor site-1 is site-1 en ziet er als volgt uit:

<VirtualHost *>
ServerName site-1.intern.voorbeeld.be
ServerAlias site-1
ServerAdmin webmaster+site-1@voorbeeld.be
DocumentRoot /var/www/drupal
<Directory /var/www/drupal>
Options Indexes FollowSymLinks MultiViews
DirectoryIndex index.html index.php
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/site-1-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/site-1-access.log combined
ServerSignature On
</VirtualHost>

Als basis kan je een kopie nemen van het default bestand. De aangebrachte veranderingen worden hierboven getoond in vetjes. We zetten ze nog even op een rijtje:

  • ServerName

  • ServerAlias

  • ServerAdmin

  • DocumentRoot en Directory: dit is voor alle virtuele hosts /var/www/drupal. Alle virtuele sites worden dus naar Drupal doorgestuurd, dat naderhand zal bepalen welke bestanden uit welke database er getoond zullen worden.

  • DirectoryIndex: index.php wordt toegevoegd.

  • error.log en access.log worden per site ingesteld. Je hoeft deze bestanden niet zelf te gaan aanmaken, Apache brengt dat automatisch in orde.

domein.be vs. www.domein.be

Als je wilt dat je bezoekers je site kunnen zien met of zonder “www” voor de domeinnaam, maak dan een configuratie als volgt:

<Virtualhost 81.188.4.99>
    ServerName www.voorbeeld.be 
    ServerAlias voorbeeld.be
    DocumentRoot /var/www/drupal
</VirtualHost>

Verder hoef je voor dit soort configuraties enkel DNS in orde te brengen (zie de paragraaf „DNS configuratie”). In Drupal zelf hoef je niets in te stellen, noch moet je speciale mappen aanmaken zoals hierna beschreven wordt.

Symbolische links aanmaken

Maak voor elke site een symbolische link aan in /etc/apache2/sites-enabled:

debian:sites-enabled# ln -s ../sites-available/site-1 site-1
debian:sites-enabled# ln -s ../sites-available/site-2 site-2

Laat de 000-default link die verwijst naar /etc/apache2/sites-available/default ongemoeid.

Apache herstarten

Wanneer je klaar bent, laad je de configuratie opnieuw in:

debian:~# apache2ctl restart

Als alles goed gaat, veroorzaakt dit commando geen output en worden de logbestanden voor je virtuele hosts aangemaakt in /var/log/apache2.

Apache-1.3

Single-site setup

Kies voor een single-site setup als je met Drupal slechts één enkele website wilt aanbieden.

Editeer het bestand /etc/apache/httpd.conf en pas de volgende instellingen aan:

  • ServerAdmin: geef een geldig e-mailadres voor de webmaster op.

  • ServerName: geef hier het IP-adres van de server of de naam op.

  • DocumenRoot: /var/www/drupal.

  • DirectoryIndex: voeg index.php toe als dat er nog niet staat.

Herstart Apache:

debian:~# apachectl restart

Multi-site setup

Kies voor een multi-site setup als je met één enkele Drupal instantie verschillende websites wilt aanbieden. Onze voorbeeldsites hebben de namen site-1 en site-2.

Ga naar de sectie “Virtual Hosts” in /etc/apache/httpd.conf. Verander volgende zaken:

  • NameVirtualHost: vul het IP-adres van je machine in.

  • Voeg voor elke virtuele site als volgt een blok toe:

    <VirtualHost site-1.intern.voorbeeld.be>
        ServerAdmin webmaster@voorbeeld.be
        DocumentRoot /var/www/drupal
        ServerName site-1.intern.voorbeeld.be
        ErrorLog /var/log/apache/site-1.intern.voorbeeld.be-error.log
        CustomLog /var/log/apache/site-1.intern.voorbeeld.be-access.log combined
        RedirectMatch /path url
    </VirtualHost>
  • Pas de rest van het bestand aan zoals beschreven in de paragraaf „Single-site setup”.

Herstart Apache:

debian:~# apachectl restart

Controleer dat de logbestanden per site aangemaakt zijn in /var/log/apache. Als alles goed gaat, genereert dit commando geen output.