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:
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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.


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/