Tutorials

Installatie Apache+Php+Mysql

Een complete Guide voor de mensen die het liever goed en zelf doen! De beter leesbare versie staat hier.

Pagina 1

Voorwoord en Benodigdheden

LET OP! Er staat hier een nieuwere en makkelijkere versie!

Je wilt graag een server lokaal om je nieuwe website of scripts te testen? Je ziet het niet meer zitten om continu je ftp programma aan te zwengelen voor iedere wijzinging die je aangebracht heb? Of wil je zelf thuis je (kleine) websites hosten maar vind je een linux installatie te ingewikkeld? Dan zul je waarschijnlijk wel wat hebben aan mijn installatie handleiding. Veel mensen kiezen ervoor om een 'out-of-the-box' systeem te installeren, maar persoonlijk heb ik liefst zelf iets meer in de hand. Daar komt nog eens bij dat je van zelf installeren veel meer leert, en het is leuker!

De guide ziet er lang en ingewikkeld uit, toch kan ik je vertellen dat als je het goed volgt je binnen een uurtje klaar bent, en je zeker weet dat je iets goeds in handen heb.

Ik ga er van uit dat we een computer tot onze beschikking hebben waar je administratie rechten op heb, en welke in een redelijke schone staat goed werkt. Mijn voorkeur gaat uit naar een vers geinstalleerde windows met alle beschikbare updates. Veiligheid is belangrijk en daarom kiezen we voor Windows 2000 pro (sp4), of Windows XP (pro sp2). De systeemeisen zijn vrij minimaal, een computer waar windows zichzelf op wilt installeren zal waarschijnlijk voldoende zijn.

We gaan nu de benodigde software downloaden. Voor mijn handleiding maken we gebruik van:



Check altijd hier of je de laatste versies heb. De bovenstaande zijn verouderd!

Alles gedownload? Mooi, dan kunnen we nu verder gaan! Enige wat wellicht handig zou kunnen zijn is een tekst editor die wellicht overweg kan met tabbladen, betere zoekfuncties en replace functies. Maar met kladblok gaat het ook prima.
Pagina 2

Installatie - Php

Nu we 'klaar' zijn met de installatie van Apache is het wel handig om PHP aan de praat te krijgen. Allereerst dubbelklikken we op de php-4.4.0-installer.msi zodat het installatie proces begint


Php Welkoms Venster

Allereerst klikken wij ons een weg door de licentie voorwaarde waarna we de mogelijkheid krijgen om te kiezen voor de 'standard' setup. Omdat we het mooi vinden installeren we Php in de map C:\Server\Php. Waarna we weer op volgende drukken. Hier krijgen we een intressant scherm te zien waar we de SMTP server van jou provider kunnen invullen, samen met jou mailadres. Dat is de makkelijkste optie. Een voorbeeld zou zijn 'smtp.xs4all.nl', met als from adres [email protected].


Php Smtp Installingen

Vervolgens krijgen we een lijst van alle ondersteunde webservers waar wij uiteraard kiezen voor Apache. Helaas kan de installer Php niet automatisch installeren, dus dat zullen we zo met de hand moeten doen. Na een aantal keer op OK gedrukt te hebben verdwijnt het setup programma, en waarschijnlijk is PHP dan goed geinstalleerd. Okay, we kunnen nu beginnen met het configuratie geneuzel. Dit is vrij pittig, dus let goed op!
Pagina 3

Installatie - PhpMyAdmin

Phpmyadmin is een erg handige tool om in de Mysql database te kunnen werken. Om die rede installeren wij hem ook! We kopieren alle bestanden uit phpMyAdmin-2.6.4-rc1.zip naar onze htdocs map. We maken wel eerst een mooi mapje 'phpmyadmin' zodat we het overzicht niet kwijtraken. Voordat we phpmyadmin kunnen gebruiken zullen we eerst het 'config.inc.php' bestand in de Phpmyadmin map moeten wijzigen. Open hem liever niet met kladblok, dat word gegarandeerd een chaos! Ergens in het bestand vinden we de optie $cfg['Servers'][$i]['password']. Hier moeten we tussen de haakjes (op dezelfde manier als erboven 'root' is ingevuld) het Mysql wachtwoord invoeren. We slaan het bestand op en surfen nu met onze browser naar http://localhost/phpmyadmin/.

