Hoe LEMP stack met PhpMyAdmin te installeren in Ubuntu 20.04

Voor degenen onder jullie die niet weten wat LEMP is – dit is een combinatie van softwarepakketten – Linux, Nginx (uitgesproken als EngineX), MariaDB en PHP.

Je kunt LEMP gebruiken voor zowel testdoeleinden als in een echte productieomgeving om webtoepassingen te implementeren met PHP-frameworks zoals Laravel of Yii, of contentmanagementsystemen zoals WordPress, Drupal of Joomla

Je vraagt je misschien af wat het verschil is tussen LAMP en LEMP. Nou, het enige verschil is de webserver die is inbegrepen – Apache (in LAMP) en Nginx (in LEMP). Beide webservers zijn behoorlijk goed en hoewel Apache de meest gebruikte is, doet Nginx op geen enkele manier onder.

Nog een veelgebruikte toepassing die meestal naast de LEMP-stack wordt geïnstalleerd, is PhpMyAdmin – een op PHP gebaseerde webtool voor het beheren van een MySQL/MariaDB database server vanuit een webbrowser.

Als je op zoek bent naar een LAMP-opstelling voor je Ubuntu 20.04, dan moet je onze LAMP-opstelgids op Ubuntu 20.04 lezen.

Vereisten:

  1. Installatiegids voor Ubuntu 20.04 Server

In dit artikel leer je hoe je de LEMP-stack met PhpMyAdmin installeert en configureert in Ubuntu 20.04-server.

Stap 1: Nginx installeren op Ubuntu 20.04

1. Nginx is een snelle moderne webserver die is ontworpen om veel gelijktijdige verbindingen te bedienen zonder te veel serverresources te verbruiken. Daarom is het vaak de voorkeurskeuze in bedrijfsomgevingen.

NGINX wordt ook vaak gebruikt als een load balancer en webinhoudscache. Het ondersteunt naamgebaseerde en op IP gebaseerde virtuele servers (analoog aan virtuele hosts in Apache).

Je kunt Nginx installeren op je Ubuntu 20.04 desktop of server door het volgende commando uit te voeren.

$ sudo apt update
$ sudo apt install nginx
Install Nginx on Ubuntu 20.04

De Nginx configuratiebestanden worden opgeslagen onder de map /etc/nginx en het hoofdconfiguratiebestand is /etc/nginx/nginx.conf. Belangrijk is dat de standaard document root voor het opslaan van uw webbestanden /usr/share/nginx/html/ is. Maar u kunt de standaard /var/www/html gebruiken, die geconfigureerd moet zijn in het serverblokconfiguratiebestand van uw website of applicatie.

2. De Ubuntu-pakketinstaller activeert systemd om de Nginx-service te starten en deze automatisch te starten telkens wanneer de server opnieuw wordt opgestart. Gebruik de volgende systemctl-opdrachten om te bevestigen dat de service actief is en is ingeschakeld.

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx
Check Nginx Service Status

3. Nu is het tijd om te controleren of de Nginx-installatie succesvol was door de Nginx-pagina via de browser op te roepen met het IP-adres van de server.

http://SERVER_IP

Als u uw server-IP-adres niet kent, kunt u dit vinden met behulp van IP-opdracht zoals getoond.

$ ip addr show

De standaard webpagina van NGINX moet laden zoals weergegeven in de volgende schermafbeelding, wat een correcte installatie en werking bevestigt.

Test Nginx Installation

Stap 2: MariaDB-database installeren op Ubuntu 20.04

4. MariaDB is een relatief nieuw relationeel databasemanagementsysteem dat is ontworpen als een communityfork van MySQL na de overname door Oracle.

De installatie van MariaDB is eenvoudig en kan worden gestart met het commando:

$ sudo apt install mariadb-server mariadb-client
Install MariaDB on Ubuntu 20.04

