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. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the required APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the required APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Pour créer des identifiants, procédez comme suit :
    • Dans la console Google Cloud, 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é.
  13. Installez PHP et Composer.
  14. 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.
  15. Installez un client MySQL et vérifiez que l'emplacement du fichier exécutable mysql se trouve 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 :

    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
    
  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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. 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 :

  1. In the Google Cloud console, go to the Versions page for App Engine.

    Go to Versions

  2. Select the checkbox for the non-default app version that you want to delete.
  3. Pour supprimer la version de l'application, cliquez sur  Supprimer.

Supprimer votre instance Cloud SQL

Pour supprimer une instance Cloud SQL :

  1. In the Google Cloud console, go to the Instances page.

    Go to Instances

  2. Click the name of the SQL instance you that want to delete.
  3. To delete the instance, click Delete, and then follow the instructions.

Étapes suivantes