

 AWS Cloud9 n'est plus disponible pour les nouveaux clients. Les clients existants d’ AWS Cloud9 peuvent continuer à l’utiliser normalement. [En savoir plus](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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.

# WordPress tutoriel pour AWS Cloud9
<a name="sample-wordpress"></a>

Ce didacticiel vous permet de l'installer et de l'exécuter WordPress dans un environnement de AWS Cloud9 développement. WordPress est un système de gestion de contenu (CMS) open source largement utilisé pour la diffusion de contenu Web. 

**Note**  
Le fait de suivre ce didacticiel et de créer cet exemple peut entraîner des frais sur votre AWS compte. Il peut s'agir de frais pour des services tels qu'Amazon Elastic Compute Cloud (Amazon EC2). Pour plus d’informations, consultez [Tarification Amazon EC2](https://aws.amazon.com/ec2/pricing/).

## Conditions préalables
<a name="sample-wordpress-prereqs"></a>

Avant d'utiliser cet exemple, vérifiez que votre configuration respecte les conditions requises suivantes :
+ **Vous devez disposer d'un environnement de développement AWS Cloud9 EC2 existant.** Cet exemple suppose que vous disposez déjà d'un environnement EC2 connecté à une instance Amazon EC2 s'exécutant sur Amazon Linux ou Ubuntu Server. Si vous utilisez un autre type d'environnement ou de système d'exploitation, vous devrez peut-être adapter les instructions de cet exemple pour configurer les outils associés. Pour de plus amples informations, veuillez consulter [Création d'un environnement dans AWS Cloud9](create-environment.md).
+ **L' AWS Cloud9 IDE correspondant à l'environnement existant est déjà ouvert.** Lorsque vous ouvrez un environnement, AWS Cloud9 ouvre l'IDE correspondant à cet environnement dans votre navigateur Web. Pour de plus amples informations, veuillez consulter [Ouvrir un environnement dans AWS Cloud9](open-environment.md).
+ **Vous disposez d'une instance up-to-date EC2 dotée de tous les derniers packages logiciels**. Dans la fenêtre du terminal AWS Cloud9 IDE, vous pouvez exécuter `yum update` avec l'`-y`option d'installer les mises à jour sans demander de confirmation. Si vous souhaitez examiner les mises à jour avant l’installation, vous pouvez omettre cette option. 

  ```
  sudo yum update -y
  ```

## Présentation de l'installation
<a name="task-overview"></a>

L'installation WordPress sur l'instance EC2 de votre environnement implique les étapes suivantes :

1. Installation et configuration du serveur MariaDB, qui est une base de données relationnelle open source qui stocke des informations pour les installations WordPress 

1. Installation et configuration WordPress, y compris la modification du fichier `wordpress.conf` de configuration

1. Configuration du serveur Apache qui héberge le WordPress site

1. Prévisualisation du contenu WordPress Web hébergé par le serveur Apache

## Etape 1 : Installation et configuration de MariaDB Server
<a name="wp-install-configure-mariadb"></a>

1. Dans l' AWS Cloud9 IDE, choisissez **Window**, **New Terminal** et entrez les commandes suivantes pour installer et démarrer une installation de MariaDB Server :

   ```
   sudo yum install -y mariadb-server
   sudo systemctl start mariadb
   ```

1. Exécutez ensuite le script `mysql_secure_installation` pour améliorer la sécurité de votre installation de MariaDB Server. 

   Lorsque vous fournissez des réponses au script, appuyez sur **Entrée** à la première question afin de conserver le mot de passe root vide. Appuyez sur **n** pour `Set root password?` puis sur **y** pour chacune des autres options de sécurité.

   ```
   mysql_secure_installation
   ```

1. Créez maintenant une table de base de données pour stocker WordPress des informations à l'aide du client MariaDB.

   (Appuyez sur **Entrée** lorsque vous êtes invité à entrer votre mot de passe.)

   ```
   sudo mysql -u root -p
   MariaDB [(none)]> create database wp_test;
   MariaDB [(none)]> grant all privileges on wp_test.* to root@localhost identified by ';'
   ```

1. Pour vous déconnecter du client MariaDB, exécutez la commande `exit`.

## Étape 2 : Installation et configuration WordPress
<a name="wp-install-configure-wordpress"></a>

1. Dans la fenêtre du terminal de l'IDE, accédez au répertoire `environment`, puis créez les répertoires `config` et `wordpress`. Exécutez ensuite la commande `touch` pour créer un fichier, appelé `wordpress.conf` dans le répertoire `config` :

   ```
   cd /home/ec2-user/environment
   mkdir config wordpress
   touch config/wordpress.conf
   ```

1. Utilisez l'éditeur IDE ou vim pour mettre à jour les informations `wordpress.conf` de configuration de l'hôte qui permettent au serveur Apache de diffuser du WordPress contenu :

   ```
   # Ensure that Apache listens on port 80
   Listen 8080
   <VirtualHost *:8080>
       DocumentRoot "/var/www/wordpress"
       ServerName www.example.org
       # Other directives here
   </VirtualHost>
   ```