5. De MariaDB-service wordt ook automatisch gestart en ingeschakeld om altijd bij het opstarten van het systeem te starten en dit kunt u bevestigen met behulp van de volgende commando’s.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb
Check MariaDB Service

6. Als u de beveiliging van MariaDB wilt verbeteren, kunt u het mysql_secure_installation-commando uitvoeren, dat enkele basis, maar belangrijke opties biedt om te configureren:

$ sudo mysql_secure_installation

Kies vervolgens de optie om het wachtwoord van de database root- (of beheerders) gebruiker in te stellen en volg de instructies en lees de vragen zorgvuldig door. Om uw databaseserver te beveiligen, beantwoordt u de vragen zoals weergegeven in de schermafbeelding.

  • Voer huidig wachtwoord in voor root (enter voor geen): Enter
  • Rootwachtwoord instellen? [J/n] j
  • Anonieme gebruikers verwijderen? [J/n] j
  • Rootlogin op afstand uitschakelen? [J/n] j
  • Testdatabase en toegang hiertoe verwijderen? [J/n] j
  • Privilegetabellen nu herladen? [J/n] j
Secure MariaDB Server

7. Om databasebewerkingen te maken, te beheren en uit te voeren, heeft u het mysql shell-commando nodig met de -u-vlag om de databasegebruikersnaam op te geven en -p om het wachtwoord van de gebruiker te verstrekken.

Om verbinding te maken als de root-gebruiker, gebruikt u het sudo-commando (zelfs zonder de -p-vlag), anders krijgt u de foutmelding die wordt weergegeven in de volgende schermafbeelding.

$ mysql -u root -p
$ sudo mysql -u root
Access MariaDB Shell

Stap 3: PHP installeren in Ubuntu 20.04

8. PHP is een populaire open-source, flexibele en dynamische scripttaal voor het bouwen van websites en webapplicaties. Het ondersteunt een verscheidenheid aan programmeertechnieken. Belangrijk is dat de PHP-gemeenschap groot en divers is, bestaande uit talloze bibliotheken, frameworks en andere nuttige componenten.

NGINX gebruikt FPM (FastCGI Process Manager) of PHP-FPM, om PHP-scripts te verwerken. PHP-FPM is een veelgebruikte alternatieve PHP FastCGI implementatie die wordt geleverd met veel extra functies en wordt gebruikt voor het aandrijven van websites/webapplicaties met veel verkeer.

Om PHP en PHP-FPM te installeren, voer je het volgende commando uit dat ook enkele vereiste extra pakketten zal installeren.

$ sudo apt install php php-mysql php-fpm
Install PHP and PHP-FPM on Ubuntu 20.04

Aangezien PHP 7.4 de standaardversie van PHP is in Ubuntu 20.04, bevinden de PHP-configuratiebestanden zich in /etc/php/7.4/ en de PHP-FPM configuratiebestanden worden opgeslagen onder /etc/php/7.4/fpm.

9. Controleer vervolgens of de php7.4-fpm service actief is en of deze is ingeschakeld met het volgende commando.

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm
Check PHP-FPM Status

Stap 4: NGINX configureren om te werken met PHP-FPM

10. Nu moet je NGINX configureren om clientverzoeken te proxyen naar PHP-FPM, dat standaard is geconfigureerd om te luisteren op een UNIX socket zoals gedefinieerd door de luisterparameter in het /etc/php/7.4/fpm/pool.d/www.conf standaard poolconfiguratiebestand.

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 
Configure PHP-FPM Socket

11. In het standaard serverblok configuratiebestand (/etc/nginx/sites-available/default), haal het commentaarteken weg bij de locatie instructie voor het verwerken van PHP-verzoeken zodat het eruitziet zoals weergegeven in de volgende schermafbeelding.

$ sudo vi /etc/nginx/sites-available/default
Configure Nginx Block to Use PHP-FPM Socket

Sla het bestand op en verlaat.