Ey, wat krijgen we nu? Een error! Geen paniek als je de error '#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client' op je scherm krijgt. Dat is een bekend probleem! De technische uitleg: 'MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients'. Gelukkig is er een relatief simpele oplossing. We doen het volgende:

  • [item]Start -> Uitvoeren -> en drukken daar in CMD zodat we de command promt te zien krijgen. We bladeren naar 'c:\server\mysql\bin' en gebruiken daar het volgende commando: 'mysql -u root -p'. Vervolgens moeten we als het goed is ons zojuist ingevulde wachtwoord invullen waarna we een 'msqyl >' voor onze neus krijgen. [/item]
    [item]Nu tikken we in 'SET PASSWORD FOR' <enter> ''root'@'localhost' = OLD_PASSWORD('hierstaatjouwwachtwoord');'. Let erop dat je mijn quotes die om de zin staat niet meeneemt, maar de quotes om root, localhost en jouw wachtwoord juist weer wel.[/item]
    [item]Als het goed is krijgen we een 'Query OK, 0 rows affected (0.00 sec)' melding, dan kunnen we afsluiten met 'quit' en nog maar eens kijken of er in http://localhost/phpmyadmin/ kunnen komen.[/item]



Mysql Command prompt wachtwoord wijzigen


Phpmyadmin werkt!

Gefeliciteerd, als het goed is heb je nu een werkende Apache2 + Php + Mysql installatie op je computer staan.
Pagina 4

Installatie - Apache


Het Apache WelkomsScherm

We openen het apache_2.0.54-win32-x86-no_ssl.msi bestand waarna we het welkomst venster voor onze neus krijgen. Vervolgens krijgen we 2 vensters met de licentie voorwaarde en de readme. Je kunt ze allebei doorlezen of besluiten om op volgende te klikken. Vervolgens krijgen we het "Server Information" scherm voor onze neus die wellicht wel handig zijn om goed door te nemen. Als je de server lokaal gebruikt dan zullen de instellingen waarschijnlijk wel goed staan. Anders kan je ze waarschijnlijk aanpassen. Indien je meerdere websites heb dan zul je hier één website moeten invullen, de rest regelen we dan later. We kiezen ervoor om apache als service op poort 80 te installeren. Dan draaid hij altijd op de achtergrond. Je zou hem ook op handmatig kunnen zetten als je hem niet zo vaak gebruikt.


Apache Server Information

