Hopp til innhold

Fagstoff

Installere (L)AMP på Ubuntu 20.04

LAMP er et akronym for Linux, Apache, MySQL og PHP. Disse er sentrale systemer som de fleste dynamiske nettsider trenger for å fungere. Denne guiden går gjennom installasjon av (L)AMP på Ubuntu 20.04.
Et ark er fyllt med HTML-kode. Figurer av arbeidere er plassert på toppen. Illustrasjon.
Åpne bilde i et nytt vindu

Installasjon av Wordpress

I denne guiden installeres webserver (Apache2), database (MariaDB) og støtte for at skriptspråket PHP skal kunne kjøre på serveren. Disse danner rammeverket vi trenger for å kunne sette opp en dynamisk nettside (Wordpress). Alle programmer i denne guiden er gratis og bruker en åpen kildekode som gjør dem lette å forandre og sikre.

Denne guiden er tilpasset for installasjon av Wordpress. Hvis du ønsker å bruke et annet publiseringssystem (CMS - Content Management System), bør du ikke bruke denne guiden.

Installere webserver

Apache Web Server brukes på en tredjedel av verdens webservere (2020). Programvaren gjør at serveren kan svare på HTTP-forespørsler sendt fra en nettleser.

Steg 1 – Installere Apache 2-programvare

Skriv eller kopier inn kommandoen under for å installere Apache2 webserver på din server.

Bash

1sudo apt install apache2

Linux vil gjøre et søk for å se hvilke programpakker som vil trenges for å gjøre installasjonen. Du må bekrefte installasjonen ved å trykke "y" og Enter.

Linux lister opp programpakker som vil bli installert ved installasjon av Apache2. Brukeren blir spurt om å bekrefte installasjon ved å taste y for yes eller n for no. Skjermbilde.
Åpne bilde i et nytt vindu

Steg 2 – Automatisk oppstart av webserver

Det er ønskelig at webserver-programvaren starter automatisk når datamaskinen starter opp. Kommandoen under sikrer dette.

Bash

1sudo systemctl enable apache2

Steg 3 – Sjekk prosess-status for webserver

Siden flere programmer må installeres og fungere sammen for at en dynamisk nettside skal fungere, så er det lurt å sjekke underveis at hvert enkelt program som installeres starter opp og kjører som normalt. Sjekk med kommandoen under at Apache er aktiv.

Bash

1sudo systemctl status apache2
2  #Trykk "q" for å komme ut av statusvisningen 

Når koden kjører, vil du få opp et skjermbilde som det som vises i bildet under. Legg merke til at denne statusvisningen ikke tar deg direkte tilbake til Linux sin ledetekst. Du må trykke på "q" for å avslutte statusvisningen.


Statusrapport for Apache2 som viser at prosessen er aktiv. Nederst står det "lines 1-15/15 (end)". Skjermbilde.
Åpne bilde i et nytt vindu

Steg 4 – Sjekke at webserver svarer nettleser

Åpne opp nettleser på en annen maskin i samme lokalnettverk som webserveren. Hvis du installerte Ubuntu Desktop på serveren din, kan du bruke nettleseren til denne.

I nettleserens adressefelt skriver du inn IP-adressen som du satte under installasjon av din server. Hvis det ikke er noen feil, skal du få opp Apache2 sin demoside. Hvis du ikke får opp nettsiden, vil du trenge å gjøre feilsøking før du går videre i guiden.

Nettleservindu med statusrapport fra Apache2. Skjermbilde.
Åpne bilde i et nytt vindu

Demosiden ligger som en HTML-fil i mappen /var/www/html på webserveren. Dette er standardplassering for Apache2-websider. Hvis du ønsker å se nærmere på denne filen, kan du bruke kommandoen sudo nano /var/www/html/index.html . Husk eventuelt å bruke Ctrl + x for å komme ut av teksteditoren etterpå.

Installere database

En webserver er i utgangspunktet veldig åpen. Hvis innhold legges i webservermappen (/var/www/html), vil webserveren levere disse ut hvis den blir spurt. Dette er praktisk for helt statiske nettsider (som er hardkodet og viser identisk innhold til alle). Men hvis en nettside skal være dynamisk (så den kan logges på og vise forskjellig innhold til forskjellige brukere), så skaper dette sikkerhetsproblemer. Vi ønsker ikke at sensitiv informasjon skal ligge åpen på nettet. Et annet eksempel er brukernavnene og passordene til brukerne som kan logge seg på via nettsiden. Her kommer databaser inn. Databasen får ansvaret for å lagre mye av denne informasjonen. Databasen svarer ikke på henvendelser direkte til sluttbrukeren, men svarer webserveren gjennom PHP-scripting.


Det finnes mange databasevarianter, i denne guiden brukes MariaDB.

Steg 1 – Installere database

