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
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 sans frais 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init - Créez des identifiants en procédant 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
mysqlest défini 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-central1Dé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 :
./cloud-sql-proxy \ -dir /tmp/cloudsql \ -instances=[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance \ -credential_file=[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
Où :
[YOUR_PROJECT_ID]est l'ID de votre 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 connectionsDans 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.gitAccédez au répertoire qui contient l'exemple de code :
cd php-docs-samples/appengine/flexible/wordpressInstallez les dépendances :
composer installExé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
-dirspé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.phppour 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-projectDéployez le projet WordPress :
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yamlDans votre navigateur Web, saisissez l'URL suivante :
https://PROJECT_ID.REGION_ID.r.appspot.comRemplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google CloudREGION_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=wordpressMettez à 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-contentMettez à jour les thèmes :
vendor/bin/wp theme update --all --path=wordpressRedé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 :
- Dans la console Google Cloud , accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
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 :
- Dans la console Google Cloud , accédez à la page Versions pour App Engine.
- Cochez la case correspondant à la version de l'application autre que celle par défaut que vous souhaitez supprimer.
- Pour supprimer la version de l'application, cliquez sur Supprimer.
Supprimer votre instance Cloud SQL
Pour supprimer une instance Cloud SQL :
- Dans la console Google Cloud , accédez à la page Instances.
- Cliquez sur le nom de l'instance SQL que vous souhaitez supprimer.
- Pour supprimer l'instance, cliquez sur Supprimer , puis suivez les 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 Cloud Architecture Center.