Edu'Actief

De installatie en configuratie van een webserver

In dit digitale practicum wordt de complete installatie en configuratie van een webserver behandeld.
De installatie is uitgebreid getest onder de besturingssystemen Windows 2000 en Windows XP Service Pack 1.
Wanneer je een installatie doet onder Windows XP Service Pack 2, dan moet je de blokkering van de Apache HTTP Server opheffen.

Windows XP Service Pack 2 kent een strenge beveiliging

De versies van de software, die in dit practicum worden besproken, kun je downloaden vanaf de methodesite Informatica:

Ga naar de methodesite van Edu'Actief

Natuurlijk kun je er ook voor kiezen om de allernieuwste versies van de software te gebruiken. De installatie en configuratie is dan mogelijk afwijkend.
Je kunt thuis je eigen webserver opzetten, wanneer je de beschikking hebt over een ADSL- of een kabelaansluiting op Internet. Vervolgens kun je dan een database bouwen, die via Internet benaderbaar is.
Ook zonder een ADSL- of kabelaansluiting kun je dit practicum uitvoeren. Je webserver draait dan alleen localhost.
Voor meer uitleg over de samenwerking tussen de Apache webserver, PHP en MySQL moet je de Powerpoint presentatie op de cd-rom nog maar eens bekijken.

De Apache webserver, PHP en MySQL vormen een ijzersterk team!

Omdat de installatie en configuratie van een eigen webserver een secuur karwei is, raden wij je aan om te werken volgens onderstaand stappenplan:

De afbeelding hieronder geeft een overzicht van de verschillende mappen, waarin de installatie van de webserver, PHP, MySQL enz. zal plaatsvinden:

Overzicht van c:\Webserver samen met de onderliggende mappen

De APACHE webserver

De APACHE webserver verzorgt de communicatie met de browser (bijv. Internet Explorer). De webserver ontvangt een verzoek om verbinding, brengt de verbinding tot stand en verstuurt vervolgens de gewenste webpagina's.

Maak eerst de map c: \ webserver aan.
Open vervolgens het bestand apache_2.0.48-win32-x86-no_ssl.msi, dat je kunt downloaden vanaf de methodesite Informatica van Edu'Actief.
De installatie wizard wordt gestart:

Start van de Installatie Wizard

Bestudeer de licentie voorwaarden aandachtig:

De Apache software licentie

Lees eventueel deze README helemaal door:

Een scherm met de laatste info

Vul een aantal gegevens in over je webserver.
Netwerk Domain: localhost.
Server Name: localhost.
Administrator's Email Address: jouw emailadres.

De server gegevens

Kies vervolgens voor de standaard installatie:

Kies voor de standaard installatie

Wijzig de map, waarin de Apache webserver moet worden geïnstalleerd, in c: \ webserver:

Installeer Apache in de map c:\webserver\

Staat alles goed? Dan kan de installatie beginnen:

Staat alles goed? Dan kan de installatie beginnen!

Even geduld:

De Apache webserver wordt geinstalleerd

En de installatie is voltooid:

De installatie is voltooid

Op de werkbalk onderaan je beeldscherm is een icoon verschenen:

Op de werkbalk onderaan je beeldscherm is een icoon verschenen

Wanneer je met je rechtermuisknop op dit icoon klikt, dan wordt de Apache Service Monitor geopend:

Klik op het icoon om de Apache Service Monitor te openen

De Apache Service Monitor kun je o.a. gebruiken om de webserver te stoppen en te herstarten:

Met de Apache Service Monitor kun je de webserver o.a. stoppen en herstarten

Surf vervolgens met je webbrowser naar http://localhost om te controleren, of de webserver werkt:

De Apache webserver werkt

Maak de map c: \ webserver \ www aan:

De map www is aangemaakt in c:\webserver

