Hvordan installere LEMP Stack med PhpMyAdmin i Ubuntu 20.04


For de av dere som ikke vet hva LEMP er – dette er en kombinasjon av programvarepakker – Linux, Nginx (uttales EngineX), MariaDB og PHP.

Du kan bruke LEMP til både testformål eller i et ekte produksjonsmiljø for å distribuere nettapplikasjoner ved hjelp av PHP-rammeverk som Laravel eller Yii, eller innholdsstyringssystemer som WordPress, Drupal , eller Joomla

Du lurer kanskje på hva som er forskjellen mellom LAMP og LEMP. Vel, den eneste forskjellen er nettserveren som er inkludert – Apache (i LAMP) og Nginx (i LEMP >). Begge nettserverne er ganske gode, og mens Apache er den mest brukte, går ikke Nginx tilbake på noen måte.

En annen mye brukt applikasjon som vanligvis installeres ved siden av LEMP-stakken er PhpMyAdmin – er et PHP-nettbasert verktøy for å administrere en MySQL/MariaDB-databaseserver fra en nettleser.

Hvis du ser etter et LAMP-oppsett for Ubuntu 20.04, bør du lese vår LAMP-oppsettguide for Ubuntu 20.04.

Forutsetninger:

  1. Installasjonsveiledning for Ubuntu 20.04 Server

I denne artikkelen vil du lære hvordan du installerer og konfigurerer LEMP-stakken med PhpMyAdmin i Ubuntu 20.04-serveren.

Trinn 1: Installere Nginx på Ubuntu 20.04

1. Nginx er en rask moderne nettserver designet for å servere mange samtidige tilkoblinger uten å bruke for mange serverressurser. Dette er grunnen til at det ofte er det foretrukne valget i bedriftsmiljøer.

NGINX er også ofte brukt som en lastbalanser og webinnholdsbuffer. Den støtter navnebaserte og IP-baserte virtuelle servere (analogt med virtuelle verter i Apache).

Du kan installere NginxUbuntu 20.04 skrivebordet eller serveren ved å kjøre følgende kommando.

sudo apt update
sudo apt install nginx

Nginx-konfigurasjonsfilene er lagret under /etc/nginx-katalogen og hovedkonfigurasjonsfilen er /etc/nginx/nginx.conf. Viktigere er at standarddokumentroten for lagring av nettfilene dine er /usr/share/nginx/html/. Men du kan bruke standarden /var/www/html som skal konfigureres i nettstedets eller programmets serverblokkkonfigurasjonsfil.

2. Installasjonsprogrammet for Ubuntu-pakken utløser systemd for å starte Nginx-tjenesten og aktivere den automatisk hver gang serveren startes på nytt. Bruk følgende systemctl-kommandoer for å bekrefte at tjenesten kjører og er aktivert.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Nå er det på tide å sjekke om Nginx-installasjonen var vellykket ved å ringe Nginx-siden via nettleseren ved å bruke serverens IP-adresse.

http://SERVER_IP

Hvis du ikke kjenner serverens IP-adresse, kan du finne ved å bruke IP-kommando som vist.

ip addr show

NGINX-standardnettsiden skal lastes som vist i følgende skjermbilde, og bekrefter korrekt installasjon og drift.

Trinn 2: Installere MariaDB-databasen på Ubuntu 20.04

4. MariaDB er et relativt nytt administrasjonssystem for relasjonsdatabaser som ble utformet som en fellesskapsgaffel av MySQL etter Oracle-oppkjøpet.

Installasjonen av MariaDB er enkel og kan startes med kommando som:

sudo apt install mariadb-server mariadb-client

5. MariaDB-tjenesten startes også automatisk og aktivert for alltid å starte ved systemoppstart, og du kan bekrefte dette ved å bruke følgende kommandoer.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. Hvis du ønsker å forbedre MariaDB-sikkerheten, kan du kjøre kommandoen mysql_secure_installation, som vil gi noen grunnleggende, men viktige alternativer for å konfigurere :

sudo mysql_secure_installation

Velg deretter alternativet for å angi databaseroten (eller administrator) brukerens passord og følg instruksjonene og les spørsmålene nøye. For å sikre databaseserveren, svar på spørsmålene som vist på skjermbildet.

  • Skriv inn gjeldende passord for root (enter for ingen): Enter
  • Vil du angi et root-passord? [Y/n] y
  • Vil du fjerne anonyme brukere? [Y/n] y
  • Vil du ikke tillate root-pålogging eksternt? [Y/n] y
  • Vil du fjerne testdatabasen og få tilgang til den? [Y/n] y
  • Laste inn rettighetstabeller på nytt nå? [Y/n] y

7. For å opprette, administrere og utføre databaseoperasjoner, må du mysql-shell-kommandoen med -u-flagget for å spesifisere databasens brukernavn og -p for å oppgi brukerens passord.

For å koble til som root-bruker, bruk sudo-kommandoen (selv uten -p-flagget) ellers vil du motta feilen uthevet i følgende skjermbilde.

mysql -u root -p
sudo mysql -u root

Trinn 3: Installere PHP i Ubuntu 20.04

