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:
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 webmaster@localhost 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:
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.