Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Installer un serveur web sur votre instance EC2
Installez un serveur Web sur l'instance EC2 que vous avez créée dans Lancez une EC2 instance pour vous connecter à votre instance de base de données de de bases de données. Le serveur Web se connecte à l'instance de base de données Amazon RDS que vous avez créée dans Créer une instance de base de données Amazon RDS.
Installer un serveur Web Apache avec PHP et MariaDB
Connectez-vous à votre instance EC2 et installez le serveur web.
Pour vous connecter à votre instance EC2 et installer le serveur Web Apache avec PHP
Connectez-vous à l'instance EC2 que vous avez créée précédemment en suivant les étapes décrites dans la section Connexion à votre instance Linux dans le guide de l'utilisateur Amazon EC2.
Nous vous recommandons de vous connecter à votre instance EC2 en utilisant SSH. Si l'utilitaire client SSH est installé sur Windows, Linux ou Mac, vous pouvez vous connecter à l'instance à l'aide du format de commande suivant :
ssh -i
location_of_pem_file
ec2-user@ec2-instance-public-dns-name
Supposons, par exemple, que
ec2-database-connect-key-pair.pem
soit stocké dans/dir1
sur Linux et que le DNS IPv4 public de votre instance EC2 soitec2-12-345-678-90.compute-1.amazonaws.com
. Votre commande SSH se présenterait comme suit :ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
Obtenez les dernières corrections de bogues et mises à jour de sécurité en mettant à jour le logiciel sur votre instance EC2. Pour ce faire, exécutez la commande suivante.
Note
L'option
-y
installe les mises à jour sans demander de confirmation. Pour examiner les mises à jour avant de les installer, omettez cette option.sudo dnf update -y
-
Une fois les mises à jour terminées, installez le serveur web Apache, PHP et le logiciel MariaDB ou PostgreSQL à l'aide des commandes suivantes. Cette commande installe plusieurs packages logiciels et les dépendances connexes au même moment.
Si vous recevez une erreur, votre instance n'a probablement pas été lancée avec une AMI Amazon Linux 2023. Vous utilisez peut-être une AMI Amazon Linux 2 à la place. Vous pouvez afficher votre version d'Amazon Linux avec la commande suivante
cat /etc/system-release
Pour plus d'informations, consultez Mise à jour du logiciel de l'instance.
Démarrez le serveur web avec la commande illustrée ci-dessous.
sudo systemctl start httpd
Vous pouvez vérifier que votre serveur web est correctement installé et démarré. Pour ce faire, saisissez le nom DNS (Domain Name System) public de votre instance EC2 dans la barre d'adresse d'un navigateur web, par exemple :
http://ec2-42-8-168-21.us-west-1.compute.amazonaws.com
. Si votre serveur Web est en cours d'exécution, vous voyez la page de test Apache.Si la page de test Apache ne s'affiche pas, vérifiez vos règles entrantes pour le groupe de sécurité du VPC que vous avez créé dans Tutoriel : créer un VPC à utiliser avec un(e) instance de base de données (IPv4 uniquement). Assurez-vous que vos règles entrantes incluent un accès HTTP (port 80) à l'adresse IP pour vous connecter au serveur Web.
Note
La page de test Apache apparaît uniquement en l'absence de contenu dans le répertoire racine des documents,
/var/www/html
. Après l'ajout de contenu dans le répertoire racine des documents, votre contenu apparaît à l'adresse DNS publique de votre instance EC2. Avant cela, il apparaît sur la page de test d'Apache.Configurez le serveur web pour qu'il démarre à chaque redémarrage du système à l'aide de la commande
systemctl
.sudo systemctl enable httpd
Pour autoriser ec2-user
à gérer les fichiers dans le répertoire racine par défaut pour votre serveur Web Apache, modifiez l'appartenance et les autorisations du répertoire /var/www
. Il existe plusieurs façons d'accomplir cette tâche. Dans ce didacticiel, vous ajoutez l'utilisateur ec2-user
au groupe apache
pour donner au groupe apache
la propriété du répertoire /var/www
et attribuer les autorisations d'écriture au groupe.
Pour définir les autorisations sur les fichiers pour le serveur Web Apache
Ajoutez l'utilisateur
ec2-user
au groupeapache
.sudo usermod -a -G apache ec2-user
Pour actualiser vos autorisations et inclure le nouveau groupe
apache
, déconnectez-vous.exit
Reconnectez-vous et vérifiez que le groupe
apache
existe à l'aide de la commandegroups
.groups
Votre sortie se présente comme suit :
ec2-user adm wheel apache systemd-journal
Remplacez le groupe propriétaire du répertoire
/var/www
et de son contenu par le groupeapache
.sudo chown -R ec2-user:apache /var/www
Modifiez les autorisations des répertoires
/var/www
et de ses sous-répertoires pour ajouter des autorisations d'écriture de groupe et définir l'ID de groupe sur les sous-répertoires créés à l'avenir.sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} \;
Modifiez de façon récursive les autorisations pour les fichiers figurant dans le répertoire
/var/www
et ses sous-répertoires pour ajouter des autorisations d'écriture de groupe.find /var/www -type f -exec sudo chmod 0664 {} \;
Maintenant, ec2-user
(et tous les futurs membres du groupe apache
) peut ajouter, supprimer et modifier les fichiers à la racine du document Apache. Cela vous permet d'ajouter du contenu, tel qu'un site Web statique ou une application PHP.
Note
Un serveur web exécutant le protocole HTTP ne fournit aucune sécurité de transport pour les données qu’il envoie ou reçoit. Lorsque vous vous connectez à un serveur HTTP via un navigateur Web, de nombreuses informations peuvent être vues par des personnes malveillantes sur le chemin d'accès réseau. Ces informations incluent les URL que vous visitez, le contenu des pages Web que vous recevez et le contenu (y compris les mots de passe) de tous les formulaires HTML.
Les bonnes pratiques en matière de sécurisation de votre serveur Web consistent à installer la prise en charge HTTPS (HTTP Secure). Ce protocole protège vos données avec le chiffrement SSL/TLS. Pour plus d'informations, consultez Didacticiel : Configurer SSL/TLS avec l'AMI Amazon Linux dans le Guide de l'utilisateur Amazon EC2.
Connecter le serveur web Apache à l'instance de base de données
Ensuite, vous allez ajouter du contenu à votre serveur web Apache qui se connecte à votre instance de base de données Amazon RDS.
Pour ajouter du contenu au serveur web Apache qui se connecte à votre instance de base de données
-
Alors que vous êtes encore connecté à votre instance EC2, remplacez le répertoire par
/var/www
et créez un sous-répertoire nomméinc
.cd /var/www mkdir inc cd inc
-
Créez un fichier dans le répertoire
inc
nommédbinfo.inc
, puis modifiez le fichier en appelant nano (ou l'éditeur de votre choix).>dbinfo.inc nano dbinfo.inc
-
Ajoutez le contenu suivant au fichier
dbinfo.inc
. Ici,db_instance_endpoint
est le point de terminaison de votre instance de base de données, sans le port, pour votre instance de base de données.Note
Nous vous recommandons de placer les informations de nom d'utilisateur et de mot de passe dans un dossier ne faisant pas partie de la racine du document de votre serveur web. Vous réduisez ainsi la possibilité d'exposer vos informations de sécurité.
Veillez à remplacer
master password
par un mot de passe approprié dans votre application.<?php define('DB_SERVER', '
db_instance_endpoint
'); define('DB_USERNAME', 'tutorial_user'); define('DB_PASSWORD', 'master password
'); define('DB_DATABASE', 'sample'); ?> -
Enregistrez et fermez le fichier
dbinfo.inc
. Si vous utilisez nano, enregistrez et fermez le fichier à l'aide des touches Ctrl+S et Ctrl+X. -
Remplacez le répertoire par
/var/www/html
.cd /var/www/html
-
Créez un fichier dans le répertoire
html
nomméSamplePage.php
, puis modifiez le fichier en appelant nano (ou l'éditeur de votre choix).>SamplePage.php nano SamplePage.php
-
Ajoutez le contenu suivant au fichier
SamplePage.php
: -
Enregistrez et fermez le fichier
SamplePage.php
. -
Vérifiez que votre serveur web se connecte avec succès à votre instance de base de données en ouvrant un navigateur web et en accédant à une page
http://
, par exemple :EC2 instance endpoint
/SamplePage.phphttp://ec2-12-345-67-890.us-west-2.compute.amazonaws.com/SamplePage.php
.
Vous pouvez utiliser SamplePage.php
pour ajouter des données à votreinstance de base de données. Les données que vous ajoutez sont ensuite affichées sur la page. Pour vérifier que les données ont été insérées dans la table, installez le client MySQL sur l'instance Amazon EC2. Connectez-vous ensuite à l'instance de bases de données et interrogez la table.
Pour plus d'informations sur l'installation du client MySQL et la connexion à une instance de base de données, consultez Connexion à une instance de base de données exécutant le moteur My SQL database.
Pour vérifier que la sécurité de votre instance de base de données est assurée, contrôlez que les sources extérieures du VPC ne peuvent pas se connecter à votre instance de base de données.
Après avoir testé votre serveur Web et votre base de données, vous devez supprimer votre instance de base de données et votre instance Amazon EC2.
-
Pour supprimer une instance de base de données, suivez les instructions de la section Suppression d'une instance DB. Vous n'avez pas besoin de créer un instantané final.
-
Pour résilier une instance Amazon EC2, suivez les instructions de la page Résilier votre instance dans le Guide de l'utilisateur Amazon EC2.