Cómo alojar WordPress en el entorno flexible de App Engine

Este instructivo muestra cómo implementar un sitio pequeño de WordPress en el entorno flexible de Google App Engine.

Objetivos

  • Crear una instancia de Google Cloud SQL de segunda generación.
  • Configurar un sitio de WordPress de muestra.
  • Implementar el sitio de WordPress de muestra en el entorno flexible de App Engine.

Costos

En este instructivo, se usan componentes facturables de Cloud Platform, incluidos Google Compute Engine y Cloud SQL.

Los usuarios nuevos de Cloud Platform pueden ser aptos para una prueba gratuita.

Antes de comenzar

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Select or create a GCP project.

    Go to the Project selector page

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita las API necesarias.

    Habilita las API

  5. Install and initialize the Cloud SDK.
  6. Crea una nueva cuenta de servicio. Descarga el archivo de claves JSON y guárdalo en un lugar seguro.
  7. Instala PHP y Composer.
  8. Descarga Cloud SQL Proxy y haz que sea ejecutable. Además, agrega la ubicación del archivo ejecutable de Cloud SQL Proxy a tu variable de entorno PATH.
  9. Instala un cliente MySQL y verifica que la ubicación del archivo ejecutable mysql se encuentre en tu variable de entorno PATH.

Cómo crear y configurar una instancia de Cloud SQL de segunda generación

  1. Crea una nueva instancia de Cloud SQL de segunda generación:

    gcloud sql instances create tutorial-sql-instance \
        --activation-policy=ALWAYS \
        --tier=db-n1-standard-1
    
  2. Configura la contraseña raíz de tu instancia:

    gcloud sql users set-password root --instance tutorial-sql-instance \
        --password [YOUR_SQL_ROOT_PASSWORD]
    

    donde [YOUR_SQL_ROOT_PASSWORD] es una contraseña de seguridad que tú eliges.

  3. Ejecuta 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]
    

    donde:

    • [YOUR_PROJECT_ID] es el ID del proyecto.

    • [PATH_TO_YOUR_SERVICE_ACCOUNT_JSON] es la ruta al archivo JSON de la cuenta de servicio, que descargaste anteriormente.

    El resultado debería indicar que el proxy está listo para las conexiones nuevas:

    Listening on 127.0.0.1:3306 for [YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance
    Ready for new connections
    
  4. En otra ventana de la terminal, crea una base de datos y un usuario nuevos:

    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
    

    donde:

    • [YOUR_SQL_ROOT_PASSWORD] es la contraseña raíz de tu instancia de Cloud SQL.
    • [YOUR_DATABASE_PASSWORD] es una contraseña de seguridad que tú eliges.

Cómo configurar el proyecto de WordPress

  1. Clona el repositorio de muestra:

    git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
    
  2. Ve al directorio que contiene el código de muestra:

    cd php-docs-samples/appengine/flexible/wordpress
    
  3. Instale las dependencias:

    composer install
    
  4. Ejecuta la secuencia de comandos auxiliar:

    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]
    

    donde:

    • [YOUR_PROJECT_ID] es el ID del proyecto.
    • [YOUR_DATABASE_PASSWORD] es la contraseña de tu base de datos.

    El parámetro -d especifica la ubicación de tu proyecto de WordPress.

  5. La secuencia de comandos auxiliar escribe información en wordpress-project/wordpress/wp-config.php. Inspecciona el contenido de wp-config.php para verificar que tus nombres, el ID del proyecto y la contraseña de la base de datos son correctos.

    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]');
    }
    

Cómo implementar el proyecto de WordPress en el entorno flexible de App Engine

  1. Ve al diccionario de tu proyecto de WordPress:

    cd wordpress-project
    
  2. Implementa el proyecto de WordPress:

    gcloud app deploy \
        --promote --stop-previous-version app.yaml cron.yaml
    
  3. Accede al sitio y, luego, instala WordPress:

    gcloud app browse
    

    Este comando abre un navegador y muestra una página de instalación de WordPress. Sigue las instrucciones de la página.

    Como alternativa a ingresar el comando anterior, puedes ingresar esta URL en un navegador:

    https://[YOUR_PROJECT_ID].appspot.com
    

    en el que [YOUR_PROJECT_ID] es el ID del proyecto.

Cómo actualizar WordPress, los complementos y los temas

Es importante mantener actualizados WordPress, los complementos y los temas. Para esto, puedes usar la herramienta wp. Después de una actualización, debes volver a implementar el proyecto de WordPress.

  1. Actualiza WordPress:

    vendor/bin/wp core update --path=wordpress
    
  2. Actualiza los complementos:

    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. Actualiza los temas

    vendor/bin/wp theme update --all --path=wordpress
    
  4. Vuelve a implementar el proyecto:

    gcloud app deploy \
        --promote --stop-previous-version app.yaml cron.yaml
    

Limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud Platform por los recursos que usaste en este instructivo:

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, haz lo siguiente:

  1. In the GCP Console, go to the Projects page.

    Go to the Projects page

  2. In the project list, select the project you want to delete and click Delete .
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Borra las versiones no predeterminadas de tu app

Si no quieres borrar tu proyecto, puedes borrar las versiones no predeterminadas de tu app para reducir los costos.

Para borrar una versión de una app, haz lo siguiente:

  1. In the GCP Console, go to the Versions page for App Engine.

    Go to the Versions page

  2. Select the checkbox for the non-default app version you want to delete.
  3. Click Delete to delete the app version.

Borra tu instancia de Cloud SQL

Para borrar una instancia de Cloud SQL, haz lo siguiente:

  1. En GCP Console, ve a la página SQL Instances.

    Ir a la página SQL Instances.

  2. Selecciona el nombre de la instancia de SQL que quieres borrar.
  3. Haz clic en el botón Borrar en la parte superior de la página para borrar la instancia.

¿Qué sigue?

Obtén información sobre cómo ejecutar la muestra de Bookshelf en PHP en el entorno flexible de App Engine.

Obtén información sobre cómo ejecutar la app de muestra Bookshelf en PHP en Kubernetes Engine.

Obtén información sobre cómo ejecutar la app de muestra Bookshelf en PHP en Compute Engine.

Obtén información sobre WordPress.

Obtén información sobre cómo usar WordPress Multisite con tus propios dominios y Mailgun.

Prueba otras características de Google Cloud Platform tú mismo. Revisa nuestros instructivos.

¿Te ha resultado útil esta página? Enviar comentarios: