Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Zelf een website hosten lijkt een hele toer, maar iedereen die een verbinding met internet heeft kan het. De software is gratis en eenvoudig te installeren, en de server draait al na een enkele muisklik. Voor u het weet kunt u vrienden en bekenden naar uw eigen virtuele voordeur sturen. Are you being served?
Voor veel computergebruikers hoort de server thuis in het domein van de professionele systeembeheerder. Servers worden vaak geassocieerd met uitgebreide en gecompliceerde netwerken, waarin een heleboel gebruikers actief zijn. Niet alleen lijken ze ingewikkeld, ook lijkt het onzinnig er zelf eens mee te experimenteren. Toch kunt u in een thuissituatie met een server aan de slag. Er zijn een heleboel mogelijkheden, maar een van de leukste is toch wel de webserver. Wanneer u een verbinding met internet hebt, hebt u miljoenen potentiële gebruikers die u met uw server en eigen website kunt bedienen. Het installeren en laten draaien van een server is bovendien lang niet zo ingewikkeld als het lijkt.
Internetverbinding
Allereerst een woord van waarschuwing. Voordat u zelf een webserver opzet is het belangrijk over een aantal zaken na te denken, zoals de beveiliging, de mate van bereikbaarheid en de hoeveelheid verkeer die u met uw website denkt te genereren.
Als u nog gebruikt maakt van een 56k-modem en een inbelverbinding, dan kunt u beter helemaal geen webserver voor de buitenwereld willen inrichten. Zo"™n verbinding is te traag en wisselt bovendien voortdurend van ip-adres. Een vaste internetverbinding is een minimumeis. Sommige providers geven u, iedere keer dat u contact met hen legt, een nieuw ip-adres, zelfs bij sommige breedbandabonnementen. Op die manier bent u van buitenaf onbereikbaar. Vraag na bij uw provider of u een vast of een wisselend ip-adres hebt. Of breng een bezoek aan de website www.watismijnip.nl. Doet u dit een aantal dagen achter elkaar, dan kunt u meestal vaststellen of u een wisselend ip-adres hebt.
Verkeer
In principe is iedere breedbandverbinding met een vast ip-adres geschikt, maar we raden het draaien van een webserver eigenlijk pas aan als uw bandbreedte náár internet (de "˜upload"™) 512kbit of hoger is. Sowieso moet u bij uw internetprovider navragen of het is toegestaan dat U een webserver in de lucht brengt. Sommige providers vinden het prima dat u het doet, maar andere willen het pertinent niet. Vraag ook na hoeveel dataverkeer u per maand mag verbruiken, of u dus een datalimiet of zogenoemde Fair Use Policy hebt. Trekt uw website plotseling erg veel bezoekers, dan wilt u bijtijds kunnen ingrijpen, om te voorkomen dat de provider uw verbinding knijpt of u een gepeperde rekening stuurt voor het extra verkeer. Hebt u het plan om zelf een zeer drukbezochte site te gaan hosten vanaf uw eigen pc, dan raden we u aan dat niet met alleen deze workshop te doen. Hebt u zoiets voor ogen, dan kunt u beter bij een professionele hoster aankloppen.
XAMPP
Voor het opzetten van een webserver gebruiken we in deze workshop het pakket XAMPP. XAMPP is volledig opensource en meer dan alleen een webserverpakket. De afkorting staat voor Apache, MySQL, PHP en Perl, en u installeert feitelijk (bijna) al deze zaken, plus nog een heleboel meer. De X is in de vertaling verdwenen, omdat er vroeger twee versies waren: één voor Linux (LAMPP) en één voor Windows (WAMPP). Momenteel zijn er nog twee versies beschikbaar, voor Mac OS X en Solaris, en ze worden ze alle vier gevangen onder de noemer XAMPP.
Wanneer u XAMPP installeert krijgt u dus een hele verzameling programmas. Apache is de eigenlijke webserver, terwijl MySQL (een database) aanwezig is omdat veel websites informatie in een database opslaan (denk bijvoorbeeld aan een blog). PHP is een webtaal waarbij met de code html kan worden gemaakt. De code wordt op de server uitgevoerd, waarna de uitvoer vervolgens naar de ontvanger wordt gestuurd. Daarmee zijn een heleboel toepassingen denkbaar en PHP wordt dan ook zeer breed ingezet, bijvoorbeeld om gegevens vanuit een website in een database weg te schrijven.
Naast de belangrijke onderdelen Apache, MySQL en PHP treft u na installatie ook nog een aantal andere pakketten aan. De belangrijkste daarvan is PHPMyAdmin, een grafische tool om databases in MySQL te beheren. Soms moet u zelf een database inrichten en dan kunt u gebruik maken van dit programma. Verder bevat XAMPP de ftp-server FilleZilla en de mailserver Mercury. Aan deze laatste twee zullen we hier geen aandacht besteden, maar in Computer!Totaal 2/2005 en 9/2004 staan workshops die specifiek over FileZilla en Mercury gaan. Perl, dat u alleen als een extra add-on kunt downloaden en installeren, is een scriptingtaal. Voor ons doel is dat niet relevant, we zullen het ook niet gebruiken.
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Hardware
Een webserver vraagt niet veel van de hardware en vanuit dat oogpunt kunt u de webserver rustig laten draaien op uw eigen Windows-machine, terwijl u daarnaast best nog andere dingen kunt doen op de pc. Wel is het aan te raden "“ ook in verband met de beveiliging - wanneer u alles wat met de webserver heeft te maken ergens apart neerzet en niet direct in de root van uw C-schijf. Het is dan ook aan te bevelen hiervoor een aparte partitie aan te maken. Wordt het draaien van een webserver meer dan gewoon een leuk experiment, dan kunt u overwegen hiervoor een aparte pc te gebruiken.
Houd er rekening mee dat uw website alleen bereikbaar is als uw pc aanstaat en de serversoftware actief is. Voor een site die 24 uur per dag bereikbaar moet zijn, moet uw hardware dus permanent aanstaan. Het is de vraag of u dat met uw eigen eigen pc wilt doen. Een aparte (wat oudere) pc hiervoor inrichten is een beter idee. Bovendien gaat de beveiliging een belangrijke rol spelen, wanneer u permanent met internet verbonden bent.
Stap 1 Downloaden
Op de XAMPP-website treft u verschillende versies aan. We kiezen hier voor de basic package-versie van XAMPP for Windows. Hier zijn weer drie vormen van, een zip-bestand en twee uitvoerbestanden. welke u kiest maakt niet uit, want ze leveren allemaal dezelfde installatie op. Wij kiezen voor het kleinste uitvoerbestand van 26MB.
Stap 2 Installeren
We gebruiken Windows XP en hebben al een aparte partitie van 2GB voor XAMPP ingericht. Daar gaan we het programma nu installeren. Dubbelklikken op het uitvoerbestand zorgt ervoor dat XAMPP wordt uitgepakt. Als locatie kiezen we de aangemaakte partitie. Het uitpakken zorgt ervoor dat de omvang van 26MB naar rond 200MB oploopt en dat kan dus even duren (afbeelding 1).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Vervolgens openen we de map Xampp en dubbelklikken we op setup_xampp.bat. Er verschijnt een dos-box en na enige tijd wordt gevraagd op een toets te drukken om door te gaan. De dos-box sluit zich en XAMPP is geïnstalleerd (afbeelding 2).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 2: Mocht u het control panel niet willen gebruiken, dan kunt u gebruikmaken van de .bat-bestandjes.
Stap 3 Servers starten
Nu de server is geïnstalleerd, kunnen we deze aanzetten. U dubbelklikt in dezelfde map Xampp op het uitvoerbestand met de naam xampp-control.exe. Er verschijnt nu een configuratiescherm met de naam XAMPP Control Panel Application. Hier worden de verschillende servers getoond die u kunt aanzetten: Apache, MySQL, FileZilla en Mercury. Voor de verschillende namen ziet u vakjes staan met de tekst Svc (afbeelding 3).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Door hier een vinkje te plaatsen worden de servers door Windows als service gezien en altijd op de achtergrond gestart bij het opstarten van Windows. Doe dit alleen als u een website hebt die permanent moet draaien. In ons geval willen we dat niet en we zetten dus geen vinkjes.
Wel willen we de webserver testen en dus klikken we op Start achter zowel Apache als MySQL. Er verschijnt een groen blokje met de tekst Running, ten teken dat de servers actief zijn (afbeelding 4).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 4: Wanneer u klikt op de knop admin krijgt u de beheertool van de betreffende server te zien. Apache heeft overigens geen eigen beheertool in XAMPP.
Stap 4 Servers testen
De servers Apache en MySQL draaien en u kunt nu kijken of er inderdaad paginas benaderd kunnen worden. Start de webbrowser (IE, Firefox of een andere) en typ als webadres http://localhost of http://127.0.0.1. Als het goed is ziet u nu de openingspagina van XAMPP verschijnen (afbeelding 5).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 5: XAMPP komt met een heleboel verschillende vertalingen.
Wanneer u vervolgens ook nog even op Nederlands klikt, wordt u van harte welkom geheten (afbeelding 6).
Afbeelding 6: Het is de moeite waard om de mogelijkheden van XAMPP te bekijken met behulp van de verschillende demos.
In het linkermenu kunt u bij Status de verschillende geïnstalleerde en nu draaiende componenten controleren (afbeelding 7).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 7: De SMTP Service verwijst naar Mercury en de FTP Service naar FileZilla, beide staan hier uitgeschakeld.
Stap 5 Beveiligen
Nu moet de beveiliging nog in orde worden gemaakt. Wanneer u in het linkermenu klikt op de link Veiligheid, wordt een nieuwe pagina geopend. Hierop ziet u de beveiligingsstatus. En die is standaard niet zo best. Halverwege de pagina vindt u een link (afbeelding 8) en wanneer u daarop klikt, kunt u een wachtwoord opgeven voor de root van MySQL en een gebruikersnaam en wachtwoord voor de XAMPP-directory (afbeelding 9).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 8: De link werkt alleen vanaf de localhost; wanneer u dus elders in uw eigen netwerkje zit moet u toch naar de computer waarop XAMPP draait.
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Doet u beide en schrijf vervolgens de gebruikersnaam en de beide wachtwoorden op. Ze zijn anders niet meer terug te vinden.
Nu kunt u dit venster sluiten en opnieuw op het menu-item Veiligheid klikken, in het andere venster. Er wordt u gevraagd om een gebruikersnaam en een wachtwoord (dezelfde die u net ingaf) en wanneer u die invoert zult u zien dat de beveiligingsstatus is verbeterd (afbeelding 10).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 10: De link werkt alleen vanaf de localhost; wanneer u elders in uw eigen netwerkje zit moet u toch naar de computer waarop XAMPP draait.
Stap 6 Locatie voor de eigen bestanden
De XAMPP-site biedt veel extras om te bekijken (onder andere een link naar PHPMyAdmin), maar wat u uiteindelijk wil is een eigen site kunnen tonen aan de buitenwereld. In de Xampp-map op de aparte partitie treft u een map met de naam htdocs. Dit is de root van de webserver. Alles wat hierin staat is vanuit de browser toegankelijk. Maak in die htdocs een nieuwe map met bijvoorbeeld de naam mijnsite (afbeelding 11).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 11: In de map mijnsite plaatst u de bestanden voor uw website.
Zet daarin vervolgens een bestand met de naam index.html, dat er grofweg uitziet als:
Mijn Site!
Start een webbrowser en typ de url http://localhost/mijnsite, dan wordt index.html getoond (afbeelding 12).
Afbeelding niet beschikbaarDe bron kon niet worden geladen (www.computertotaal.nl).Bron openen ↗Afbeelding 12: Index.html wordt getoond.
Dit is natuurlijk maar een minimalistisch voorbeeld, dat alleen dient om te tonen dat het werkt. Nu kunt met een html-editor een echte website gaan bouwen.
De code uit het voorbeeld wordt getoond ten teken dat u uw eigen site kunt gaan uitserveren.
Stap 7 Eigen site als opening
De site die XAMPP toont wanneer u het voor de eerste keer opstart is de standaardsite. Maar u wilt niet deze, maar juist uw eigen site laten zien. Om dit te wijzigen kunt u het bestandje index.php in de htdocs-map aanpassen. Als u index.php opent met het kladblok, ziet u halverwege /xampp/ staan. Vervangt dit door bijvoorbeeld /mijnsite/ en sla het op, dan zal de volgende keer dat u in de webbrowser localhost intypt het bestand index.html worden getoond, dat zich in de map mijnsite bevindt.
Stap 8 De eigen site uitserveren
De buitenwereld kan nu ook bij uw website, vooropgesteld dat men weet wat uw ip-adres is. Via www.watismijnip.nl kunt u achter uw eigen ip-adres komen. Wanneer u dit doorgeeft aan iemand die niet op uw eigen lokale netwerkje zit, kan hij of zij dit ip-adres intypen en vervolgens verschijnt dan uw pagina in zijn of haar browser. En daarmee hebt u een werkende webserver in de lucht.
Vindt u een ip-adres niet zo chique, dan kunt u een eigen domeinnaam laten vastleggen en deze laten verwijzen naar het ip-adres van uw internetverbinding. Vrijwel alle hostingproviders en domeinregistratiebedrijven in Nederland kunnen dat voor u regelen. Dit is alleen praktisch als uw website altijd bereikbaar is. Als de computer uitstaat bent u immers niet bereikbaar op die domeinnaam.
Problemen oplossen
Er kunnen verschillende redenen zijn waarom het niet lukt voor een gebruiker om van buitenaf contact met uw webserver te maken:
- Hebt u het juiste ip-adres doorgegeven en weet degene die het moet intypen hoe hij of zij dat moet doen? Met een url zijn we inmiddels allemaal vertrouwd, maar met ip-adressen veel minder.
- Beschikt u over een thuisnetwerkje met een router erin? Hebt u dan ook Port Forwarding ingesteld? Zoniet, zie het kader Router Instellen.
- Gebruikt u misschien een firewall? In zon geval kan het zijn dat aanvragen van buiten direct worden afgestopt en ze niet bij de server terecht komen. U zult de server volledige rechten voor in- en uitgaand verkeer moeten geven.
Router instellen
Met een router kunnen meerdere computers dezelfde internetverbindig delen. Middels DHCP bepaalt de router zelf welk ip-adres hij aan de verschillende pc"™s toekent. Zon systeem werkt prima, totdat u besluit dat u een server wilt draaien. De server kan nu wel een signaal naar de buitenwereld sturen, maar van buiten naar binnen gebeurt er niets. De router weet namelijk niet waar hij aanvragen voor bijvoorbeeld een internetpagina naartoe moet sturen.
Om dit op te lossen zijn er twee mogelijkheden. De beste methode is om in plaats van door de router gekozen adressen, vaste ip-adressen te gebruiken. De verschillende computers in het lokale netwerk krijgen dan een eigen, vast ip-adres. Vervolgens wordt in de router via de optie Port Forwarding, Virtuele Server of NAT (de naam wisselt) aangegeven dat alle aanvragen voor poort 80 (internetinformatie verloopt via die poort) moet worden doorgestuurd naar een specifiek ip-adres op het interne netwerk. En dat is natuurlijk het ip-adres van de pc waarop de server draait.
Werken met vaste ip-adressen is rechtoe-rechtaan en heel veilig, maar helaas werken niet alle routers op dezelfde manier en kan het best lastig zijn om vaste ip-adressen te configureren. De tweede methode is eenvoudiger maar werkt niet altijd. U kunt achterhalen wat het via DHCP toegekende ip-adres is van de pc waarop de server draait: klik met rechts op het pictogram van de netwerkverbinding in het systeemvak, klik op Status en het tabblad Ondersteuning en kijk bij ip-adres. Vervolgens stelt u de optie Port Forwarding van de router zo in, dat alle informatie voor poort 80 naar dat ip-adres moet.
Meer informatie over het instellen van specifieke routers vindt u hier: www.portforward.com.


