Les 2

De installatie van PHP.

In deze les leert u hoe u PHP kunt installeren, hoe een webserver eruit ziet en waar u rekening mee moet houden als u pagina's upload naar een webhoster.
Er bestaan 2 manieren om alles op je computer te installeren. Een gemakkelijke en moeilijke manier. Bij de moeilijke manier moet je op zoek naar een webserver, database software en de versie 5 van PHP, waarna je alles afzonderlijk gaat installeren, en nadien ervoor zorgen dat alles correct samenwerkt.


Ik kies voor de gemakkelijke methode. We downloaden een alles in één pakket dat voor ons alles installeert en ervoor zorgt dat alles ook dadelijk goed met elkaar samenwerkt. Op het net zijn verschillende van deze alles in één oplossing te vinden. Mijn keuze is wampserver, en dat is de serversoftware die ik dan ook gebruik voor dit boek.
Wampserver is te downloaden vanaf http://www.wampserver.com/en/download.php. Nadat je de software hebt binnengehaald, dubbelklik erop om het te installeren. Tijdens de installatie van wampserver neem steeds de defaults aan dat het programma voorstelt. Nadat alles geïnstalleerd is, zal je op je c:\ schijf een nieuwe map wamp hebben. Dat is alles, en geef toe, eenvoudiger kan het niet.



Ga nu naar Start->WampServer en klik op start Wampserver. Nadat je erop hebt geklikt gebeurt er eigenlijk niet veel, alleen komt er in de systray ( rechts vanonder in het scherm ) een icoontje bij in de vorm van een toerenteller. Klik nu op het icoontje, en kies voor de bovenste optie, namelijk Localhost. Je webbrowser gaat nu opstarten en je ziet de wampserver pagina.

Hoe werkt een webserver ?

We gaan hier niet technisch gaan doen, alleen wat je moet weten om je scripts te schrijven en hoe je die kan bewonderen.


Een webserver heeft een documentroot. Dat is een bepaalde map waar de webserver op zoek gaat naar de pagina's die hij moet tonen. Als je de defaults hebt aangehouden tijdens de installatie zoals ik had voorgesteld, bevind je documenroot zich in c:\wamp\www. Als je nu op het wampserver icoontje klikt en je kiest voor www directory, ga je zien wat er reeds in deze map staat.



Wat gebeurt er nu als je op het icoontje van wampserver klikt en je kiest voor localhost ? Aangezien je zelf niet bepaalt welke pagina hij moet tonen, gaat de webserver op zoek in de www map naar een file met de naam index.html, index.htm of index.php . Vindt hij er eentje, in ons geval index.php, dan toont hij deze in je browser. Neem nu bijvoorbeeld dat je een webpagina hebt met de naam test.html, en je wilt deze zien, in je browser tik je dan http://localhost/test.html, waarna de webbrowser de gevraagde pagina gaat tonen. Wat als er nu geen index.*  (* staat voor html, htm of php )pagina aanwezig is in de www directory ? Klik nu eens op het wampserver icoontje en kikes voor www directory. Hernoem de file index.php naar wampindex.php ( rechts klikken op de file index.php en dan kiezen voor naam wijzigen ). Nadat je dit hebt gedaan, klik terug op het wampserver icoontje en kies terug voor localhost. Aangezien de webserver nu geen enkele pagina vindt met een naam index.* toont hij dan maar de ganse inhoud van de map www. Lokaal is dat geen enkel probleem. Als je site echter online staat, kan iedereen alle files zien in je www map, en soms willen we dat niet. Men zou een file kunnen opvragen die gevoelige informatie bevat. Hoe kunnen we dit voorkomen ? Door gebruik te maken van een .htaccess file. Onder windows is er echter een probleem om een dergelijke file aan te maken. Aangezien de extensie van een file zeer belangrijk is voor windows ( de extensie zijn de 3 letters na de punt van een filenaam .exe, .gif, .txt ) ga je van zodra je probeert een .htaccess file aan te maken, een fout krijgen dat het bestand een naam moet hebben. Om dit op te lossen gaan we de file onder windows gewoon htaccess noemen en passen we de apache config file daarvoor aan.


Unix gebruikers hoeven enkel punt 3 uit te voeren en de file blijft gewoon .htaccess .



1.

Klik op het icoontje van wampserver, kies dan voor Config files, en klik dan op httpd.conf.
Kladbok wordt nu gestart en je ziet de inhoud van de httpd.conf file. Ga op zoek in deze file naar het volgende gedeelte :
#
# AccessFileName: The name of the file to look for in each directory
# for access control information.
#
AccessFileName .htaccess
#
# The following lines prevent .htaccess files from being viewed by
# Web clients.  Since .htaccess files often contain authorization
# information, access is disallowed for security reasons.  Comment
# these lines out if you want Web visitors to see the contents of
# .htaccess files.  If you change the AccessFileName directive above,
# be sure to make the corresponding changes here.
#
# Also, folks tend to use names such as .htpasswd for password
# files, so this will protect those as well.
#
<Files ~ "^?\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

2.

