Tutoriel : déployer une application PHP et Azure Database pour MySQL – Serveur flexible et sur Azure App Service
S’APPLIQUE À : Azure Database pour MySQL – Serveur flexible
Azure App Service fournit un service d’hébergement web hautement évolutif et appliquant des mises à jour correctives automatiques en utilisant le système d’exploitation Linux.
Ce tutoriel montre comment générer et déployer un exemple d’application PHP sur Azure App Service et l’intégrer à Azure Database pour MySQL – Serveur flexible sur le back-end. Ici, vous allez utiliser la connectivité d’accès public (adresses IP autorisées) dans l’instance Azure DB pour MySQL – Serveur flexible pour vous connecter à l’application App Service.
Ce didacticiel vous montre comment effectuer les opérations suivantes :
- Créez une instance de serveur flexible Azure Database pour MySQL
- Connecter une application PHP à l’instance Azure Database pour MySQL – Serveur flexible
- Déployer l’application sur Azure App Service
- Mise à jour et redéploiement de l’application
Si vous n’en avez pas, créez un compte gratuit Azure avant de commencer. Actuellement, avec un compte gratuit Azure, vous pouvez essayer gratuitement Azure Database pour MySQL – Serveur flexible pendant 12 mois. Pour obtenir plus d’informations, consultez Essayer gratuitement Azure Database pour MySQL – Serveur flexible.
Prérequis
- Installer Git.
- Azure CLI.
- Un abonnement Azure : si vous n’en avez pas, créez un compte Azure gratuit avant de commencer. Actuellement, avec un compte gratuit Azure, vous pouvez essayer gratuitement Azure Database pour MySQL – Serveur flexible pendant 12 mois. Pour obtenir plus d’informations, consultez Essayer gratuitement Azure Database pour MySQL – Serveur flexible.
Créer un serveur flexible Azure Database pour MySQL
Nous allons d’abord approvisionner une instance Azure Database pour MySQL – Serveur flexible avec une connectivité d’accès public, configurer des règles de pare-feu pour autoriser l’application à accéder au serveur et créer une base de données de production.
Si vous souhaitez découvrir comment utiliser une connectivité d’accès privé à la place et isoler des ressources d’application et de base de données dans un réseau virtuel, consultez Tutoriel : connecter une application web App Services à une instance Azure Database pour MySQL – Serveur flexible dans un réseau virtuel.
Créer un groupe de ressources
Un groupe de ressources Azure est un groupe logique dans lequel des ressources Azure sont déployées et gérées. Créons un groupe de ressources, rg-php-demo, avec la commande az group create dans la localisation centralus.
- Ouvrez l’invite de commandes.
- Connectez-vous à votre compte Azure.
az login
- Choisissez votre abonnement Azure.
az account set -s <your-subscription-ID>
- Créez le groupe de ressources.
az group create --name rg-php-demo --location centralus
Créez une instance de serveur flexible Azure Database pour MySQL
Créez une instance Azure Database pour MySQL – Serveur flexible avec une connectivité d’accès public, exécutez la commande az flexible-server create suivante. Remplacez le nom du serveur, le nom d’utilisateur administrateur et le mot de passe par vos valeurs.
az mysql flexible-server create \ --name <your-mysql-server-name> \ --resource-group rg-php-demo \ --location centralus \ --admin-user <your-mysql-admin-username> \ --admin-password <your-mysql-admin-password>
Vous avez maintenant créé une instance Azure Database pour MySQL – Serveur flexible dans la région USA Centre. Le serveur est basé sur la référence SKU de calcul B1MS Burstable, avec un stockage de 32 Go, une période de rétention de sauvegarde de 7 jours et il est configuré avec une connectivité d’accès public.
Ensuite, pour créer une règle de pare-feu pour votre instance Azure Database pour MySQL – Serveur flexible afin d’autoriser les connexions clientes, exécutez la commande suivante. Lorsque l’adresse IP de début et l’adresse IP de fin sont définies sur 0.0.0.0, seules les autres ressources Azure (comme les applications App Services, les machines virtuelles, le cluster AKS, etc.) peuvent se connecter à l’instance Azure Database pour MySQL – Serveur flexible.
az mysql flexible-server firewall-rule create \ --name <your-mysql-server-name> \ --resource-group rg-php-demo \ --rule-name AllowAzureIPs \ --start-ip-address 0.0.0.0 \ --end-ip-address 0.0.0.0
Pour créer une nouvelle base de données de production Azure Database pour MySQL – Serveur flexible sampledb à utiliser avec l’application PHP, exécutez la commande suivante :
az mysql flexible-server db create \ --resource-group rg-php-demo \ --server-name <your-mysql-server-name> \ --database-name sampledb
Générer votre application
Pour les besoins de ce tutoriel, nous allons utiliser un exemple d’application PHP qui présente et gère un catalogue de produits. L’application fournit des fonctionnalités de base telles que l’affichage des produits dans le catalogue, l’ajout de nouveaux produits, la mise à jour des prix des articles existants et la suppression de produits.
Pour en savoir plus sur le code de l’application, explorez l’application dans le dépôt GitHub. Pour découvrir comment connecter une application PHP à Azure Database pour MySQL – Serveur flexible, reportez-vous au Guide de démarrage rapide : Se connecter à l’aide de PHP.
Dans ce tutoriel, nous allons cloner directement l’exemple d’application codée et apprendre à la déployer sur Azure App Service.
Pour cloner l’exemple de dépôt d’application et passer à la racine du dépôt, exécutez les commandes suivantes :
git clone https://github.com/Azure-Samples/php-mysql-app-service.git cd php-mysql-app-service
Exécutez la commande suivante pour vous assurer que la branche par défaut est
main
.git branch -m main
Créer et configurer une application web Azure App Service
Dans Azure App Service (Web Apps, API Apps ou Mobile Apps), une application s’exécute tout le temps dans un plan App Service. Un plan App Service définit un ensemble de ressources de calcul nécessaires à l’exécution d’une application web. Dans cette étape, nous allons créer un plan Azure App Service et une application web App Service dans celui-ci, lequel hébergera l’exemple d’application.
Pour créer un plan App Service dans le niveau tarifaire Gratuit, exécutez la commande suivante :
az appservice plan create --name plan-php-demo \ --resource-group rg-php-demo \ --location centralus \ --sku FREE --is-linux
Si vous souhaitez déployer une application sur une application web Azure à l’aide de méthodes de déploiement telles que FTP ou Git local, vous devez configurer un utilisateur de déploiement avec des informations d’identification de nom d’utilisateur et de mot de passe. Une fois que vous avez créé votre utilisateur de déploiement, vous pouvez vous en servir pour tous vos déploiements Azure App Service.
az webapp deployment user set \ --user-name <your-deployment-username> \ --password <your-deployment-password>
Pour créer une application web App Service avec le runtime PHP 8.0 et configurer l’option de déploiement Git local pour déployer votre application à partir d’un dépôt Git sur votre ordinateur local, exécutez la commande suivante. Remplacez
<your-app-name>
par un nom d’application global unique (caractères autorisés : a-z, 0-9 et -).az webapp create \ --resource-group rg-php-demo \ --plan plan-php-demo \ --name <your-app-name> \ --runtime "PHP|8.0" \ --deployment-local-git
Important
Dans la sortie Azure CLI, l’URL du dépôt distant Git s’affiche dans la propriété deploymentLocalGitUrl avec le format
https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Enregistrez cette URL, car vous en aurez besoin ultérieurement.Nous allons ensuite configurer les paramètres de connexion de données Azure Database pour MySQL – Serveur flexible sur l’application web.
Le fichier
config.php
de l’exemple d’application PHP récupère les informations de connexion de base de données (nom de serveur, nom de base de données, nom d’utilisateur du serveur et mot de passe) à partir des variables d’environnement à l’aide de la fonctiongetenv()
. Dans App Service, pour définir des variables d’environnement comme Paramètres d’application (appsettings), exécutez la commande suivante :az webapp config appsettings set \ --name <your-app-name> \ --resource-group rg-php-demo \ --settings DB_HOST="<your-server-name>.mysql.database.azure.com" \ DB_DATABASE="sampledb" \ DB_USERNAME="<your-mysql-admin-username>" \ DB_PASSWORD="<your-mysql-admin-password>" \ MYSQL_SSL="true"
Vous pouvez également utiliser Service Connector pour établir une connexion entre l’application App Service et l’instance Azure Database pour MySQL – Serveur flexible. Pour obtenir plus d’informations, consultez Intégrer Azure Database pour MySQL – Serveur flexible à Service Connector.
Déployer votre application à l’aide de Git local
À présent, nous allons déployer l’exemple d’application PHP sur Azure App Service en utilisant l’option de déploiement Git local.
Étant donné que vous déployez la branche main, vous devez définir la branche de déploiement par défaut pour votre application App Service sur main. Pour définir DEPLOYMENT_BRANCH sous Paramètres d’application, exécutez la commande suivante :
az webapp config appsettings set \ --name <your-app-name> \ --resource-group rg-php-demo \ --settings DEPLOYMENT_BRANCH='main'
Vérifiez que vous êtes dans le répertoire racine du dépôt d’applications.
Pour ajouter un dépôt distant Azure à votre dépôt Git local, exécutez la commande suivante. Remplacez
<deploymentLocalGitUrl>
par l’URL du dépôt distant Git que vous avez enregistrée lors de l’étape Créer une application web App Service.git remote add azure <deploymentLocalGitUrl>
Pour déployer votre application en utilisant un
git push
sur le dépôt distant Azure, exécutez la commande suivante. Lorsque le gestionnaire d’informations d’identification de Git vous invite à entrer des informations d’identification, entrez les informations de déploiement que vous avez créées lors de l’étape Configurer un utilisateur de déploiement.git push azure main
Le déploiement peut prendre quelques minutes.
Tester votre application
Enfin, testez l’application en accédant à https://<app-name>.azurewebsites.net
, puis ajoutez, consultez, mettez à jour ou supprimez des articles du catalogue de produits.
Félicitations ! Vous avez correctement déployé un exemple d’application PHP sur Azure App Service et vous l’avez intégré à Azure Database pour MySQL – Serveur flexible sur le back-end.
Mise à jour et redéploiement de l’application
Pour mettre à jour l’application Azure, apportez les modifications de code nécessaires, validez toutes les modifications dans Git, puis envoyez les modifications de code à Azure.
git add .
git commit -m "Update Azure app"
git push azure main
Une fois le git push
terminé, passez en revue ou actualisez l’application Azure pour tester la nouvelle fonctionnalité.
Nettoyer les ressources
Dans ce tutoriel, vous avez créé toutes les ressources Azure dans un groupe de ressources. Si vous ne pensez pas avoir besoin de ces ressources à l’avenir, supprimez le groupe de ressources en exécutant la commande suivante dans Cloud Shell :
az group delete --name rg-php-demo