Bruk kommandoen under for å installere MariaDB. Som tidligere vil du få opp en liste over programpakker som vil bli installert. Bekreft installasjonen med "y" og Enter.

Bash

1sudo apt install mariadb-server mariadb-client

Steg 2 – Automatisk oppstart av database

For å automatisk starte databasen ved oppstart av serveren brukes kommandoen under:

Bash

1sudo systemctl enable mariadb

Steg 3 – Sjekk prosess-status for databasen

Bash

1systemctl status mariadb
2  #Trykk "q" for å komme ut av statusvisningen 

Steg 4 – Basiskonfigurasjon av database

Siden databasen potensielt vil inneholde informasjon som vi ikke ønsker at skal være åpen tilgjengelig, er det lurt å sikre den. Til dette finnes det et skript som også tar seg av rootbruker-oppsett.


Bash

1sudo mysql_secure_installation

Skriptet vil sikre database-oppsettet og vil derfor stille en rekke spørsmål.

  1. Skriptet vil spørre etter nåværende

    root

    -passord for database. Trykk Enter for å gå videre, siden du ikke har satt et passord enda.

  2. Du blir så spurt om du ønsker å sette et

    root

    -passord. Velg "y" og trykk Enter.

  3. Skriv inn passordet du vil ha til

    root

    -brukeren til databasen. Trykk Enter for å gå videre. Tekstfeltet for passord vil ikke forandre seg mens du skriver inn passordet, det vil si ingen stjernetegn for å vise antall tegn, dette er helt normalt.

  4. Skriv passordet på nytt og trykk Enter.
  5. Du blir spurt om du vil slette anonym bruker, velg "y" og trykk Enter.
  6. Du blir spurt om

    root

    -brukerpålogging skal begrenses til den lokale maskinen. Bekreft ved å trykke "y" og Enter.

  7. Du blir spurt om du ønsker å fjerne test-database. Bekreft dette ved å trykke "y" og Enter.
  8. Til sist blir du spurt om du ønsker å laste inn tabell med rettigheter på nytt. Velg "y" og trykk Enter.

Steg 5 – Sjekke at database-pålogging fungerer

Bruk kommandoen under for å logge inn i databasen:

Bash

1sudo mariadb -u root

Skriv inn passordet du satte på root-brukeren til databasen. Når du er logget inn, skal du få opp en skjerm som ligner den på bildet under.

Linjer med statustekst for database, nederst står det "MariaDB [(none)]>". Skjermbilde.
Åpne bilde i et nytt vindu

Når du er inne i database-programmet, vil du få en ny ledetekst – Maria DB [(none)]> For å komme ut av programmet må du bruke kommandoen under:

Text

1exit;

Installere PHP

PHP (PHP: Hypertext Preprocessor) er et skriptspråk som kjører på serversiden og gjør det mulig å koble sammen webserver og database. PHP er også viktig for å gjøre nettsidene dynamiske.

Det finnes i dag ikke et fullverdig alternativ til PHP. Men flere er under utvikling og vil sannsynligvis bli vanlige etterhvert.

Steg 1 – Installere basispakker for PHP

I første omgang trenger du å installere PHP og noen tilleggspakker som trengs for bruk av PHP sammen med dynamiske nettside. Som tidligere vil du få opp en liste over programpakker som vil bli installert. Bekreft installasjonen med "y" og Enter.


Bash

1sudo apt install php libapache2-mod-php php-mysql php-common

Steg 2 – Installere tilleggspakker for PHP

Publiseringssystemet Wordpress trenger noen tilleggspakker for PHP for å fungere riktig. Installer disse ved å bruke kommandoen under og bekreft installasjonen.


Bash

1sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

Steg 3 – Teste at PHP fungerer sammen med webserver

For å sjekke at PHP er satt opp riktig og fungerer sammen med Apache kan vi lage en enkel PHP-forespørsel og gjøre den tilgjengelig gjennom webserveren.

Ved å bruke kommandoen under lages en ny fil (info.php) i hovedmappen for webserveren (/var/www/html).

Bash

1sudo nano /var/www/html/info.php

Legg inn følgende kode i dokumentet:

Text

1<?php phpinfo(); ?>

Trykk på (Ctrl + x) og bekreft lagringen av fila.

Gå inn i nettleseren og skriv inn IP-adresse til webserver etterfulgt av /info.php.

For eksempel:

192.168.1.41/info.php

Du skal nå få opp en PHP-statusside.

Tabell med mange linjer med informasjon. På toppen står det "PHP Versjon 7.4.3". Skjermbilde.
Åpne bilde i et nytt vindu

Hvis du fikk opp denne siden, er du klar for å gå videre med selve oppsettet av Wordpress.

CC BY-SASkrevet av Tron Bårdgård.
Sist faglig oppdatert 17.11.2020

Læringsressurser

Enkeltressurser for oppsett av Wordpress