Verander de regel AccessFileName .htaccess door AccessFileName htaccess, en vervolgens de regel <Files ~ "^?\.ht"> door <Files ~ "htaccess"> en sla het bestand op.

3.

Open nu kladbok ( notepad ) en plaats daarin volgende tekst :

# Disable directory listings on our whole site
Options –Indexes

Sla het bestand op als htaccess in je map c:\wamp\www\. Let op de schrijfwijze, 2x c en 2x s !  Kladbok gaat nu auto .txt achteraan het bestand hangen. Klik nu terug op het wampserver icoontje en kies voor www directory, en hernoem de file naar htaccess, dus zonder de .txt extensie. Kladbok gaat nu reageren dat het bestand niet meer leesbaar gaat worden als je de extensie veranderd, maar dat geeft niet. Als de file hernoemd is, klik terug op het wampserver icoontje en kies nu voor Restart All Services.
Als het wampserver icoontje nu terug wit is, klik er terug op en kies voor localhost. En dan ga je dit krijgen :

Forbidden


You don't have permission to access / on this server.

Apache/1.3.33 Server at localhost Port 80


Zo, dat is stukken beter.

Als je nu niets in die config file wilt veranderen kan het ook op een andere manier. Maak in de mappen waarvan je zeker wilt dat ze de inhoud niet kunnen opvragen, gewoon een ledige index.html file aan. Is zeer efficient.

Of je maakt een index.html file aan met de volgende inhoud (lijkt het wat echter)

<html>
<head>
<title>Apache error !</title>
</head>
<body>
<b><h3>Forbidden</h3></b><br>
<b>You don't have permission to access / on this server.</b><br>
<br>
Apache/1.3.33 Server at localhost Port 80<br>
</body>
</html>


Zoals gezegd, de webserver gaat kijken in zijn documentroot naar een pagina index.* Als je nu in deze map een nieuwe map aanmaakt, laat ons deze nu eens mijnsite noemen, en je surft dan naar http://localhost/mijnsite, dan gaat de webserver in deze map gaan zoeken naar een index.* file. Is die er niet, dan gaat hij terug de inhoud van de map tonen. Omdat opnieuw te voorkomen, hoef je alleen de htaccess file naar de nieuwe map te kopiëren.

En nu iets heel belangrijks !

Hou er rekening mee dat je webhoster, waar je je pagina's naartoe upload, hoogstwaarschijnlijk gebruik zal maken van een unix server. Daar is niets mis mee, maar hou rekening met het volgende :
Het gebruik van hoofdletters en kleine letters voor namen van pagina's is van groot belang op een unix systeem. De webserver gaat op zoek naar een index.html en NIET naar een Index.html . Als je een pagina opslaat als Test.php, ga je die ook op de server moeten opvragen als Test.php. Voor windows maakt dit allemaal niets uit, want in de achtergrond brengt windows alles tot uppercase. Als je onder windows dus Test.html of TEST.html of tESt.html schrijft, en je vraagt test.html op, zal windows zonder morren de test.html file tonen, ongeacht hoe je die hebt opgeslagen. Onder unix zijn dat allemaal andere files !
Waar een unix servers ook moeilijk mee overweg kan, zijn spaties in bestandsnamen of mappen. Dus een map Mijn Fotos aanmaken moet je vermijden. Noem die gewoon mijn_fotos, waarbij je de spatie vervangt door een underscore. En Mijn Foto's is de correcte schrijfwijze, maar totaal uit den boze.


Maak er dus een gewoonte van om alles in kleine letters te schrijven en spaties te vervangen door underscores, en het zal je veel ellende besparen.



Nu dat onze webserver werkt, wordt het tijd om te starten met PHP.
De configuratie van de MySQL server wordt later in dir boek besproken. We hebben dit in eerste instantie niet nodig om PHP code te schrijven.

Onze teksteditor.

Kladbok is nu voldoende om onze scripts in PHP te schrijven. Kladbok heeft wel een klein foutje, die kan enkel bestanden opslaan als .txt bestanden. Als je in kladbok een file index.php aanmaakt en je slaat die op, gaat kladbok er index.php.txt van maken. Als we dan steeds onze files gaan moeten hernoemen, is dat moeilijk werken.
Natuurlijk bestaan er speciale editors om onze PHP code mee te schrijven. Deze editors hebben heel wat tools aan boord om jouw het leven te vergemakkelijken. Als je op zoek gaat op het internet naar php editor, ga je er een ganse reeks vinden, de één wat beter dan de andere, de één wat duurder dan de andere enz…

Ikzelf gebruik de gratis editor Crimson, die je kan downloaden op http://www.crimsoneditor.com. Je hoeft dus geen geld uit te geven voor een php editor en deze gratis Crimson editor heeft enkele nuttige tools aan boord die ik ten gepaste tijde ga gebruiken. Je bent tot niets verplicht, gebruik de editor die je zelf het leukst vindt, maar in mijn voorbeelden ga ik soms verwijzen naar die nuttige tools van de Crimson editor.


Les 1 Les 2 Les 3 Les 4 Les 5 Les 6 Les 7 Les 8 Les 9 Les 10 Les 11 Les 12 Les 13 Home