Självstudie: Installera en LAMP-stack på en virtuell Azure Linux-dator

Gäller för: ✔️ Virtuella Linux-datorer

I den här artikeln får du veta hur du distribuerar en Apache-webbserver, MySQL och PHP (LAMP-stacken) på en virtuell Ubuntu-dator i Azure. Om du vill se LAMP-servern i praktiken kan du installera och konfigurera en WordPress-webbplats. I den här guiden får du lära du dig hur man:

  • Skapa en virtuell Ubuntu-dator
  • Öppna port 80 för webbtrafik
  • Installera Apache, MySQL och PHP
  • Verifiera installation och konfiguration
  • Installera WordPress

Den här installationen är avsedd för snabbtester och konceptbevis. Mer information om LAMP-stacken samt rekommendationer kring produktionsmiljön finns i dokumentationen om Ubuntu.

I den här självstudien används CLI i Azure Cloud Shell, som ständigt uppdateras till den senaste versionen. Öppna Cloud Shell genom att välja Prova längst upp i ett kodblock.

Om du väljer att installera och använda CLI lokalt kräver den här självstudien att du kör Azure CLI version 2.0.30 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Skapa en resursgrupp

Skapa en resursgrupp med kommandot az group create. En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.

I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus.

az group create --name myResourceGroup --location eastus

Skapa en virtuell dator

Skapa en virtuell dator med kommandot az vm create.

I följande exempel skapas en virtuell dator med namnet myVM och SSH-nycklar skapas om de inte redan finns på en standardnyckelplats. Om du vill använda en specifik uppsättning nycklar använder du alternativet --ssh-key-value. Kommandot anger även azureuser som ett administratörsanvändarnamn. Du använder det här namnet senare för att ansluta till den virtuella datorn.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

När den virtuella datorn har skapats visar Azure CLI information som ser ut ungefär som i följande exempel. Anteckna publicIpAddress. Den här adressen används för att komma åt den virtuella datorn i senare steg.