1. Exécutez maintenant les commandes suivantes pour récupérer le fichier d'archive requis et l'installer WordPress : 

   ```
   cd /home/ec2-user/environment
   wget https://wordpress.org/latest.tar.gz
   tar xvf latest.tar.gz
   ```

1. Exécutez la commande `touch` pour créer un fichier appelé `wp-config.php` dans le répertoire `environment/wordpress` :

   ```
   touch wordpress/wp-config.php
   ```

1. Utilisez l'éditeur IDE ou vim pour mettre à jour `wp-config.php` et remplacer les exemples de données par votre configuration : 

   ```
   // ** MySQL settings - You can get this info from your web host ** //
   /** The name of the database for WordPress */
   define( 'DB_NAME', 'wp_test' );
   
   /** MySQL database username */
   define( 'DB_USER', 'wp_user' );
   
   /** MySQL database password */
   define( 'DB_PASSWORD', 'YourSecurePassword' );
   
   /** MySQL hostname */
   define( 'DB_HOST', 'localhost' );
   
   /** Database Charset to use in creating database tables. */
   define( 'DB_CHARSET', 'utf8' );
   
   /** The Database Collate type. Don't change this if in doubt. */
   define( 'DB_COLLATE', '' );
   
   define('FORCE_SSL', true);
   
   if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS'] = 'on';
   ```

## Étape 3 : Configuration de votre serveur HTTP Apache
<a name="wp-install-configure-apache"></a>

1. Dans la fenêtre du terminal AWS Cloud9 IDE, assurez-vous qu'Apache est installé : 

   ```
   httpd -v
   ```

   Si le serveur Apache n'est pas installé, exécutez la commande suivante :

   ```
   sudo yum install -y httpd 
   ```

1. Accédez au répertoire `/etc/httpd/conf.d`, qui est l'emplacement des fichiers de configuration de l'hôte virtuel d'Apache. Ensuite, utilisez la commande `ln` pour lier le `wordpress.conf` que vous avez créé précédemment au répertoire de travail actuel (`/etc/httpd/conf.d`) :

   ```
   cd /etc/httpd/conf.d
   sudo ln -s /home/ec2-user/environment/config/wordpress.conf
   ```

1. Accédez maintenant au répertoire `/var/www`, qui est le dossier racine par défaut des serveurs Apache. Puis utilisez la commande `ln` pour lier le répertoire `wordpress` que vous avez créé précédemment au répertoire de travail actuel (`/var/www`) : 

   ```
   cd /var/www
   sudo ln -s /home/ec2-user/environment/wordpress
   ```

1. Exécutez la commande `chmod` pour permettre au serveur Apache d'exécuter du contenu dans le sous-répertoire `wordpress` :

   ```
   sudo chmod +x /home/ec2-user/
   ```

1. Redémarrez maintenant le serveur Apache pour lui permettre de détecter les nouvelles configurations : 

   ```
   sudo service httpd restart
   ```

## Étape 4 : prévisualisation du contenu WordPress Web
<a name="wp-preview-wordpress"></a>

1. À l'aide AWS Cloud9 de l'IDE, créez un nouveau fichier appelé `index.html` dans le répertoire suivant : `environment/wordpress`

1. Ajoutez du texte au format HTML à `index.html`. Par exemple :

   ```
   <h1>Hello World!</h1>
   ```

1. Dans la fenêtre **Environnement**, choisissez le `index.html` fichier, puis sélectionnez **Aperçu, Aperçu** **de l'application en cours d'exécution**.

   La page web, qui affiche le *Hello World \$1*, apparaît dans l'onglet de prévisualisation de l'application. Pour afficher le contenu web dans votre navigateur préféré, choisissez **Ouvrir dans une nouvelle fenêtre**.

   Si vous supprimez le `index.html` fichier et actualisez l'onglet d'aperçu de l'application, la page WordPress de configuration s'affiche. 

## Gestion des erreurs de contenu mixte
<a name="wp-allow-mixed"></a>

Les navigateurs Web affichent des erreurs de contenu mixte pour un WordPress site s'il charge des scripts ou du contenu HTTPS et HTTP en même temps. Le libellé des messages d'erreur dépend du navigateur web que vous utilisez, mais vous êtes informé que votre connexion à un site n'est pas sécurisée ou n'est pas entièrement sécurisée. Et votre navigateur web bloque l'accès au contenu mixte.

**Important**  
Par défaut, toutes les pages web auxquelles vous accédez dans l'onglet Prévisualisation de l'application de l'IDE AWS Cloud9 utilisent automatiquement le protocole HTTPS. Si l'URI d'une page comporte le protocole `http` non sécurisé, il est automatiquement remplacé par `https`. Et vous ne pouvez pas accéder au contenu non sécurisé en modifiant manuellement `https` pour revenir à `http`.  
Pour obtenir des conseils sur la mise en œuvre du protocole HTTPS pour votre site Web, consultez la [WordPressdocumentation](https://wordpress.org/support/article/https-for-wordpress/).