Aloja WordPress en el entorno flexible de App Engine

En este instructivo, se muestra cómo implementar un sitio pequeño de WordPress en el entorno flexible de App Engine.

Objetivos

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

Costos

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página de selección de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página Selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

  4. Habilita las API necesarias:

    Habilita las API

  5. Instala e inicializa el SDK de Cloud.
  6. Para crear credenciales, completa los pasos siguientes:
    • En Cloud Console, ve a la página Credenciales.

      Abrir la página Credenciales de API

    • Haz clic en Crear credenciales y selecciona Clave de cuenta de servicio.
    • Selecciona Cuenta de servicio > Cuenta de servicio predeterminada de App Engine.
    • Haz clic en Crear.
    • Guarda la clave descargada en un lugar seguro.
  7. Instala PHP y Composer.
  8. Descarga el proxy de Cloud SQL y haz que sea ejecutable. Además, agrega la ubicación del archivo ejecutable del proxy de Cloud SQL 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.

Crea y configura una instancia de Cloud SQL de segunda generación

  1. Crea una instancia de Cloud SQL de segunda generación de la manera siguiente:

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

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

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

  3. Descarga y ejecuta el proxy de Cloud SQL con el comando siguiente:

    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]
    

    La siguiente es una explicación de los parámetros del ejemplo anterior:

    • [YOUR_PROJECT_ID] es tu ID del proyecto de Google Cloud.

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

    El resultado siguiente indica que el proxy está listo para 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 con el comando siguiente:

    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
    

    La siguiente es una explicación de los parámetros del ejemplo anterior:

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

Configura 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]
    

    La siguiente es una explicación de los parámetros del ejemplo anterior:

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

    En el parámetro -dir, se especifica la ubicación de tu proyecto de WordPress.

  5. En la secuencia de comandos auxiliar, se 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 sean 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]');
    }
    

Implementa 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 con este comando:

    gcloud app deploy \
        --promote --stop-previous-version app.yaml cron.yaml
    
  3. En el navegador, ingresa la siguiente URL:

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

    Reemplaza los siguientes elementos:

Actualiza WordPress, los complementos y los temas

Es importante mantener actualizados WordPress, los complementos y los temas. Puedes mantener estos elementos actualizados mediante la herramienta wp. Después de una actualización, debes volver a implementar el proyecto de WordPress.

  1. Actualiza WordPress con el comando siguiente:

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

    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 con este comando:

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

    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, sigue estos pasos:

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a la página Administrar recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
  3. En el cuadro de diálogo, escribe el ID del proyecto y haz clic en Cerrar para borrar el proyecto.

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 la versión de una aplicación, haz lo siguiente:

  1. En Cloud Console, ve a la página Versiones de App Engine.

    Ir a la página Versiones

  2. Selecciona la casilla de verificación de la versión no predeterminada de la app que deseas borrar.
  3. Haz clic en Borrar para borrar la versión de la app.

Borra tu instancia de Cloud SQL

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

  1. En Cloud Console, ve a la página Instancias de SQL.

    Ir a la página SQL Instances.

  2. Haz clic en el nombre es la instancia de SQL que deseas borrar.
  3. Haz clic en Borrar para borrar la instancia.

Pasos siguientes