Omdat we de webserver geïnstalleerd hebben in een zelf gekozen map, moeten er nog twee wijzigingen worden aangebracht in het httpd.conf bestand.
Via het Windows startmenu Start | Alle programma's | Apache HTTP Server 2.0.48 | Configure Apache Server | Edit the Apache httpd.conf Configuration file kun je dit configuratiebestand wijzigen.
Het is verstandig om iedere wijziging van dit configuratiebestand ook even te testen:

Open het configuratie bestand

Ga in het configuratiebestand naar regel 230, daar staat de DocumentRoot:

Zoek in het Apache httpd.conf bestand naar de regel, waarin de DocumentRoot staat

Wijzig de DocumentRoot in "c:/webserver/www":

Wijzig de DocumentRoot in c:/webserver/www

Ga in het configuratiebestand naar regel 255, daar staat Directory "C:/webserver/Apache2/htdocs":

Ook deze regel in het Apache httpd.conf bestand moet worden aangepast

Wijzig ook deze regel in C:/webserver/www":

Wijzig de regel in c:/webserver/www

Sla het configuratiebestand op.
Test het configuratiebestand, en herstart vervolgens de Apache webserver:

Na een wijziging in het httpd.conf bestand moet je de webserver herstarten

Surf vervolgens met je webbrowser naar http://localhost om te controleren, of de webserver werkt.
De map c: \ webserver \ www bevat nog geen html-bestanden:

In de map c:\webserver\www staan nog geen html-bestanden

Maak een eenvoudig bestand met de naam index.html aan, en plaats dit bestand in de map c: \ webserver \ www.
Surf vervolgens weer met je webbrowser naar http://localhost om te controleren, of de webserver werkt.

De webserver toont de webpagina index.html

Terug naar het installatie menu.


De PHP-parser

De PHP-parser ontvangt van de webserver verzoeken om PHP-scripts te verwerken, en eventueel contact te leggen met een MySQL database.
Alle informatie wordt door de parser in een HTML-bestand geplaatst, dat wordt verzonden door de webserver.

Pak het bestand php-4.3.4-Win32.zip, dat je kunt downloaden vanaf de methodesite Informatica van Edu'Actief, uit in de map c: \ webserver.
Verander vervolgens de naam van de uitgepakte map php-4.3.4-Win32 in php:

De map php is aangemaakt in c:\webserver

In de map php staan de bestanden php.ini-dist en php4ts.dll. Deze bestanden moet je verplaatsen en/of een andere naam geven.
Geef het bestand php.ini-dist de naam php.ini. Verplaats het bestand vervolgens naar de map c: \ WINDOWS.
Verplaats het bestand php4ts.dll naar de map c: \ WINDOWS \ system32.

In de map php staan de bestanden php.ini-dist en php4ts.dll

Na de installatie van PHP moeten er nog drie wijzigingen worden aangebracht in het httpd.conf bestand van de webserver.
Denk erom, dat je iedere wijziging even test!

