Installeer LAMP Stack op Debian 11

De LAMP Stack is een gemeenschappelijke verzameling van open-source hulpmiddelen die gebruikt worden om websites en toepassingen op het web te hosten. De LAMP Stack is een web-ontwikkelingsplatform dat Linux gebruikt als besturingssysteem, Apache als webserver, MariaDB/MySQL als databaseserver, en PHP als scripting taal. Het wordt zo wijd en zijd gebruikt en biedt een beproefde set software voor het leveren van hoog-performante web-applicaties.

In deze handleiding laten we je zien hoe je de LAMP stack op Debian 11 kunt installeren.

Vereisten

  • Een server met Debian 11.
  • Een geldige domeinnaam gekoppeld aan het IP van je server.
  • Een root wachtwoord is op de server ingesteld.

Installeer Apache webserver

Het Apache webserver pakket is opgenomen in de standaard repository van Debian 11. Je kunt het installeren door gewoon het volgende commando uit te voeren:

apt-get install apache2 apache2-utils -y

Controleer na de installatie van de Apache webserver de geïnstalleerde versie van Apache met het volgende commando:

apache2 -v

Je zou de volgende uitvoer moeten zien:

Server version: Apache/2.4.48 (Debian)
Server built:   2021-08-12T11:51:47

Om de Apache dienst te starten, voer je het volgende commando uit:

systemctl start apache2

Om de Apache dienst in te schakelen zodat hij start bij het opstarten van het systeem, voer je het volgende commando uit:

systemctl enable apache2

Je kunt ook de volledige status van de Apache controleren met het volgende commando:

apt-get install elinks
apache2ctl fullstatus

Je zou de volgende uitvoer moeten zien:

 Apache Server Status for localhost (via ::1)

   Server Version: Apache/2.4.48 (Debian)

   Server MPM: prefork

   Server Built: 2021-08-12T11:51:47

   --------------------------------------------------------------------------

   Current Time: Tuesday, 17-Aug-2021 09:29:41 UTC

   Restart Time: Tuesday, 17-Aug-2021 09:29:33 UTC

   Parent Server Config. Generation: 1

   Parent Server MPM Generation: 0

   Server uptime: 7 seconds

   Server load: 0.05 0.01 0.00

   Total accesses: 0 - Total Traffic: 0 kB - Total Duration: 0

   CPU Usage: u.03 s.02 cu0 cs0 - .714% CPU load

   0 requests/sec - 0 B/second

   1 requests currently being processed, 4 idle workers

Apache draait standaard op poort 80, je kunt het controleren met het volgende commando:

ss -antpl | grep apache2

Je zou de volgende uitvoer moeten krijgen:

LISTEN 0      511                *:80              *:*    users:(("apache2",pid=44022,fd=4),("apache2",pid=44021,fd=4),("apache2",pid=44020,fd=4),("apache2",pid=44019,fd=4),("apache2",pid=44018,fd=4),("apache2",pid=44017,fd=4))

Je kunt de Apache installatie ook controleren door naar de URL http://your-server-ip te surfen . Je zou de Apache testpagina op het volgende scherm moeten zien:

Debian standaard pagina

Installeer MariaDB Database Server

MariaDB is een databankbeheersysteem dat gebruikt wordt om gegevens voor je website op te slaan en te beheren. Je kunt het installeren met het volgende commando:

apt-get install mariadb-server -y

Als de MariaDB geïnstalleerd is, start je de MariaDB dienst en zet je hem aan om te starten bij het opstarten van het systeem met het volgende commando:

systemctl start mariadb
systemctl enable mariadb

Je kunt ook de status van de MariaDB dienst controleren met het volgende commando:

systemctl status mariadb

Je zou de volgende uitvoer moeten zien:

? mariadb.service - MariaDB 10.3.31 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1838 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 2353)
     Memory: 66.1M
     CGroup: /system.slice/mariadb.service
             ??1838 /usr/sbin/mysqld

Het is ook aan te bevelen je MariaDB installatie te beveiligen en een MariaDB root wachtwoord in te stellen. Je kunt het script mysql_secure_installation uitvoeren om de MariaDB installatie te beveiligen:

mysql_secure_installation

