In dit artikel beschrijven we het installatieproces van de LAMP-stack op een server met het CentOS Stream-besturingssysteem. U leert stap voor stap hoe u elk onderdeel configureert en hoe u de functionaliteit van de geïnstalleerde stack controleert. Voor gebruikers die met Debian/Ubuntu-distributies werken, wordt een vergelijkbaar LAMP-installatieproces beschreven in een ander artikel van ons.
De LAMP-stack bestaat uit een set software, waaronder het Linux-besturingssysteem, de Apache-webserver, het MySQL- of MariaDB-databasebeheersysteem en de PHP-scripttaal. Deze componenten werken samen om een krachtig en flexibel platform te creëren voor het implementeren van webapplicaties en websites.
Servervoorbereiding
Voordat u met de installatie begint, moeten er een aantal voorbereidende stappen worden ondernomen.
Overschakelen naar de Supergebruiker
Allereerst moet u superuser (root) privileges verkrijgen, aangezien de meeste commando's die nodig zijn voor server setup verhoogde rechten nodig hebben. Voer de volgende opdracht in om over te schakelen naar de root gebruiker:
su -
Systeem update
Vervolgens wordt aanbevolen om alle geïnstalleerde pakketten te updaten naar de nieuwste versies. Om te updaten, voer de opdracht uit:
dnf update -y
Firewall-configuratie
Om de beveiliging van uw server te garanderen, moet u toegangsregels configureren. CentOS Stream gebruikt standaard firewalld als het regelbeheersysteem. Zorg ervoor dat firewalld is geïnstalleerd en actief is:
systemctl status firewalld
Open vervolgens de poorten die door de LAMP-stack worden gebruikt:
- HTTP (poort 80) voor websitetoegang;
- HTTPS (poort 443) voor veilige websitetoegang;
- MySQL (poort 3306) voor databasetoegang (als een externe verbinding vereist is).
Gebruik de volgende opdrachten om deze poorten te openen:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=3306/tcp
Voeg ook een regel toe voor SSH-verbindingen:
firewall-cmd --permanent --add-port=22/tcp
Nadat u alle benodigde regels hebt toegevoegd, laadt u de firewall-instellingen opnieuw:
firewall-cmd --reload
Controleer of de firewall correct werkt. Voer de volgende opdracht uit om alle regels te bekijken:
firewall-cmd --list-all
Apache-installatie
Om Apache te installeren, gebruikt u de DNF-pakketbeheerder. Als u alleen de basisversie van Apache nodig hebt, gebruikt u de volgende opdracht:
dnf install httpd -y
Naast de basisinstallatie van Apache kunt u ook verschillende hulpprogramma's en modules toevoegen om de functionaliteit uit te breiden en de beveiliging van de webserver te verbeteren. De syntaxis van deze opdracht is:
dnf install additional_packages –y
Om de service samen met extra pakketten te installeren, ziet de opdracht er als volgt uit:
dnf install httpd additional_packages -y
Raadpleeg de officiële documentatie om vertrouwd te raken met de beschikbare hulpprogramma's en modules.
Nadat u Apache hebt geïnstalleerd, start u het programma en voegt u het toe aan het opstarten:
systemctl start httpd
systemctl enable httpd
Controleer de status van de service met de opdracht:
systemctl status httpd
In dit stadium kunt u een webbrowser openen en het IP-adres van de server in de adresbalk invoeren. U zou de welkomstpagina van Apache moeten zien, die aangeeft dat de installatie succesvol is:
Standaard bevindt Apache zich op CentOS in de map /etc/httpd . Deze map bevat diverse submappen en bestanden die worden gebruikt voor de configuratie en het beheer van de server.
Websitebestanden, zoals HTML, CSS en JavaScript, moeten in de map /var/www/html worden geplaatst . Alle bestanden in deze map zijn toegankelijk via het adres van uw website.
MySQL-installatie
In deze sectie bekijken we het proces van het installeren en configureren van MariaDB op een CentOS Stream-server. MariaDB is een fork van MySQL die compatibiliteit met MySQL behoudt, maar verbeterde prestaties, uitgebreide functies en een actieve ontwikkelaarscommunity biedt. Gebruik de opdracht om de tool te installeren:
dnf install mariadb-server mariadb -y
Start na de installatie de service en zorg ervoor dat deze bij het opstarten van het systeem wordt gestart:
systemctl start mariadb
systemctl enable mariadb
Gebruik de volgende opdracht om te controleren of de MariaDB-service correct wordt uitgevoerd:
systemctl status mariadb
MariaDB biedt een beveiligingsinstallatiescript waarmee u onveilige standaardinstellingen kunt verwijderen en de database kunt beschermen. Voer het uit:
sudo mysql_secure_installation
Tijdens de uitvoering van het script wordt u gevraagd verschillende stappen uit te voeren:
- Stel een wachtwoord in voor de rootgebruiker (indien nog niet ingesteld);
- Anonieme gebruikers verwijderen;
- Sta geen externe aanmelding als root toe;
- Verwijder de testdatabase en de toegang ertoe;
- Laad de privilegetabellen opnieuw om de wijzigingen toe te passen.
Het is aan te raden om in alle fasen bevestigend (y) te antwoorden.
Nadat u de initiële beveiligingsinstelling hebt voltooid, kunt u verbinding maken met MariaDB. Voer hiervoor de opdracht uit:
mysql -u root -p
Om te verzekeren dat MariaDB correct werkt, is het aan te raden om een testdatabase te maken. Voer de volgende opdrachten uit in de MariaDB-console:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
INSERT INTO test_table (name) VALUES ('example data');
SELECT * FROM test_table;
Deze opdrachten maken een nieuwe database testdb, een tabel test_table, en voegen één record toe. Ze geven vervolgens de inhoud van de tabel weer ter verificatie:
Om de shell te verlaten, gebruikt u de opdracht:
exit
PHP-installatie
Na het installeren van Apache en MySQL is de volgende stap het installeren en configureren van PHP, dat verantwoordelijk is voor het verwerken van dynamische webpagina's. Net als bij Apache kunt u een basisinstallatie van PHP uitvoeren en de benodigde aanvullende modules toevoegen. Voor een basisinstallatie gebruikt u de opdracht:
dnf install php
Echter, in deze vorm wordt de tool zelden geïnstalleerd. Vaker gebeurt de installatie direct met extra modules. Laten we installeren met enkele belangrijke modules:
dnf install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip –y
Raadpleeg de officiële documentatie voor een volledige lijst van beschikbare modules. Om de geïnstalleerde modules te controleren, gebruikt u de volgende opdracht:
php -m
Om de geïnstalleerde versie van PHP te controleren, gebruikt u de opdracht:
php -v
Het belangrijkste PHP-configuratiebestand bevindt zich op /etc/php.ini . Open dit bestand in een teksteditor:
vim /etc/php.ini
Voer de nodige wijzigingen door, bijvoorbeeld door de juiste tijdzone in te stellen met de `date.timezone`-richtlijn en de maximale bestandsgrootte voor uploads aan te passen met de `upload_max_filesize` en `post_max_size`-richtlijnen. Als je nog niet eerder met console-teksteditors hebt gewerkt, hebben we een artikel geschreven om je te helpen de basisprincipes van het werken met Vim te begrijpen.
Nadat u de tool hebt geïnstalleerd en eventuele wijzigingen in het configuratiebestand hebt aangebracht, start u de Apache-service opnieuw op:
systemctl restart httpd
Om de functionaliteit te testen, maakt u een eenvoudig script dat informatie over de PHP-versie en de huidige instellingen weergeeft. Maak een bestand info.php aan in de hoofdmap van de webserver (/var/www/html) met de volgende inhoud:
<?php
phpinfo();
?>
Open een webbrowser en voer de URL van de server in, gevolgd door de naam van het testscriptbestand. Bijvoorbeeld:
http://your_server_ip/info.php
Als alles correct is ingesteld, ziet u gedetailleerde informatie over de PHP-versie, instellingen, ondersteunde modules en meer:
Conclusie
Het installeren van de LAMP-stack op een CentOS Stream-server is een belangrijke stap voor het maken van een betrouwbare webserver. Door de instructies te volgen, hebt u geleerd hoe u Apache, MySQL en PHP configureert, die nodig zijn voor dynamische websites. Deze stack opent veel mogelijkheden voor webontwikkeling en verdere studie en optimalisatie zullen u helpen de prestaties en betrouwbaarheid van uw server te verbeteren.