We beginnen met het aangeven van de volgorde, waarin index-bestanden moeten worden opgezocht in de root.
Ga in het configuratiebestand naar de regel, waarin de DirectoryIndex staat (in de buurt van regel 320:

Zoek in het Apache httpd.conf bestand naar de regel, waarin de DirectoryIndex staat

Verander de DirectoryIndex in index.php index.htm index.html index.html.var:

Voeg index.php en index.htm toe aan de DirectoryIndex

Ga in het configuratiebestand naar de regel, waarin de LoadModule staat (in de buurt van regel 120).
Voeg vervolgens de extra regel LoadModule php4_module c: \ webserver \php \ sapi \ php4apache2.dll toe:

Zoek in het Apache httpd.conf bestand naar de regel, waarin LoadModule staat, en voeg een extra regel toe

Ga in het configuratiebestand naar de regel, waarin de AddType staat (in de buurt van regel 770.
Voeg vervolgens de extra regel AddType application/x-httpd-php .php toe:

Zoek in het Apache httpd.conf bestand naar de regel, waarin AddType staat, en voeg een extra regel toe

Test eerst de wijzigingen, die je in het configuratiebestand hebt aangebracht.
Herstart de Apache webserver.
Maak vervolgens onderstaand testbestand met de naam index.php en plaats het in de map www:

Maak een test bestand met de naam index.php

Surf tenslotte weer met je webbrowser naar http://localhost om te controleren, of PHP correct werkt:

De webserver toont de webpagina index.php

Terug naar het installatie menu.


Het DataBase Management Systeem MySQL

MySQL is een klein en gratis DBMS, waarmee vrij eenvoudig kleine en middelgrote databases kunnen worden beheerd.
Het programma werkt perfect samen met PHP en is daarom zeer geschikt om als DBMS te worden gebruikt bij het opzetten van een dynamische website, die gevoed wordt vanuit een database.

Open het bestand mysql-4.0.18-win.zip, dat je kunt downloaden vanaf de methodesite Informatica van Edu'Actief.
De installatie wizard wordt gestart:

Het Setup programma begint

Wij installeren release 4.0.18:

Release 4.0.18 gaat geinstalleerd worden

Wijzig de map, waarin MySQL moet worden geïnstalleerd, in c: \ webserver \ mysql:

Installeer MySQL in de map c: \ webserver \ mysql

Kies vervolgens voor de standaard installatie:

Kies voor de standaard installatie

Even geduld:

MySQL wordt geinstalleerd

En de installatie is voltooid:

De installatie is voltooid

Ga vervolgens naar de map c: \ webserver \ mysql \ bin:

In de map c: \ webserver \ mysql staat de map bin

Open het bestand winmysqladmin.exe:

In de map bin staat het bestand winmysqladmin.exe

Er wordt gevraagd om de invoer van een User name en een password. (Noteer deze gegevens!):

Vul een User name en een password in

Het openingsscherm van WinMySQLadmin verschijnt. M.b.v. dit programma kun je o.a. de databaseserver stoppen en starten.
Wanneer je winmysqladmin.exe opneemt in Start | Alle programma's | Uitvoeren, dan wordt de server automatisch opgestart.

WinMySQLadmin geeft informatie over de database server

Op de werkbalk onderaan je beeldscherm is een icoon verschenen met een stoplicht.
Wanneer het stoplicht op groen staat, dan werkt de server naar behoren. Staat het stoplicht op rood, dan is de server gestopt:

Een stoplicht geeft de status van de database server weer

Terug naar het installatie menu.


phpMyAdmin

Het beheren van databases m.b.v. MySQL is vrij lastig. Alle opdrachten moeten gegeven worden via de 'Opdrachtprompt'.
Het beheer wordt een stuk vriendelijk, wanneer je gebruik maakt van phpMyAdmin.

Pak het bestand phpMyAdmin-2.5.6.zip, dat je kunt downloaden vanaf de methodesite Informatica van Edu'Actief, uit in de map c: \ webserver \ www.
Verander vervolgens de naam van de uitgepakte map phpMyAdmin-2.5.6 in phpMyAdmin:

De map phpMyAdmin is aangemaakt in de map c:\webserver\www

In de map c: \ webserver \ www \ phpMyAdmin staat het bestand config.inc.php.
Open dit configuratiebestand (m.b.v. Wordpad) om een aantal instellingen te wijzigen:

Open m.b.v. Wordpad het bestand config.inc.php

Ga in het configuratiebestand op zoek naar het blok 'Your phpMyAdmin url':


PmaAbsoluteUri is nog niet gevuld

Vul de correcte url in: http:// localhost /phpMyAdmin:

Wijzig de url in http://localhost/phpMyAdmin

Ga in het configuratiebestand op zoek naar het blok 'Server(s) configuration'.
Als het goed is, staat bij auth_type ingevuld config,
en staat bij user ingevuld root:

'auth_type' staat op 'config' en 'user' staat op 'root'

Surf met je webbrowser naar http://localhost/phpMyAdmin om te controleren, of phpMyAdmin correct werkt.
Als alles goed is gegaan, dan krijg je de waarschuwing, dat de MySQL server is geïnstalleerd zonder de bescherming van een wachtwoord:

phpMyAdmin werkt, maar de MySQL server is niet beveiligd met een wachtwoord!

Klik op rechten voor een overzicht van de standaard meegeleverde gebruikers, samen met de rechten en wachtwoorden:

Welke gebruikers hebben rechten op de MySQL server>

Kies bij de gebruiker root op de host localhost voor de actie wijzigen.
Ga naar de rubriek Wijzig paswoord en voer een wachtwoord in:

Eerst de 'root' voorzien van een wachtwoord!

Wanneer je op Start drukt, dan wordt het wachtwoord actief:

De 'root' is voorzien van een wachtwoord

Ga terug naar het configuratiebestand config.inc.php van phpMyAdmin, en vul ook daar het net gekozen wachtwoord in:

Vul het wachtwoord in in het configuratie bestand van phpMyAdmin

Surf opnieuw je webbrowser naar http://localhost/phpMyAdmin om te controleren, of het wachtwoord correct werkt.
Als alles goed is gegaan, dan is de waarschuwing verdwenen.
(Het is veilig om voor iedere gebruiker een wachtwoord in te voeren!):

Het wachtwoord werkt goed, de waarschuwing is verdwenen

Terug naar het installatie menu.


Mappen beveiligen met .HTACCESS en .HTPASSWD

Na stap 4 heb je een werkende installatie van Apache, PHP en MySQL.
Echter: iedere bezoeker van jouw site, die surft naar de map phpMyAdmin heeft automatisch toegang tot jouw MySQL server.
Dat is een ongewenste situatie, dus gaan we de map c:\ webserver \ www \ phpMyAdmin beveiligen met een wachtwoord.
Er zijn verschillende (ingewikkelde) manieren om een map te beveiligen, we bespreken hier de meest eenvoudige.

Het beveiligen van de map c:\ webserver \ www \ phpMyAdmin gebeurt m.b.v. de bestanden .htaccess en .htpasswd.
Deze twee bestanden moet je eerst maken, en vervolgens plaatsen in de map c:\ webserver \ www \ phpMyAdmin.
Beide bestanden worden 'gelezen' door de Apache webserver.
Het bestand .htaccess maak je gewoon het 'Kladblok'.
Let op: je moet het opslaan als type Alle bestanden!
Het bestand komt er zo uit te zien:

AuthUserFile c:\webserver\www\phpMyAdmin\.htpasswd
AuthName "Vul uw gebruikersnaam en wachtwoord in:"
AuthType Basic

<Limit GET>
require valid-user
</Limit>


De inhoud van het bestand .htaccess

Om het bestand .htpasswd te kunnen maken, moet je gebruik maken van het programma htpasswd.exe, dat meegeleverd wordt met de Apache webserver.
Ga via het Startmenu van Windows m.b.v. de 'Opdrachtprompt' naar c:\ webserver \ Apache2 \ bin.
In die map zie je na het commando dir het programma htpasswd.exe staan:

Het programma htpasswd.exe staat in de map c:\webserver\Apache2\bin

Om het bestand .htpasswd aan te maken voor de gebruiker Boesboes, moet je intikken:

htpasswd -c c:\webserver\www\phpMyAdmin\.htpasswd Boesboes

(Bij een tweede gebruiker is de toevoeging -c overbodig.)
Het bestand .htpasswd wordt nu gemaakt en geplaatst in de aangegeven map:

Het bestand .htpasswd wordt aangemaakt

Je kunt het bestand .htpasswd lezen met Kladblok, het wachtwoord is 'versleuteld':

Het wachtwoord in het bestand .htpasswd is 'versleuteld'

Om te kunnen surfen naar een map, die beveiligd is met .htaccess en .htpasswd, moet er ook nog een aanpassing worden gedaan in het httpd.conf bestandvan de Apache webserver.
Ga in het configuratiebestand naar de regel, waarin AllowOverride controls what directives may be placed in .htaccess files. staat (in de buurt van regel 270):


AllowOverride moet worden aangepast

Wijzig AllowOverride None in AllowOverride All:

Wijzig 'None' in 'All'

Herstart de Apache webserver.
Surf tenslotte met je webbrowser naar http:// localhost / phpMyAdmin om te controleren, of de map correct beveiligd is.
Er wordt nu eerst om een wachtwoord gevraagd:

Alleen met de juiste gebruikersnaam en het juiste wachtwoord heb je toegang tot phpMyAdmin

Terug naar het installatie menu.


De 'Bibliotheek-database' toevoegen m.b.v. een sql-script

De webserver is nu helemaal klaar. Je kunt de Bibliotheek-database gaan aanmaken m.b.v. phpMyAdmin.
Surf met je webbrowser naar http:// localhost / phpMyAdmin, en kies voor Nieuwe database aanmaken.
Geef de database de naam Bibliotheek:

De Bibliotheek-database wordt aangemaakt m.b.v. phpMyAdmin

De `database is natuurlijk nog leeg, er zitten geen tabellen in.

De Bibliotheek-database is nog leeg

Om de database te vullen kun je gebruik maken van een script.
Je kunt het script openen, door te kiezen voor Query window | Importeren bestanden:

Om de database te vullen moet je een script importeren

Het script met de naam Bibliotheek.sql staat op de cd-rom staat in de map Blok4 | PHPMySQL | database:

Het script Bibliotheek.sql staat op de cd-rom

Blader naar de locatie, waar het script staat:

Vul het pad naar het script in

Het script wordt uitgevoerd, de tabellen worden aangemaakt en gevuld:

Het script wordt uitgevoerd

De Bibliotheek-database is gevuld met 2712 records:

De Bibliotheek-database is gevuld met records

Terug naar het installatie menu.


FOREIGN KEY's toevoegen

In tegenstelling tot bijvoorbeeld ACCESS ondersteunt de huidige versie van MySQL nog niet het gebruik van referentiesleutels. Derhalve kunnen de verwijzingen tussen de tabellen nog niet worden gecontroleerd.
Samen met phpMyAdmin wordt een sql-script meegeleverd, waarmee je een database kunt aanmaken, waarin de referentiesleutels van de Bibliotheek-database worden opgeslagen.
Op die manier is het toch mogelijk om de referentiële integriteit van je database te bewaken.

Ga in de map c: \ webserver \ www \ phpMyAdmin naar het bestand config.inc.php.
Open dit configuratiebestand (m.b.v. Wordpad) om een aantal instellingen te wijzigen in het blok 'Server(s) configuration':

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';


Vul op deze 8 plaatsen in het configuratie bestand de default waarden in

Maak een nieuwe database aan met de naam phpmyadmin

Maak een nieuwe database aan met de naam phpmyadmin

De database phpmyadmin bevat nog geen tabellen:

De database phpmyadmin is gemaakt, maar bevat nog geen tabellen

Voor het vullen van de database moet je het script create_tables.sql gebruiken, dat staat in de map c:\ webserver \ www \ phpMyAdmin \ scripts:

Het sql-script staat in de map c:\webserver\www\phpMyAdmin\scripts

Je kunt het script openen, door te kiezen voor Query window | Importeren bestanden.
Blader naar de locatie, waar het script staat:

Vul het pad naar het bestand in

Het script wordt uitgevoerd, de tabellen worden aangemaakt en gevuld:

Het script wordt uitgevoerd

De phpmyadmin-database is gevuld:

De phpmyadmin-database is gevuld

We kunnen nu in de Bibliotheek-database verwijzingen gaan aanbrengen tussen de verschillende tabellen.
Als voorbeeld worden de verwijzingen van de tabel uitleningen naar de tabellen leerlingen en exemplaren aangebracht.

Selecteer in de Bibliotheek-database de tabel uitleningen en kies voor Eigenschappen.
Kies vervolgens voor Relatieoverzicht:

In het relatieoverzicht kun je de verwijzingen aanbrengen

Breng vervolgens de verwijzingen aan.

BOEKNR verwijst naar exemplaren->BOEKNR
EXNR verwijst naar exemplaren->EXNR
LLNR verwijst naar leerlingen->LLNR

Breng de verwijzingen aan

De verwijzingen worden opgeslagen in de tabel pma_relation van de phpmyadmin-bibliotheek:

De verwijzingen staan in de tabel pma_relation

Je kunt de inhoud van de tabel pma_relation bekijken:

Alle verwijzingen uit de Bibliotheek-database in beeld

Nadat alle verwijzingen zijn aangebracht, kan de Bibliotheek-database worden gecontroleerd op referentiële integriteit.
Als voorbeeld worden de verwijzingen van de tabel uitleningen naar de tabellen leerlingen gecontroleerd.

Selecteer in de Bibliotheek-database de tabel uitleningen en kies voor Eigenschappen.
Kies vervolgens voor Handelingen en zoek de rubriek Tabelonderhoud op.
Selecteer het controleren van de referentiële integriteit voor de verwijzing naar de tabel leerlingen:

Kies de verwijzing, die je wilt controleren

En jawel: er zit een fout in de Bibliotheek-database
LLNR 184 heeft vijf keer een boek geleend, maar bestaat niet in de tabel leerlingen:

Er is een probleem met LLNR 184

Terug naar het installatie menu.


Een FORUM opzetten

Je kunt thuis op je eigen computer een forum opzetten, wanneer je de beschikking hebt over een ADSL-aansluiting of een kabel-aansluiting.
Wanneer je een forum wilt plaatsen bij een provider, dan moet die provider het gebruik van PHP en een MySQL database ondersteunen.
In dit practicum wordt de installatie en configuratie van het phpBB-forum op je eigen computer thuis bekeken.

Pak het bestand phpBB-2.0.7.zip, dat je kunt downloaden vanaf de methodesite Informatica van Edu'Actief, uit in de map c: \ webserver \ www:

De map phpBB2 wordt aangemaakt in de map c:\webserver\www

Pak het bestand phpbb_lang_dutch.zip, dat je kunt downloaden vanaf de methodesite Informatica van Edu'Actief, uit in de map c: \ webserver \ www \ phpBB2 \ language:

De map lang_dutch wordt aangemaakt in de map c:\webserver\www\phpBB2\language

Surf met je webbrowser naar http://localhost/phpBB2 om te beginnen met de installatie:

Welkom bij de installatie van je eigen forum

Er verschijnt een scherm, waarin je allerlei gegevens moet invullen.

LET OP:
Wanneer je als database naam 'forum' invult, dan moet je een map forum aanmaken in c:\ webserver \ MySQL \ data.
Vergeet niet om een correcte gebruikersnaam en wachtwoord in te vullen, anders mislukt de verbinding met de database!
Noteer de gebruikersnaam en het wachtwoord voor de beheerder van het forum, anders kun je straks nergens meer bij!

Vervolgens start de installatie:

Vul alle gegevens in

Rond de installatie af:

Rond de installatie af

VERNIETIG de mappen install en contrib!


VERNIETIG de mappen 'install' en 'contrib'

De mappen install en contrib staan in de map c:\ webserver \ www\ phpBB2 \

Deze 2 mappen moeten vernietigd worden

Surf met je webbrowser opnieuw naar http://localhost/phpBB2 om je forum te configureren.
Kies voor Ga naar het Administratiepaneel

In het Administratiepaneel kun je je forum verder configureren

Kies voor Configuratie

In 'Algemeen beheer' vind je het onderdeel 'Configuratie'

Je kunt je eigen forum nu o.a. een naam geven:

Vul de gewenste instellingen in

De gewenste instellingen worden verwerkt:

De configuratie is klaar

Surf met je webbrowser opnieuw naar http://localhost/phpBB2 om je forum te bekijken.

Je forum is klaar

Terug naar het installatie menu.