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.
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.
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:
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:
Bestudeer de licentie voorwaarden aandachtig:
Lees eventueel deze README helemaal door:
Vul een aantal gegevens in over je webserver.
Netwerk Domain: localhost.
Server Name: localhost.
Administrator's Email Address: jouw emailadres.
Kies vervolgens voor de standaard installatie:
Wijzig de map, waarin de Apache webserver moet worden geïnstalleerd, in c: \ webserver:
Staat alles goed? Dan kan de installatie beginnen:
Even geduld:
En de installatie is voltooid:
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:
De Apache Service Monitor kun je o.a. gebruiken om de webserver te stoppen en te herstarten:
Surf vervolgens met je webbrowser naar http://localhost om te controleren, of de webserver werkt:
Maak de map c: \ webserver \ www aan:
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:
Ga in het configuratiebestand naar regel 230, daar staat de DocumentRoot:
Wijzig de DocumentRoot in "c:/webserver/www":
Ga in het configuratiebestand naar regel 255, daar staat Directory "C:/webserver/Apache2/htdocs":
Wijzig ook deze regel in C:/webserver/www":
Sla het configuratiebestand op.
Test het configuratiebestand, en herstart vervolgens de Apache webserver:
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:
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.
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:
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.
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:
Verander de DirectoryIndex in index.php index.htm index.html index.html.var:
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:
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:
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:
Surf tenslotte weer met je webbrowser naar http://localhost om te controleren, of PHP correct werkt:
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:
Wij installeren release 4.0.18:
Wijzig de map, waarin MySQL moet worden geïnstalleerd, in c: \ webserver \ mysql:
Kies vervolgens voor de standaard installatie:
Even geduld:
En de installatie is voltooid:
Ga vervolgens naar de map c: \ webserver \ mysql \ bin:
Open het bestand winmysqladmin.exe:
Er wordt gevraagd om de invoer van een User name en een password. (Noteer deze gegevens!):
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.
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:
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:
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:
Ga in het configuratiebestand op zoek naar het blok 'Your phpMyAdmin url':
Vul de correcte 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:
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:
Klik op rechten voor een overzicht van de standaard meegeleverde gebruikers, samen met de rechten en wachtwoorden:
Kies bij de gebruiker root op de host localhost voor de actie wijzigen.
Ga naar de rubriek Wijzig paswoord en voer een wachtwoord in:
Wanneer je op Start drukt, dan wordt het wachtwoord actief:
Ga terug naar het configuratiebestand config.inc.php van phpMyAdmin, en vul ook daar het net gekozen wachtwoord in:
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!):
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>
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:
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:
Je kunt het bestand .htpasswd lezen met Kladblok, het wachtwoord 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):
Wijzig AllowOverride None in AllowOverride 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:
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 `database is natuurlijk nog leeg, er zitten geen tabellen in.
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:
Het script met de naam Bibliotheek.sql staat op de cd-rom staat in de map Blok4 | PHPMySQL | database:
Blader naar de locatie, waar het script staat:
Het script wordt uitgevoerd, de tabellen worden aangemaakt en gevuld:
De Bibliotheek-database is gevuld met 2712 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';
Maak een nieuwe database aan met de naam phpmyadmin
De database phpmyadmin 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:
Je kunt het script openen, door te kiezen voor Query window | Importeren bestanden.
Blader naar de locatie, waar het script staat:
Het script wordt uitgevoerd, de tabellen worden aangemaakt en 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:
Breng vervolgens de verwijzingen aan.
BOEKNR verwijst naar exemplaren->BOEKNR
EXNR verwijst naar exemplaren->EXNR
LLNR verwijst naar leerlingen->LLNR
De verwijzingen worden opgeslagen in de tabel pma_relation van de phpmyadmin-bibliotheek:
Je kunt de inhoud van de tabel pma_relation bekijken:
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:
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:
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:
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:
Surf met je webbrowser naar http://localhost/phpBB2 om te beginnen met de installatie:
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:
Rond de installatie af:
VERNIETIG de mappen install en contrib!
De mappen install en contrib staan in de map c:\ webserver \ www\ phpBB2 \
Surf met je webbrowser opnieuw naar http://localhost/phpBB2 om je forum te configureren.
Kies voor Ga naar het Administratiepaneel
Kies voor Configuratie
Je kunt je eigen forum nu o.a. een naam geven:
De gewenste instellingen worden verwerkt:
Surf met je webbrowser opnieuw naar http://localhost/phpBB2 om je forum te bekijken.
Terug naar het installatie menu.