{
  "fqdns": "",
  "id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Öppna port 80 för webbtrafik

Som standard tillåts enbart SSH-anslutningar till virtuella Linux-datorer distribuerade i Azure. Eftersom den här virtuella datorn kommer att vara en webbserver behöver du öppna port 80 från Internet. Använd kommandot az vm open-port för att öppna önskad port.

az vm open-port --port 80 --resource-group myResourceGroup --name myVM

Mer information om hur du öppnar portar till den virtuella datorn finns i Öppna portar.

SSH till den virtuella datorn

Om du inte känner till den offentliga IP-adressen för den virtuella datorn kör du kommandot az network public-ip list. Du behöver den här IP-adressen för flera senare steg.

az network public-ip list --resource-group myResourceGroup --query [].ipAddress

Använd följande kommando för att skapa en SSH-session med den virtuella datorn. Ersätt med den korrekta offentliga IP-adressen för den virtuella datorn. I det här exemplet är IP-adressen 40.68.254.142. azureuser är det administratörsanvändarnamn som angavs när du skapade den virtuella datorn.

ssh azureuser@40.68.254.142

Installera Apache, MySQL och PHP

Kör följande kommando för att uppdatera Ubuntu-paketkällorna och installera Apache, MySQL och PHP. Observera textmarkören (^) i slutet av kommandot, som är en del av paketnamnet lamp-server^.

sudo apt update && sudo apt install lamp-server^

Du uppmanas att installera paketen och andra beroenden. Den här processen installerar lägsta nödvändiga PHP-tillägg för användning av PHP med MySQL.

Verifiera Apache

Kontrollera versionen av Apache med följande kommando:

apache2 -v

När Apache är installerat och port 80 är öppen för den virtuella datorn kan webbservern nås från internet. När du vill visa standardsidan för Apache2 Ubuntu öppnar du en webbläsare och anger den virtuella datorns offentliga IP-adress. Använd den offentliga IP-adressen som du använde för SSH till den virtuella datorn:

Apache-standardsida

Verifiera och skydda MySQL

Kontrollera versionen av MySQL med följande kommando (observera versal i parameter V):

mysql -V

Om du vill skydda installationen av MySQL, inklusive att ange ett rotlösenord, kör du skriptet mysql_secure_installation.

sudo mysql_secure_installation

Om du vill kan du även konfigurera plugin-programmet Validate Password (Verifiera lösenord; rekommenderas). Sedan anger du ett lösenord för MySQL-rotanvändaren och konfigurerar återstående säkerhetsinställningar för miljön. Vi rekommenderar att du svarar ”Y” (Ja) på alla frågor.

Om du vill prova MySQL-funktioner (skapa en MySQL-databas, lägga till användare eller ändra konfigurationsinställningar) loggar du in på MySQL. Det här steget krävs inte för att slutföra den här självstudien.

sudo mysql -u root -p

När du är klar lämnar du mysql-frågan genom att skriva \q.

Verifiera PHP

Kontrollera versionen av PHP med följande kommando:

php -v

Om du vill testa ytterligare skapar du en snabb PHP-informationssida som visas i en webbläsare. Följande kommando skapar PHP-informationssidan:

sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'

Nu kan du kontrollera PHP-informationssidan som du har skapat. Öppna en webbläsare och navigera till http://yourPublicIPAddress/info.php. Ersätt den offentliga IP-adressen för den virtuella datorn. Det bör se ut ungefär som den här bilden:

PHP-informationssida

Installera WordPress

Om du vill testa din stack, installerar du en exempelapp. Till exempel installerar följande steg WordPress-plattformen med öppen källkod för att skapa webbplatser och bloggar. Andra arbetsbelastningar du kan testa är Drupal och Moodle.

Den här WordPress-installationen är endast avsedd för ”Proof of concept”. Om du vill installera senaste WordPress i produktion med rekommenderade säkerhetsinställningar läser du WordPress-dokumentationen.

Installera WordPress-paketet

Kör följande kommando:

sudo apt install wordpress

Konfigurera WordPress

Konfigurera WordPress att använda MySQL och PHP.

Skapa en textfil wordpress.sql i en arbetskatalog för att konfigurera MySQL-databasen för WordPress:

sudo sensible-editor wordpress.sql

Lägg till följande kommandon för att ersätta ett valfritt databaslösenord mot yourPassword (lämna alla andra värden oförändrade). Om du tidigare har konfigurerat en MySQL-säkerhetsprincip för att verifiera lösenordsstyrkan ser du till att lösenordet uppfyller kraven på styrka. Spara filen.

CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';

Kör följande kommando för att skapa databasen:

cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

Eftersom filen wordpress.sql innehåller databasautentiseringsuppgifter tar du bort den efter användning:

sudo rm wordpress.sql

Om du vill konfigurera PHP kör du följande kommando för att öppna valfri textredigerare och skapa filen /etc/wordpress/config-localhost.php:

sudo sensible-editor /etc/wordpress/config-localhost.php

Kopiera följande rader i filen för att ersätta ditt WordPress-databaslösenord mot yourPassword (lämna alla andra värden oförändrade). Spara sedan filen.

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourPassword');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>

Flytta WordPress-installationen till webbserverns dokumentrot:

sudo ln -s /usr/share/wordpress /var/www/html/wordpress

sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php

Nu kan du slutföra WordPress-installationen och publicera på plattformen. Öppna en webbläsare och navigera till http://yourPublicIPAddress/wordpress. Ersätt den offentliga IP-adressen för den virtuella datorn. Det bör se ut ungefär som den här bilden:

Installationssidan för WordPress

Nästa steg

Under den här kursen distribuerade du en LAMP-server i Azure. Du har lärt dig att:

  • Skapa en virtuell Ubuntu-dator
  • Öppna port 80 för webbtrafik
  • Installera Apache, MySQL och PHP
  • Verifiera installation och konfiguration
  • Installera WordPress på LAMP-servern

Gå vidare till nästa självstudie för att lära dig hur du skyddar webbservrar med TLS/SSL-certifikat.