Je wordt gevraagd een MariaDB root wachtwoord in te stellen, anonieme gebruikers te verwijderen, root login op afstand te verbieden en de testdatabase te verwijderen, zoals hieronder te zien is:

Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Standaard draait MariaDB op poort 3306. Je kunt dat controleren met het volgende commando:

ss -antpl | grep mariadb

Je zou het volgende commando moeten zien:

LISTEN 0      80         127.0.0.1:3306      0.0.0.0:*    users:(("mariadbd",pid=12181,fd=15))

Om de MariaDB shell te verbinden, voer je het volgende commando uit:

mysql -u root -p

Geef je MariaDB root wachtwoord en druk op Enter om verbinding te maken met de MariaDB shell. Zodra je verbonden bent, zou je de volgende uitvoer moeten zien:

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Voer nu het volgende commando uit om de MariaDB versie te controleren:

MariaDB [(none)]> SELECT VERSION();

Je zou de volgende uitvoer moeten zien:

+-------------------+
| VERSION()         |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)

Installeer PHP verwerkingstaal

PHP is de verwerkingstaal die gebruikt wordt om PHP toepassingen op de webserver te serveren. Standaard is de versie van PHP die in Debian 11 beschikbaar is, PHP 7.4. Je kunt PHP met andere veelgebruikte uitbreidingen installeren met het volgende commando:

apt-get install php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml -y

Zodra PHP geïnstalleerd is, controleer je de PHP versie met het volgende commando:

php -v

Je zou de volgende uitvoer moeten zien:

PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

Maak een Virtuele Host voor Apache

Op dit punt is de LAMP stack in je server geïnstalleerd. Nu moet je een Apache virtuele host configuratiebestand maken om een toepassing te hosten.

Hier maken we een map example.com aan voor het hosten van een PHP pagina. Je kunt hem aanmaken met het volgende commando:

mkdir /var/www/html/example.com

Zet vervolgens het eigendom van de map example.com op www-data:

chown -R www-data:www-data /var/www/html/example.com

Maak vervolgens een Apache virtual host configuratiebestand aan met het volgende commando:

nano /etc/apache2/sites-available/example.com.conf

Voeg de volgende regels toe:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName example.com
    DocumentRoot /var/www/html/example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Sla het bestand op en sluit het af, activeer dan de example.com virtuele host en schakel de standaard virtuele host uit met het volgende commando:

a2ensite example.com.conf
a2dissite 000-default

Controleer vervolgens het virtual host bestand op syntaxfouten met het volgende commando:

apache2ctl configtest

Als alles in orde is, zou je de volgende uitvoer moeten zien:

Syntax OK

Herstart tenslotte de Apache dienst om de configuratiewijzigingen toe te passen:

systemctl reload apache2

Je kunt ook de status van de Apache dienst controleren met het volgende commando:

systemctl status apache2

Je zou de volgende uitvoer moeten zien:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:30 UTC; 2min 56s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2257 (apache2)
      Tasks: 55 (limit: 2353)
     Memory: 5.3M
     CGroup: /system.slice/apache2.service
             ??2257 /usr/sbin/apache2 -k start
             ??2259 /usr/sbin/apache2 -k start
             ??2260 /usr/sbin/apache2 -k start

Aug 21 04:13:30 debian11 systemd[1]: Starting The Apache HTTP Server...
Aug 21 04:13:30 debian11 apachectl[2246]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 216.9>
Aug 21 04:13:30 debian11 systemd[1]: Started The Apache HTTP Server.

Verifieer de PHP installatie op Apache

Vervolgens moet je een voorbeeld PHP bestand maken om over de Apache webserver te serveren. Je kunt een phpinfo.php bestand maken binnen je map example.com:

nano /var/www/html/example.com/phpinfo.php

Voeg de volgende regel toe:

<?php phpinfo(); ?>

Bewaar en sluit het bestand, open dan je web browser en open je PHP pagina met de URL http://example.com/phpinfo.php. Je zou je PHP pagina op het volgende scherm moeten zien:

PHP op Debian 11

Conclusie

In de bovenstaande gids hebben we uitgelegd hoe je de LAMP stack op Debian 11 kunt installeren. Je kunt nu beginnen met het hosten van je eerste website met de LAMP stack. Voel je vrij me te vragen als je vragen hebt.