12. Test vervolgens de syntaxis van de NGINX-configuratie op juistheid. Als het OK is, herstart u de Nginx-service om de nieuwe wijzigingen toe te passen.

$ sudo nginx -t
$ sudo systemctl restart nginx
Check Nginx Configuration

13. Test nu of NGINX kan samenwerken met PHP-FPM om PHP-verzoeken te verwerken. Maak een eenvoudige info.php pagina aan onder de document root directory.

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. Ga in uw browser naar het volgende adres. De PHP-configuratiepagina moet worden geladen zoals weergegeven in de volgende schermafbeelding.

http://SERVER_IP/info.php
Check PHP and PHP-FPM Info

Stap 5: PhpMyAdmin installeren in Ubuntu 20.04

15. PhpMyAdmin is een gratis en open-source op PHP gebaseerde webtoepassing speciaal gemaakt voor het beheren van MySQL/MariaDB databaseservers via een webbrowser. Het biedt een intuïtieve grafische interface en ondersteunt een breed scala aan veelvoorkomende functies voor databasebeheertaken.

$ sudo apt install phpmyadmin
Install PhpMyAdmin in Ubuntu 20.04

16. Tijdens de installatie van het pakket wordt u gevraagd om verschillende aspecten van het PhpMyAdmin pakket te configureren. U wordt eerst gevraagd om de standaard webserver te kiezen om het uit te voeren. Druk op Esc omdat NGINX niet in de verstrekte lijst staat.

Choose Web Server to Configure PHPMyAdmin

17. PhpMyAdmin vereist een database om mee te werken. Kies in dit configuratiepromptvenster Ja om een database te configureren voor PhpMyAdmin met het dbconfig-common-pakket.

Configure Database for PhpMyAdmin

18. In het volgende promptvenster moet je een wachtwoord opgeven voor PhpMyAdmin om zich te registreren bij de MariaDB-database. Voer een veilig wachtwoord in en klik op Enter.

Create a Password for PhpMyAdmin

Stap 6: NGINX configureren om de PhpMyAdmin-site te bedienen

19. Om NGINX in te schakelen om de PhpMyAdmin-site te bedienen die zich bevindt op /usr/share/phpmyadmin, maak een symbolische koppeling voor deze map onder de document root, stel vervolgens de juiste machtigingen en eigenaarschap in op de PhpMyAdmin-map als volgt.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Zorg er bovendien voor dat de index-richtlijn in de standaard serverblokconfiguratie (/etc/nginx/sites-available/default) bestand index.php bevat zoals getoond in de volgende schermafbeelding.

Configure Nginx Index Directive

21. Herstart vervolgens de Nginx-service nogmaals om de bovenstaande wijzigingen toe te passen.

$ sudo systemctl restart nginx

22. Open nu de PhpMyAdmin-site vanuit een browser met het volgende adres.

http://SERVER_IP/phpmyadmin

Op de inlogpagina, authenticeren met de PHPMyAdmin gebruikersnaam en wachtwoord. Onthoud dat de externe rootgebruikersaanmelding is uitgeschakeld tenzij je toegang hebt tot PHPMyAdmin op de localhost waar de MariaDB-database is geïnstalleerd, de roottoegang zal niet werken.

PhpMyAdmin Login
PhpMyAdmin Dashboard

Je PhpMyAdmin-installatie beveiligen met behulp van onze gids: 4 Handige Tips om de PhpMyAdmin Web Interface te Beveiligen.

Conclusie

Je LEMP-opstelling is nu compleet en je kunt beginnen met het bouwen van je webapplicaties of gewoon spelen met de Nginx– en MariaDB-services die je zojuist hebt geïnstalleerd. Deze worden veel gebruikt en het is sterk aanbevolen voor systeembeheerders om er meer kennis van op te doen.

Source:
https://www.tecmint.com/install-lemp-with-phpmyadmin-in-ubuntu-20-04/