Alojar WordPress en el entorno flexible de App Engine

En este tutorial, se muestra cómo desplegar un pequeño sitio 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 muestra de WordPress.
  • Desplegar el sitio de muestra de WordPress en el entorno flexible de App Engine.

Costes

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

Es posible que los nuevos usuarios de Cloud Platform tengan derecho a una versión de prueba gratuita.

Antes de empezar

  1. Accede a tu Cuenta de Google.

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

  2. Selecciona o crea un proyecto de GCP.

    Ir a la página Administrar recursos

  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. Realiza la instalación y la inicialización del SDK de Cloud.
  6. Crea una nueva cuenta de servicio. Descarga el archivo de clave JSON y guárdalo en un lugar seguro.
  7. Instala PHP y Composer.
  8. Descarga el proxy de Cloud SQL y haz que sea ejecutable. Además, añade la ubicación del archivo ejecutable del proxy de Cloud SQL a la variable de entorno PATH.
  9. Instala un cliente MySQL y verifica que la ubicación del archivo ejecutable de mysql esté en la variable de entorno PATH.

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. Define la contraseña raíz de la instancia:

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

    Donde [YOUR_SQL_ROOT_PASSWORD] es la contraseña segura que elijas.

  3. Ejecuta el proxy de Cloud SQL:

    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 nuevas conexiones:

    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 terminal, crea una nueva base de datos y un usuario:

    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 la instancia de Cloud SQL.
    • [YOUR_DATABASE_PASSWORD] es la contraseña segura que elijas.

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/wordpress
    
  3. Instala las dependencias:

    composer install
    
  4. Ejecuta la secuencia de comandos de ayuda:

    php wordpress-helper.php setup -n \
        -d ./wordpress-project \
        --db_instance=tutorial-sql-instance \
        --db_name=tutorialdb \
        --db_user=tutorial-user \
        -p [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 del proyecto de WordPress.

  5. La secuencia de comandos de ayuda incluye información en wordpress-project/wordpress/wp-config.php. Inspecciona el contenido de wp-config.php y comprueba que los 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]');
    }
    

Desplegar el proyecto de WordPress en el entorno flexible de App Engine

  1. Ve al directorio del proyecto de WordPress:

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

    gcloud app deploy
    
  3. Accede al sitio e 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.

    En lugar de usar el comando anterior, también puedes introducir la siguiente URL en un navegador:

    https://[YOUR_PROJECT_ID].appspot.com
    

    Donde [YOUR_PROJECT_ID] es el ID del proyecto.

Actualizar WordPress, complementos y temas

Resulta fundamental mantener actualizado WordPress, al igual que los complementos y temas. Para ello, puedes emplear la herramienta wp. Después de una actualización, tienes que volver a desplegar 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. Despliega el proyecto nuevamente:

    gcloud app deploy
    

Eliminar los recursos

Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud Platform, sigue estas instrucciones:

Eliminar el proyecto

La forma más fácil de evitar la facturación consiste en eliminar el proyecto que has creado para el tutorial.

Para eliminar el proyecto, sigue las instrucciones que figuran a continuación:

  1. En la GCP Console, dirígete a la página Proyectos.

    Ir a la página Proyectos

  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, luego, haz clic en Cerrar para borrar el proyecto.

Eliminar versiones no predeterminadas de la aplicación

Si no quieres eliminar el proyecto, puedes reducir los costes quitando las versiones no predeterminadas de la aplicación.

Para eliminar una versión de la aplicación, sigue las instrucciones que figuran a continuación:

  1. En GCP Console, dirígete a la página Versiones de App Engine.

    Ir a la página de Versiones

  2. Haz clic en la casilla de verificación junto a la versión de app no predeterminada que deseas borrar.
  3. Haz clic en el botón Borrar en la parte superior de la página para borrar la versión de la app.

Eliminar una instancia de Cloud SQL

Para eliminar una instancia de Cloud SQL, sigue las instrucciones que se muestran a continuación:

  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.

Siguientes pasos

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

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

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

Obtén más información sobre WordPress.

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

Prueba otras funciones de Google Cloud Platform por tu cuenta. Echa un vistazo a nuestros tutoriales.

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