Tutoriel : Installer une pile LAMP sur une machine virtuelle Linux Azure

S’applique à : ✔️ Machines virtuelles Linux

Cet article vous guide à travers le déploiement d’un serveur web Apache, de celui de MySQL et de PHP (la pile LAMP) sur une machine virtuelle Ubuntu dans Azure. Pour voir le serveur LAMP fonctionner, vous pouvez éventuellement installer et configurer un site WordPress. Ce didacticiel vous montre comment effectuer les opérations suivantes :

  • Créer une machine virtuelle Ubuntu
  • Ouvrez le port 80 pour le trafic web
  • Installer Apache, MySQL et PHP
  • Vérifier l’installation et la configuration
  • Installer WordPress

Ce programme d’installation est destiné aux tests rapides ou à la preuve de concept. Pour plus d’informations sur la pile LAMP, notamment des recommandations relatives à un environnement de production, consultez la Documentation Ubuntu.

Ce tutoriel utilise l’interface CLI disponible dans Azure Cloud Shell, qui est constamment mise à jour vers la dernière version. Pour ouvrir Cloud Shell, sélectionnez Essayer en haut d’un bloc de code.

Si vous choisissez d’installer et d’utiliser l’interface de ligne de commande localement, ce tutoriel vous demande d’exécuter Azure CLI version 2.0.30 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Créer un groupe de ressources

Créez un groupe de ressources avec la commande az group create. Un groupe de ressources Azure est un conteneur logique dans lequel les ressources Azure sont déployées et gérées.

L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus.

az group create --name myResourceGroup --location eastus

Création d'une machine virtuelle

Créez une machine virtuelle avec la commande az vm create.

L’exemple suivant crée une machine virtuelle nommée myVM et des clés SSH si elles n’existent pas déjà dans un emplacement de clé par défaut. Pour utiliser un ensemble spécifique de clés, utilisez l’option --ssh-key-value. La commande définit aussi azureuser comme nom d’utilisateur administrateur. Vous utilisez ce nom pour vous connecter à la machine virtuelle.

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

Lorsque la machine virtuelle a été créée, l’interface de ligne de commande Azure affiche des informations similaires à l’exemple suivant. Notez la valeur de publicIpAddress. Cette adresse est utilisée pour accéder à la machine virtuelle dans des étapes ultérieures.

{
  "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"
}

Ouvrez le port 80 pour le trafic web

Par défaut, seules les connexions SSH sont autorisées dans les machines virtuelles Linux déployées dans Azure. Étant donné que cette machine virtuelle sera un serveur web, vous devez ouvrir le port 80 à partir d’Internet. Utilisez la commande az vm open-port pour ouvrir le port souhaité.

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

Pour plus d’informations sur l’ouverture de ports sur votre machine virtuelle, consultez Ouvrir des ports.

Se connecter avec SSH à votre machine virtuelle

Pour trouver l’adresse IP publique de votre machine virtuelle, exécutez la commande az network public-ip list. Vous aurez besoin de cette adresse au cours de plusieurs étapes ultérieures.

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

Utilisez la commande suivante pour créer une session SSH avec la machine virtuelle. Remplacez l’adresse IP publique correcte de votre machine virtuelle. Dans cet exemple, l’adresse IP est 40.68.254.142. azureuser est le nom d’utilisateur administrateur défini lors de la création de la machine virtuelle.

ssh azureuser@40.68.254.142

Installer Apache, MySQL et PHP

Exécutez la commande suivante pour mettre à jour les sources de package Ubuntu et installer Apache, MySQL et PHP. Notez le signe insertion (^) à la fin de la commande, qui fait partie du nom du package lamp-server^.

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

Vous êtes invité à installer les packages et les autres dépendances. Ce processus installe les extensions PHP minimales requises pour utiliser PHP avec MySQL.

Vérifier Apache

Vérifiez la version d’Apache à l’aide de la commande suivante :

apache2 -v

Avec Apache installé et le port 80 ouvert sur votre machine virtuelle, le serveur web est maintenant accessible à partir d’Internet. Pour afficher la page par défaut d’Apache2 Ubuntu, ouvrez un navigateur web et entrez l’adresse IP publique de la machine virtuelle. Utilisez l’adresse IP publique dont vous vous êtes servi pour vous connecter par SSH à la machine virtuelle :

