Voorbereiding
Dit verhaal gaat er vanuit dat je een domein hebt geregistreerd en dat er een A (address) record met de naam 'www' bestaan. Dit address record heeft het IP adres van jouw host. Ik zal het hier over het domein www.christiaanse.net hebben. Ik ga verder niet in op de details die je moet regelen omdat voor elkaar te krijgen.
Als het allemaal goed werkt kun je een ping www.christiaanse.net geven en zien dat je antwoord krijgt.
Webserver (Apache2) installeren
Dit gaat gewoon via het mechanisme van de desbetreffende distributie. Bij mij dus; apt-get install apache2
Configureren
Nu moet er eea aan instellingen goed gezet worden; onder Ubuntu heb je nu ongeveer de volgende layout in /etc/apache2;
apache2.conf
httpd.conf
ports.conf
mods-enabled/
sites-available/
sites-enabled/
conf.d/
mods-available/
ssl/
Onder Ubuntu beheer je de apache modules met de commandos a2enmod en a2dismod. Ik zal hier niet verder ingaan op de apache modules. Dat is een verhaal op zich.
Het aan- of uitzetten van een website gaat met a2ensite en a2dissite respectievelijk.
/etc/apache2/apache2.conf
De laatste 2 regels van deze file luiden als volgt;
NameVirtualHost *:80
Include /etc/apache2/sites-enabled
Met het eerste statement geef ik aan dat ik websites heb draaien op port 80 op alle interfaces van mijn machine.
Het laatste statement verteld apache waar de website definities gevonden kunnen worden.
Maar goed - nu moet er dus nog eerst een site worden geconfigureerd. Dit doe je door de configuratie dus in sites-available te zetten.
/etc/apache2/sites-available/
In deze directory heb ik een file genaamd 'www.christiaanse.net' staan, hierin wordt aan apache vertelt hoe die website geconfigureerd is:
1 <VirtualHost *:80>
2 ServerAdmin hostmaster@christiaanse.net
3 ServerName www.christiaanse.net
4 ServerAlias christiaanse.net
8 ServerAlias 81.128.13.6
10 ServerSignature Off
11 DocumentRoot /home/www/www.christiaanse.net
12 LogLevel warn
13 ErrorLog /var/log/apache2/www.christiaanse.net-error.log
14 CustomLog /var/log/apache2/www.christiaanse.net-access.log combined
15 </VirtualHost>
Start een nieuwe virtualhost op port 80 (de http poort)
Wie is de admin?
Wat is de officiele hostnaam voor deze server; www.christiaanse.net
Een alias
Nog een
Idem
Idem
Idem, maar dan een IP nummer (weet niet of dit per se nodig is).
Idem
Geef geen extra informatie over de apache server (versie nummers enzo)
Waar kun je de site op het filesystem vinden? Hier dus /home/www/www.christiaanse.net
Hoeveel logging wil je hebben
En waar moet die logging heen
Idem
Einde virtual host block
a2ensite
Nu kun je met a2ensite www.christiaanse.nl voor deze file een symlink creeeren vanuit /etc/apache2/site-enabled naar /etc/apache2/site-available. Daar moet je apache restarten en zou e.e.a. moeten gaan werken;
/etc/init.d/apache2 restart
Permissies
De apache server op Debian/Ubuntu draait als user www-data, deze user moet wel recht hebben om de files in /home/miekg/miek.nl te kunnen lezen!
Ik kan nu dus een /home/www/www.christiaanse.net/index.html file aanmaken met de juiste permissies;
touch /home/www/www.christiaanse.net/index.html
chmod 644 /home/www/www.christiaanse.net/index.html
NB: ook alle tussenliggende directories moeten bewandelbaar zijn voor de 'www-data' user, anders krijg je een 'permission denied'.
Nu moet je dus je browser naar www.christiaanse.net/index.html kunnen wijzen en moet je een mooi, wit scherm krijgen. Heb je dit dan kun je daarna verder gaan met het ontwikkelen van een website.
Heb je dit niet dan kun je in /var/log/apache2/www.christiaanse.net-error.log zien of er fout-meldingen zijn verschijnen. Eventueel kun je ook /var/log/apache2/error.log bekijken.