Valid HTML 4.01! Valid CSS
Anybrowser

Navigatie:


Home - Linux gevorderden - Apache, MySQL en PHP

logo

.


Home

Printbaar

Nieuws

Nieuwe distributie
Onlangs zijn we overgestapt op een nieuwe Linux-distributie, nl. Pardus Linux

Dit lijkt ons een prima distributie, zowel voor beginners als experts.

2. APACHE, MySQL en PHP INSTALLEREN

Voorbereidingen

Als je zelf een webserver onder Linux op wilt zetten, bijvoorbeeld om je zelf te ontwikkelen site lokaal te kunnen bekijken, moet je er allereerst voor zorgen, dat je de eventuele bestaande installaties van deze programma's verwijdert.
Dat kun je doen door (als ze d.m.v. rpm geínstalleerd zijn) de opdracht rpm -e apache te geven (doe dat wel als root), of voor de andere programma's rpm -e mysql en rpm -e php.

Mocht je ze eerder zelf gecompileerd hebben, dan moet je ze "met de hand" verwijderen. Zoek ze op met de zoek-opdracht locate apache e.d., en verwijder alle directories en evt. (configuratie-)bestanden die je zo vindt.

Dan wordt het tijd om de nieuwe broncode te downloaden:

Het totaal zal op zo'n kleine 20Mb komen.

Nu volgt het uitpakken van de 3 tarballs:

   gzip -dc apache_x.x.x.tar.gz | tar xvf -
   gzip -dc mysql-x.x.x.tar.gz | tar xvf -
   gzip -dc php-x.x.x.tar.gz | tar xvf -

Op de x-tekens moet je natuurlijk het door jou gedownloade versie-nummer invullen...!

MySQL installeren

Na al dat uitpakken ga je naar de nieuw gemaakte mysql-directory en runt daar het configuratie-script:

   ./configure --prefix=/usr/local/mysql

Na het configuratie-process geef je een make en een make install (dit laatste als root!).

Je bent dan echter nog niet klaar. Er zijn nog enkele commando's nodig om de boel (voor wat betreft MySQL) af te ronden:

   groupadd mysql
   useradd -g mysql mysql
   scripts/mysql_install_db
   chown -R root /usr/local/mysql
   chown -R mysql /usr/local/mysql/var
   chgrp -R mysql /usr/local/mysql
   cp support-files/my-medium.cnf /etc/my.cnf
   /usr/local/mysql/bin/safe_myqsld --user=mysql &

Hiermee is de installatie van MySQL afgerond en draait het programma (dankzij de laatste opdracht) op de achtergrond.

Apache, deel 1

Daar kunnen we kort over zijn: apache moet eerst even geconfigureerd worden voordat we aan php kunnen beginnen:

   cd ../apache_x.x.x
   ./configure --prefix=/usr/local/apache

En dat is (voorlopig) alles voor apache!

PHP

Nu kunnen we php gaan installeren:

   cd ../php-x.x.x
   ./configure --with-mysql=/usr/local/mysql --with-apache=../apache_x.x.x \
        --enable-track-vars
   make
   make install

Nu moet het php.ini bestand nog gecopieerd worden:

   mv php.ini-dist /usr/local/lib/php.ini

en moet php.ini nog "bewerkt" worden. Open het daartoe in een tekst-editor en zoek de regel met register_globals en zet die on.

Apache, deel 2

Nu gaan we apache ècht installeren:

   ./configure --prefix=/usr/local/apache --enable-module=so \
        --activate-module=src/modules/php4/libphp.a
   make
   make install

Nu moet /usr/local/apache/conf/httpd.conf nog bewerkt worden met een teksteditor. Zoek eerst de regel met DirectoryIndex index.html en verander die in DirectoryIndex index.html index.php

Voeg ook ergens in het bestand de volgende regel toe: AddType application/x-httpd-php .php.

Nu ben je klaar met de installatie. Nog even testen of je geen fouten gemaakt hebt in je httpd.conf: /usr/local/apache/bin/apachectl configtest. Als alles goed is krijg je een Syntax OK terug.

Nu kan de zaak echt opgestart worden:

   /usr/local/apache/bin/apachectl start

Maak om de zaak te testen even een bestandje met de naam test.php aan en zet daarin de volgende "code": . Sla dit bestand op in /usr/local/apache/htdocs/. Open met je browser het adres http://localhost/test.php en als het goed is zie je een lange pagina met allerlei php-informatie.

Als alle gelukt is mag je de directory /usr/local/apache/htdocs leeg halen (tenzij je die documentatie wilt bewaren) en er je eigen site in zetten!

Puntjes op de i

Na een reboot zal je webserver op deze manier echter niet meer draaien. Om dit iedere keer met de hand te kunnen doen is een scriptje wel erg handig:

   #!/bin/bash
   /usr/local/mysql/bin/safe_mysqld --user=mysql &
   /usr/local/apache/bin/apachectl start
   cd

Maak het scriptje uitvoerbaar en zet het op een plaats waar het makkelijk is op te starten. Hou er wel rekening mee, dat de verschillende programma's alleen door root opgestart mogen worden.

Wil je de zaak gewoon met iedere reboot automatisch opgestart hebben, dan zul je e.e.a. in je opstart-scripts moeten verwerken, hetgeen weer afhankelijk is van je distributie. Dat mag je dus zelf uitzoeken...


Laatst herzien op 25-09-2005