Page par défaut d’Apache

Vérifier et sécuriser MySQL

Vérifiez la version de MySQL avec la commande suivante (remarquez le paramètre V avec une majuscule) :

mysql -V

Pour mieux sécuriser l’installation de MySQL, notamment en définissant un mot de passe racine, exécutez le script mysql_secure_installation.

sudo mysql_secure_installation

Vous pouvez éventuellement configurer le plug-in de validation de mot de passe (recommandé). Ensuite, définissez un mot de passe pour l’utilisateur racine MySQL et configurez les autres paramètres de sécurité pour votre environnement. Nous vous recommandons de répondre par l’affirmative à toutes les questions.

Si vous souhaitez essayer des fonctionnalités de MySQL (créer une base de données MySQL, ajouter des utilisateurs ou changer des paramètres de configuration), connectez-vous à MySQL. Cette étape n’est pas nécessaire pour suivre ce tutoriel.

sudo mysql -u root -p

Lorsque vous avez terminé, quittez l’invite de mysql en tapant \q.

Vérifier PHP

Vérifiez la version de PHP avec la commande suivante :

php -v

Si vous voulez poursuivre le test, créez une page d’informations PHP rapide pour l’afficher dans un navigateur. La commande suivante crée la page d’informations PHP :

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

À présent, vous pouvez vérifier la page d’informations PHP que vous avez créée. Ouvrez un navigateur et accédez à http://yourPublicIPAddress/info.php. Remplacez l’adresse IP publique de votre machine virtuelle. Elle doit ressembler à cette image.

Page d’informations PHP

Installer WordPress

Si vous souhaitez essayer votre pile, installez un exemple d’application. Ainsi, les étapes suivantes installent la plateforme open source WordPress pour créer des sites web et des blogs. Les autres charges de travail à essayer incluent Drupal et Moodle.

Ce programme d’installation de WordPress est destiné uniquement à la preuve de concept. Pour installer la dernière version de WordPress en production avec les paramètres de sécurité recommandés, consultez la documentation de WordPress.

Installez le package WordPress

Exécutez la commande suivante:

sudo apt install wordpress

Configurer WordPress

Configurer WordPress pour utiliser PHP et MySQL.

Dans un répertoire de travail, créez un fichier texte wordpress.sql pour configurer la base de données MySQL pour WordPress :

sudo sensible-editor wordpress.sql

Ajoutez les commandes suivantes, en remplaçant yourPassword par le mot de passe de base de données de votre choix (laissez les autres valeurs inchangées). Si vous aviez configuré une stratégie de sécurité MySQL pour valider la force du mot de passe, vérifiez que le mot de passe répond à ces exigences. Enregistrez le fichier .

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

Exécutez la commande suivante pour créer la base de données :

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

Étant donné que le fichier wordpress.sql contient des informations d’identification de base de données, supprimez-le après utilisation :

sudo rm wordpress.sql

Pour configurer PHP, exécutez la commande suivante pour ouvrir un éditeur de texte de votre choix et créer le fichier /etc/wordpress/config-localhost.php :

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

Copiez les lignes suivantes dans le fichier, en remplaçant yourPassword par votre mot de passe de base de données (laissez les autres valeurs inchangées). Puis enregistrez le fichier.

<?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');
?>

Déplacez l’installation de WordPress à la racine du document du serveur web :

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

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

Vous pouvez désormais terminer l’installation de WordPress et publier sur la plateforme. Ouvrez un navigateur et accédez à http://yourPublicIPAddress/wordpress. Remplacez l’adresse IP publique de votre machine virtuelle. Elle doit ressembler à cette image.

Page d’installation de WordPress

Étapes suivantes

Dans ce didacticiel, vous avez déployé un serveur LAMP dans Azure. Vous avez appris à :

  • Créer une machine virtuelle Ubuntu
  • Ouvrez le port 80 pour le trafic web
  • Installer Apache, MySQL et PHP
  • Vérifier l’installation et la configuration
  • Installer WordPress sur le serveur LAMP

Passez au tutoriel suivant pour savoir comment mieux protéger les serveurs web à l’aide des certificats TLS/SSL.