Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 självstudiekursen får du lära du dig att:
- 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 alla 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 hjälp av miljövariabler och lägger till ett slumpmässigt suffix för att säkerställa unikhet.
export REGION="eastus2"
export RANDOM_SUFFIX="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myResourceGroup${RANDOM_SUFFIX}"
az group create --name "${MY_RESOURCE_GROUP_NAME}" --location $REGION
Resultat:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupxxxxx",
"location": "eastus",
"name": "myResourceGroupxxxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Skapa en virtuell dator
Skapa en virtuell dator med kommandot az vm create.
I följande exempel skapas en virtuell dator med hjälp av miljövariabler. Den skapar en virtuell dator med namnet myVM och skapar SSH-nycklar 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.
export MY_VM_NAME="myVM${RANDOM_SUFFIX}"
export IMAGE="Ubuntu2204"
export ADMIN_USERNAME="azureuser"
az vm create \
--resource-group "${MY_RESOURCE_GROUP_NAME}" \
--name $MY_VM_NAME \
--image $IMAGE \
--admin-username $ADMIN_USERNAME \
--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 "${MY_RESOURCE_GROUP_NAME}" --name $MY_VM_NAME
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.
export PUBLIC_IP=$(az network public-ip list --resource-group "${MY_RESOURCE_GROUP_NAME}" --query [].ipAddress -o tsv)
ssh Använd kommandot för att skapa en SSH-session med den virtuella datorn. Ersätt med den korrekta offentliga IP-adressen för den virtuella datorn.
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^.
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get -y 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:
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "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:
Verifiera och skydda MySQL
Kontrollera versionen av MySQL med följande kommando (observera versal i parameter V):
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "mysql -V"
För att skydda installationen av MySQL, inklusive att ange ett rotlösenord sudo mysql_secure_installation , kan du köra kommandot. Det här kommandot uppmanar dig att svara på flera frågor för att skydda din MySQL-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. För att göra detta kan du använda kommandot i den virtuella datorn och sedan ange rotlösenordet sudo mysql -u root -p när du uppmanas att göra det. Det här kommandot ansluter till den virtuella datorn via SSH och startar MySQL-kommandoradsklienten som rotanvändare.
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:
ssh -o StrictHostKeyChecking=no azureuser@$PUBLIC_IP "php -v"
Om du vill testa ytterligare kan du skapa en snabb PHP-informationssida att visa 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:
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:
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.