Héberger WordPress dans l'environnement flexible App Engine

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

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Installez la Google Cloud CLI.

  5. Configurez la gcloud CLI afin d'utiliser votre identité fédérée.

    Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.

  6. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  7. Créez des identifiants en procédant comme suit :
    • Dans la console Cloud de Confiance , accédez à la page Identifiants.

      Accéder à 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é.
  8. Installez PHP et Composer.
  9. 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.
  10. Installez un client MySQL et vérifiez que l'emplacement du fichier exécutable mysql est défini dans votre variable d'environnement PATH.

Créer et configurer une instance Cloud SQL de deuxième génération

  1. 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
    
  2. 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 %
    

    [YOUR_SQL_ROOT_PASSWORD] correspond au mot de passe sécurisé de votre choix.

  3. 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 Cloud de Confiance .

    • [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
    
  4. 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

  1. Clonez l'exemple de dépôt :

    git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
    
  2. Accédez au répertoire qui contient l'exemple de code :

    cd php-docs-samples/appengine/flexible/wordpress
    
  3. Installez les dépendances :

    composer install
    
  4. 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.

  5. Le script d'aide inscrit des informations dans wordpress-project/wordpress/wp-config.php. Inspectez le contenu de wp-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

  1. Accédez à votre répertoire de projet WordPress :

    cd wordpress-project
    
  2. Déployez le projet WordPress :

    gcloud app deploy \
        --promote --stop-previous-version app.yaml cron.yaml
    
  3. Dans votre navigateur Web, saisissez l'URL suivante :

    https://PROJECT_ID.REGION_ID.r.appspot.com

    Remplacez les éléments suivants :

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.

  1. Mettez à jour WordPress :

    vendor/bin/wp core update --path=wordpress
    
  2. 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
    
  3. Mettez à jour les thèmes :

    vendor/bin/wp theme update --all --path=wordpress
    
  4. 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 :

  1. Dans la console Cloud de Confiance , accédez à la page Gérer les ressources.

    Accéder à la page "Gérer les ressources"

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. 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 :

  1. Dans la console Cloud de Confiance , accédez à la page Versions pour App Engine.

    Accéder à la page "Versions"

  2. Cochez la case correspondant à la version de l'application autre que celle par défaut que vous souhaitez supprimer.
  3. Pour supprimer la version de l'application, cliquez sur  Supprimer.

Supprimer votre instance Cloud SQL

Pour supprimer une instance Cloud SQL :

  1. Dans la console Cloud de Confiance , accédez à la page Instances.

    Accéder à la page "Instances"

  2. Cliquez sur le nom de l'instance SQL que vous souhaitez supprimer.
  3. Pour supprimer l'instance, cliquez sur Supprimer , puis suivez les instructions.

Étapes suivantes