- De leerlingen kunnen PHP installeren en testen op een Apache-webserver
- De leerlingen kunnen MariaDB beveiligd installeren en configureren
- De leerlingen kunnen een database en databasegebruiker aanmaken met beperkte rechten
- De leerlingen kunnen PHP verbinden met een MySQL/MariaDB-database
- De leerlingen kunnen een volledige LAMP-stack opzetten en valideren
In de vorige lessen heb je een webserver (Apache) geïnstalleerd en beveiligd. Maar een moderne website is meer dan alleen tekst en plaatjes; het heeft een "brein" nodig om logica uit te voeren en een "geheugen" om gegevens op te slaan.
In deze les voegen we PHP toe om scripts uit te voeren en MariaDB om een database te beheren.
1. PHP Installeren
PHP is de scripttaal die op de server wordt uitgevoerd voordat de pagina naar de bezoeker wordt gestuurd.
- Open je terminal en log in op je VPS.
- Installeer PHP en de module die zorgt dat PHP met de database kan praten:
sudo apt install php libapache2-mod-php php-mysql -y - Controleer of PHP werkt door de versie op te vragen:
php -v
Test je PHP-configuratie
We maken een klein scriptje om te kijken of Apache de PHP-bestanden wel begrijpt.
- Ga naar je webmap:
cd /var/www/html(of de map van je domein). - Maak een testbestand:
sudo nano info.php - Typ de volgende code in het bestand:
<?php
phpinfo();
?>
- Sla op (CTRL+O, Enter) en sluit af (CTRL+X).
- Surf naar
https://jouwsubdomein.rakithi.online/info.php. Zie je een paarse tabel met gegevens? Dan werkt PHP!
Beveiligingstip: Verwijder dit bestand (
sudo rm info.php) zodra je klaar bent. Het geeft teveel informatie over je server aan hackers.
2. De Database (MariaDB) instellen
We gebruiken MariaDB, een populaire en opensource versie van MySQL.
- Installatie:
sudo apt install mariadb-server -y - Beveiliging:
Voer het beveiligingsscript uit om onnodige toegangen te blokkeren:
sudo mysql_secure_installation- Set root password? Y (Maak een sterk paswoord aan met je paswoordmanager, bewaar het en vul het hier in!)
- Remove anonymous users? Y
- Disallow root login remotely? Y
- Remove test database? Y
- Reload privilege tables? Y
3. Een Database en Gebruiker aanmaken
Het is onveilig om je website direct met het 'root'-account van de database te verbinden. We maken een specifieke database en een gebruiker aan.
Maak een sterk paswoord aan met je paswoordmanager en bewaar het. Gebruik het hieronder bij het aanmaken van de gebruiker.
- Log in op de database-monitor:
sudo mariadb -u root -p - Voer de volgende commando's uit (vervang de tekst tussen haakjes):
CREATE DATABASE mijn_website;
CREATE USER 'web_user'@'localhost' IDENTIFIED BY 'Wachtwoord123!'; -- use your generated password
GRANT ALL PRIVILEGES ON mijn_website.* TO 'web_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
4. PHP koppelen aan de Database
Nu gaan we testen of PHP gegevens uit de database kan halen.
- Maak een nieuw bestand aan:
sudo nano db_test.php - Gebruik de volgende PHP-code om een verbinding te maken:
<?php
$host = "localhost";
$user = "web_user";
$pass = "Wachtwoord123!"; // use same password as above
$db = "mijn_website";
$conn = new mysqli($host, $user, $pass, $db);
if ($conn->connect_error) {
die("Verbinding mislukt: " . $conn->connect_error);
}
echo "Verbonden met de database! De LAMP-stack is nu volledig operationeel.";
?>
- Surf naar
https://jouwsubdomein.rakithi.online/db_test.php. Als je de succesmelding ziet, ben je officieel een full-stack server beheerder!
Samenvatting
Je hebt nu een volledige LAMP-stack (Linux, Apache, MariaDB, PHP) draaien op je eigen VPS. Je kunt nu je eigen webapplicaties installeren.
- PHP installeren en testen op Apache
- MariaDB beveiligd installeren en configureren
- Een database en databasegebruiker met beperkte rechten aanmaken
- PHP verbinden met een MySQL/MariaDB-database
- Een volledige LAMP-stack opzetten en valideren


