Ce tutoriel montre comment déployer un petit site WordPress dans l'environnement flexible App Engine.
Objectifs
- Créer une instance Cloud SQL de deuxième génération
- Configurer un exemple de site WordPress
- Déployer l'exemple de site WordPress dans l'environnement flexible App Engine
Coûts
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Pour créer des identifiants, procédez comme suit :
Dans la console Google Cloud, accédez à la page Identifiants.
- Cliquez sur Créer des identifiants, puis sélectionnez Clé de compte de service.
- Sélectionnez Compte de service > Compte de service App Engine par défaut.
- Cliquez sur Créer.
- Enregistrez la clé téléchargée dans un emplacement sécurisé.
- Installez PHP et Composer.
-
Téléchargez le proxy Cloud SQL et rendez-le exécutable : Ajoutez également l'emplacement du fichier exécutable du proxy Cloud SQL à votre variable d'environnement
PATH
. -
Installez un client MySQL et vérifiez que l'emplacement du fichier exécutable
mysql
se trouve dans votre variable d'environnementPATH
.
Créer et configurer une instance Cloud SQL de deuxième génération
Créez une instance Cloud SQL de deuxième génération :
gcloud sql instances create tutorial-sql-instance \ --activation-policy=ALWAYS \ --tier=db-n1-standard-1 \ --region=us-central1
Définissez le mot de passe racine pour votre instance :
gcloud sql users set-password root --instance tutorial-sql-instance \ --password [YOUR_SQL_ROOT_PASSWORD] \ --host %
Où
[YOUR_SQL_ROOT_PASSWORD]
correspond au mot de passe sécurisé de votre choix.Téléchargez et exécutez le proxy Cloud SQL :
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy cloud_sql_proxy \ -dir /tmp/cloudsql \ -instances=[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance=tcp:3306 \ -credential_file=[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
Où :
[YOUR_PROJECT_ID]
correspond à votre ID de projet Google Cloud.[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
correspond au chemin d'accès au fichier JSON du compte de service que vous avez précédemment téléchargé.
Le résultat suivant indique que le proxy est prêt pour de nouvelles connexions :
Listening on 127.0.0.1:3306 for [YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance Ready for new connections
Dans une autre fenêtre de terminal, créez une base de données et un utilisateur :
mysql -h 127.0.0.1 -u root --password=[YOUR_SQL_ROOT_PASSWORD] mysql> create database tutorialdb; mysql> create user 'tutorial-user'@'%' identified by '[YOUR_DATABASE_PASSWORD]'; mysql> grant all on tutorialdb.* to 'tutorial-user'@'%'; mysql> exit
où :
[YOUR_SQL_ROOT_PASSWORD]
correspond au mot de passe racine de votre instance Cloud SQL ;[YOUR_DATABASE_PASSWORD]
correspond au mot de passe sécurisé de votre choix.
Configurer le projet WordPress
Clonez l'exemple de dépôt :
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
Accédez au répertoire qui contient l'exemple de code :
cd php-docs-samples/appengine/flexible/wordpress
Installez les dépendances :
composer install
Exécutez le script d'aide :
php wordpress.php setup -n \ --dir=./wordpress-project \ --db_instance=tutorial-sql-instance \ --db_name=tutorialdb \ --db_user=tutorial-user \ --project_id=[YOUR_PROJECT_ID] \ --db_password=[YOUR_DATABASE_PASSWORD]
où :
[YOUR_PROJECT_ID]
est l'ID de votre projet.[YOUR_DATABASE_PASSWORD]
correspond au mot de passe de votre base de données.
Le paramètre
-dir
spécifie l'emplacement de votre projet WordPress.Le script d'aide inscrit des informations dans
wordpress-project/wordpress/wp-config.php
. Inspectez le contenu dewp-config.php
pour vérifier que vos noms, ID de projet et mot de passe de base de données sont corrects.if ($onGae) { /** Production environment */ define('DB_HOST', ':/cloudsql/[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance'); /** The name of the database for WordPress */ define('DB_NAME', 'tutorialdb'); /** MySQL database username */ define('DB_USER', 'tutorial-user'); /** MySQL database password */ define('DB_PASSWORD', '[YOUR_DATABASE_PASSWORD]'); } else { /** Local environment */ define('DB_HOST', '127.0.0.1'); /** The name of the database for WordPress */ define('DB_NAME', 'tutorialdb'); /** MySQL database username */ define('DB_USER', 'tutorial-user'); /** MySQL database password */ define('DB_PASSWORD', '[YOUR_DATABASE_PASSWORD]'); }
Déployer le projet WordPress dans l'environnement flexible App Engine
Accédez à votre répertoire de projet WordPress :
cd wordpress-project
Déployez le projet WordPress :
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
Dans votre navigateur Web, saisissez l'URL suivante :
https://PROJECT_ID.REGION_ID.r.appspot.com
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud.REGION_ID
: code attribué par App Engine à votre application
Mettre à jour WordPress, les plug-ins et les thèmes
Il est important de maintenir à jour WordPress, les plug-ins et les thèmes. Pour ce faire, vous pouvez utiliser l'outil wp
. Après une mise à jour, vous devez redéployer le projet WordPress.
Mettez à jour WordPress :
vendor/bin/wp core update --path=wordpress
Mettez à jour les plug-ins :
vendor/bin/wp plugin update --all --path=wordpress # Just in case it updates any of the dropins, copy the files: cp wordpress/wp-content/plugins/batcache/advanced-cache.php \ wordpress/wp-content/plugins/memcached/object-cache.php \ wordpress/wp-content
Mettez à jour les thèmes :
vendor/bin/wp theme update --all --path=wordpress
Redéployez le projet :
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer les versions autres que celle par défaut de votre application
Si vous ne souhaitez pas supprimer votre projet, vous pouvez réduire les coûts en supprimant les versions autres que celle par défaut de votre application.
Pour supprimer une version d'application :
- In the Google Cloud console, go to the Versions page for App Engine.
- Select the checkbox for the non-default app version that you want to delete.
- Pour supprimer la version de l'application, cliquez sur Supprimer.
Supprimer votre instance Cloud SQL
Pour supprimer une instance Cloud SQL :
- In the Google Cloud console, go to the Instances page.
- Click the name of the SQL instance you that want to delete.
- To delete the instance, click Delete, and then follow the instructions.
Étapes suivantes
Découvrez comment exécuter l'exemple d'application PHP Bookshelf dans l'environnement flexible App Engine.
Découvrez comment exécuter l'exemple d'application PHP Bookshelf sur Google Kubernetes Engine.
Découvrez comment exécuter l'exemple d'application PHP Bookshelf sur Compute Engine.
Obtenez plus d'informations sur WordPress.
En savoir plus sur l'utilisation de WordPress multisites avec vos propres domaines et Mailgun.
Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.