Het volgende scherm geeft ons de mogelijkheid om te kiezen tussen 'typical' of 'custom' manier van installatie. Om het een mooier geheel te houden kiezen wij voor custom. We verwijderen 2 pakketjes (Build Headers en Libery's & Iconv Code Pages) en kiezen er voor om Apache Http Server te installeren in c:\server\. De Apache Runtime zou dan geinstalleerd worden in c:\server\apache2\. Zodat we de servermap over hebben voor oa Mysql.


Apache Custom Setup

Vervolgens kunnen we eindelijk op de installatie knop drukken waarna de rest vanzelf gaat. Woei!


Apache Installatie Voltooid
Pagina 5

Configuratie - Apache + Php

Het eerste wat wij doen is het php-4.4.0-Win32.zip bestandje openen wat we hebben een bestandje nodig. In deze zip vinden wij in de map 'sapi' een 'php4apache2.dll' welke wij gaan kopieren naar de Php map (C:\Server\Php\). Gedaan? Mooi! Nu is het tijd om Apache te gaan bewerken! We gaan naar de 'conf' map in de Apache2 directory, en openen daar de httpd.conf tekstdocument (C:\Server\Apache2\conf\httpd.conf). Dit is het Apache configuratie bestand waarvandaan alles geregeld kan worden. We gaan opzoek naar een rijtje 'LoadModule' componenten waar we twee regels gaan toevoegen. Onder bijvoorbeeld #LoadModule ssl_module kunnen wij gaan toevoegen:

  • [item]LoadModule php4_module "c:/server/php/php4apache2.dll"[/item]
    [item]AddType application/x-httpd-php .php[/item]



Httpd.conf Configuratie

We slaan nu het bestand op (ctrl-s) en gaan Apache opnieuw opstarten. Dit kan op drie manieren:

  • [item]Linker muisknop op het Apache icoontje in je taakbalk, en dan kiezen voor restart [/item]
    [item]Start -> Programmas -> Apache HTTP Server 2.0.54 -> Control Apache Server -> Restart[/item]
    [item]Start -> Uitvoeren -> CMD en dan "c:\server\apache2\bin\apache -k restart"[/item]


Mijn voorkeur gaat uit naar de laatste mogelijkheid, als er dan fouten zijn dan krijg je die gewoon in beeld!

Nu word het spannend, dit word de eerste test waarbij we gaan kijken of alles gelukt is! We gaan surfen naar de htdocs map van Apache. Alles wat in deze map terecht komt is uiteindelijk ook via de Server opvraagbaar. We vinden die map in C:\Server\Apache2\htdocs. In de map staan al een aantal bestanden, deze kunnen we zonder problemen verwijderen om een schone start te maken. We gaan om te testen nu een .php bestand aanmaken met als naam 'phptest.php' en daarin zetten wij de volgende code:

<?php phpinfo(); ?>

Als het goed is kunnen wij nu met de internet browser surfen naar http://localhost of http://127.0.0.1. We krijgen dan de zogenaamde directory index van onze htdocs map met daarin één bestand, en dat is onze 'phptest.php'. Als we hier op klikken dan krijgen we een mooi overzicht van onze php installatie. Probeert je browser een bestand te downloaden? Dan heb je Apache en Php nog niet geconfigureerd, of wellicht ben je vergeten Apache te herstarten?


Phpinfo()
Pagina 6

Beveiligen - PhpMyAdmin (htacces + allow/deny)

en belangrijk onderdeel is het beveiligen van Phpmyadmin. Wel zo handig! Dat doen we op twee manieren. We passen Apache aan zodat alleen localhost in de phpmyadmin map kan komen. En we maken een htaccess bestand aan zodat je vervelende broertje die perongeluk achter jou computer zit geen schijn van kans maakt.

Een van de makkelijkste manieren is in de httpd.conf van Apache vertellen dat alleen jou computer (localhost) de Phpmyadmin map mag bereiken. Zodoende kan je buurman, broertje, of wellicht mensen van internet niet op jou Phpmyadmin komen. Dit is relatief makkelijk te realiseren, allereerst openen we de httpd.conf. We gaan opzoek naar de regel '<Directory "C:/Server/Apache2/htdocs">', en ergens een paar regeltjes daaronder word deze weer afgesloten met </Directory>, daaronder gaan wij wat toevoegen:

<Directory "C:/server/apache2/htdocs/phpMyAdmin">
Order allow,deny
Allow from 127.0.0.1
</Directory>

We slaan nu httpd.conf op, en herstarten apache weer. Als het goed is moet jij lokaal er nog wel opkomen, maar met een andere computer krijg je een 'forbidden' error.

Nu kan alleen jij nog op de phpmyadmin pagina, en nu is het dus tijd om dmv een .htaccess je vervelende broertje buiten te houden. Een htaccess systeem bestaat uit twee onderdelen.

  • [item]Een .htaccess waarmee we de directory beveiligen[/item]
    [item]Een .htpasswd met daarin de gebruikersnaam en wachtwoord[/item]


Als eerste maken we een .htpasswd waar we een wachtwoord in gaan zetten. We volgen het onderstaande stappenplan:

  • [item]Start -> Uitvoeren -> CMD -> 'cd c:\server\apache2\bin\'[/item]
    [item]'htpasswd -c .htpasswd gebruikersnaam', op de plek van 'gebruikersnaam' uiteraard je eigen gebruikersnaam! Gevolgd door Enter.[/item]
    [item]Je zult nu je gewenste wachtwoord moeten invullen.[/item]
    [item]Nu kopieren we de '.htpasswd' van 'C:\Server\Apache2\bin' naar een gemakkelijkere te onthouden locatie, bijv. 'C:\Server\Apache2\wachtwoord\'[/item]



Htpasswd Aangemaakt

We hebben nu de .htpasswd gemaakt, tijd om de .htaccess te maken. Open kladblok, en kopier hier het volgende in:

AuthUserFile "c:\server\apache2\wachtwoord\.htpasswd"
AuthGroupFile /dev/null
AuthName "Wachtwoord Beveiligd"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>


Htaccess Aangemaakt

Sla vervolgens dit bestand op als .htaccess in de phpmyadmin map. Als je nu surft naar http://www.localhost/phpmyadmin/ krijg je een mooi loginvenster voor je neus! Prachtig, we zijn klaar!


Wachtwoord vereist!
Pagina 7

Configuratie - Apache + Php deel 2

Als het goed is heb je Apache en Php nu goed draaien. Het is tijd dat we wat kleine aanpassingen gaan doen die ons later goed van pas kunnen gaan komen! Allereerst openen we httpd.conf om een kleine aanpassing te doen. Her en der in het document staan 'AllowOverride None' regels. Deze gaan we allemaal update naar 'AllowOverride All' zodat we zomenteen .htaccess bestanden kunnen gebruiken. Verder zou je er voor kunnen kiezen om onder de '<Directory "C:/Server/Apache2/htdocs">' regel de order allow/deny te veranderen van 'allow from all' naar 'deny from all', samen met een 'allow from localhost'. Dan komt niemand in jou apache map behalve jijzelf. Handig op een testbak, minder handig als ook andere mensen op de server zouden moeten komen. Vergeet niet te saven en opnieuw op te starten.

We maken nog een kleine aanpassing aan httpd.conf voordat ik het vergeet. Het is wel makkelijk om de regel 'DirectoryIndex index.html index.html.var' te vervangen door 'DirectoryIndex index.html index.htm index.php'. Zodat ook index.php bestanden gelijk geopend worden als we een map openen. Eventueel kan je ook andere 'hoofdpaginas' toevoegen zoals main.htm o.i.d.

Nu is het tijd om gdlibery te installeren. Dit is een handige php module welke ervoor zorgt dat we in de toekomst scripts kunnen gebruiken om mooie plaatjes automatisch mee te renderen.

  • [item]Maak een mapje 'extensions' aan in 'C:\Server\Php' [/item]
    [item]Kopier 'php_gd2.dll' uit de map 'extensions' uit het php-4.4.0-Win32.zip bestandje naar je zojuist gemaakte locatie 'C:\Server\Php\extensions' [/item]
    [item]We gaan naar 'C:\WINDOWS' of C:\WINNT' om daar het php.ini bestandje te openen [/item]
    [item]Ga opzoek naar 'extension_dir = "./"' [/item]
    [item]Vervang dit door 'extension_dir = "C:\Server\Php\extensions\"' [/item]
    [item]Zoek naar ';extension=php_gd2.dll' en haal hier die punt-komma voor weg (;)[/item]
    [item]Sla php.ini op en herstart apache2![/item]


Als het goed is en we openen onze phptest.php weer dan moet er ergens in de lijst een kopje GD staan met daarin 'GD Support enabled'. Dit betekend dat we hiermee klaar zijn!


GDLibery werkt!

Een andere handige extensie is 'php_mbstring.dll', welke we later gebruiken voor Phpmyadmin. Doe dit op dezelfde manier als de 'php_gd2.dll'. Hij staat in dezelfde map in het zipje, kan in dezelfde extensions map, en ook zul je het punt-komma dingetje weg moeten halen in de php.ini.
Pagina 8

Tot slot

Het kost iets meer moeite, maar het is uiteindelijk de moeite waard om het zelf te doen. Niet heb je alleen meer zelf in de hand, ook vergaar je meer informatie!

Kom je er niet uit? Check de FAQ. De meeste vraag en antwoorden die ik krijg staan erin!

Extra guides:

Phpbb installatie.
Webalizer Statistieken

- Arjan
Pagina 9

Installatie - Mysql

Bij de installatie van Mysql is het goed opletten geblazen omdat we niet willen dat iedereen op onze server leuk de database leeg zou kunnen gooien. Allereerst openen we de mysql-essential-4.1.14-win32 installer. Eerst worden we welkom geheten waarna we kiezen voor de 'Custom' setup. We installeren Mysql in de map c:\Server\Mysql\. Na de installatie skippen we de Sign-Up tenzij je het leuk vind om je te registeren.


Mysql Custom Setup

We zijn klaar met de installatie en krijgen de mogelijkheid om te configureren. Dat doen wij graag en daarom drukken wij een aantal keer op volgende. We kiezen voor een 'Standard Configuration' tenzij je weet wat je doet. We installeren Mysql als standaard windows installatie en tevens kiezen wij voor de optie 'Include Bin Directory in Windows PATH'. Dit is zodat we mysql later makkelijk vanaf de command prompt aan kunnen spreken.


Mysql Configuratie

We krijgen op het volgende venster de mogelijkheid om een root account aan te maken met een mooi wachtwoord. Doe dit dan ook! Kies NIET voor de optie 'Enable root access from remote machines', en creeër ook GEEN Anouymous Account! We klikken nog een keer op volgende en als het goed is zal nu de installatie beginnen te lopen. Binnen enkele seconden zijn we ook hier mee klaar!

Nu is het tijd om te controlleren of onze installatie gelukt is. We gaan naar Start -> Uitvoeren -> en drukken daar in CMD zodat we de command promt te zien krijgen. We bladeren naar 'c:\server\mysql\bin' en gebruiken daar het volgende commando: 'mysql -u root -p'. Vervolgens moeten we als het goed is ons zojuist ingevulde wachtwoord invullen waarna we een 'msqyl >' voor onze neus krijgen. Als dit juist is dan kunnen we nu intikken 'exit' want Mysql werkt ook!


Mysql Command Prompt

Reacties

0
Nog geen reacties.