8. PHP er et populært åpen kildekode, fleksibelt og dynamisk skriptspråk for å bygge nettsteder og nettapplikasjoner. Den støtter en rekke programmeringsteknikker. Viktigere er at PHP-fellesskapet er stort og mangfoldig, sammensatt av utallige biblioteker, rammeverk og andre nyttige komponenter.

NGINX bruker FPM (FastCGI Process Manager) eller PHP-FPM for å behandle PHP-skript. PHP-FPM er en mye brukt alternativ PHP FastCGI-implementering som leveres med mange tilleggsfunksjoner, og den brukes til å drive nettsteder/nettapplikasjoner med høy trafikk.

For å installere PHP og PHP-FPM, kjør følgende kommando som også vil installere noen nødvendige tilleggspakker.

sudo apt install php php-mysql php-fpm

Siden PHP 7.4 er standardversjonen av PHP i Ubuntu 20.04, ligger PHP-konfigurasjonsfilene i /etc/php/7.4 / og PHP-FPM-konfigurasjonsfilene er lagret under /etc/php/7.4/fpm.

9. Deretter sjekker du om php7.4-fpm-tjenesten er oppe og kjører og om den er aktivert med følgende kommando.

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

Trinn 4: Konfigurere Nginx til å fungere med PHP-FPM

10. Nå må du konfigurere NGINX til proxy-klientforespørsler til PHP-FPM, som som standard er konfigurert til å lytte på en UNIX-socket som definert av lytteparameteren i /etc/php/7.4/fpm/pool.d/www.conf standard konfigurasjonsfil for bassenget.

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. I standard konfigurasjonsfil for serverblokk (/etc/nginx/sites-available/default), fjerner du kommentaren til direktivet for plassering for behandling av PHP forespørsler om å se ut som den som vises i følgende skjermbilde.

sudo vi /etc/nginx/sites-available/default

Lagre filen og avslutt.

12. Test deretter NGINX-konfigurasjonssyntaksen for korrekthet. Hvis det er OK, start Nginx-tjenesten på nytt for å bruke de nye endringene.

sudo nginx -t
sudo systemctl restart nginx

13. Test nå om NGINX kan fungere sammen med PHP-FPM for å behandle PHP-forespørsler. Lag en enkel info.php-side under dokumentrotkatalogen.

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

14. Naviger med følgende adresse i nettleseren din. PHP-konfigurasjonssiden skal lastes og vises som vist i følgende skjermbilde.

http://SERVER_IP/info.php

Trinn 5: Installere PhpMyAdmin i Ubuntu 20.04

15. PhpMyAdmin er en gratis og åpen kildekode nettbasert PHP-applikasjon spesielt laget for å administrere MySQL/MariaDB databaseservere gjennom en nettleser. Det gir et intuitivt grafisk grensesnitt og støtter et bredt spekter av vanlige funksjoner for databaseadministrasjonsoppgaver.

sudo apt install phpmyadmin

16. Under pakkeinstallasjonen vil du bli bedt om å konfigurere flere aspekter av PhpMyAdmin-pakken. Først blir du bedt om å velge standard webserver for å kjøre den. Trykk Esc fordi NGINX ikke er på listen.

17. Deretter krever PhpMyAdmin en database å jobbe med. I denne ledeteksten for pakkekonfigurasjon velger du Ja for å konfigurere en database for PhpMyAdmin med dbconfig-common-pakken.

18. I den neste ledeteksten må du oppgi et passord for PhpMyAdmin for å registrere deg i MariaDB-databasen. Skriv inn et sikkert passord og klikk på Enter.

Trinn 6: Konfigurere NGINX for å betjene PhpMyAdmin-nettstedet

19. For å aktivere NGINX til å betjene PhpMyAdmin-nettstedet som ligger på /usr/share/phpmyadmin, oppretter du en symbolkobling for denne katalogen under dokumentroten, angi riktige tillatelser og eierskap på PHPMyAdmin-katalogen som følger.

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. Sørg dessuten for at indeks-direktivet i standard serverblokkkonfigurasjonsfilen (/etc/nginx/sites-available/default) inkluderer index.php som vist i følgende skjermbilde.

21. Deretter starter du Nginx-tjenesten på nytt for å bruke endringene ovenfor.

sudo systemctl restart nginx

22. Gå nå til PhpMyAdmin-siden fra en nettleser med følgende adresse.

http://SERVER_IP/phpmyadmin

På påloggingssiden, autentiser med PHPMyAdmin brukernavn og passord. Husk at den eksterne rotbrukerpåloggingen er deaktivert med mindre du har tilgang til PHPMyAdmin på den lokale verten der MariaDB-databasen er installert, rottilgangen vil ikke fungere.

Sist, men ikke minst, sikre PhpMyAdmin-installasjonen ved hjelp av vår guide: 4 nyttige tips for å sikre PhpMyAdmin-nettgrensesnittet.

Konklusjon

Ditt LEMP-oppsett er nå fullført, og du kan begynne å bygge nettapplikasjonene dine eller bare leke med Nginx- og MariaDB-tjenestene du nettopp installerte. Disse er mye brukt og å få mer kunnskap i dem anbefales sterkt for systemadministratorer.