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
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API necesarias.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita las API necesarias.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Sigue estos pasos para crear credenciales:
En la consola de Google Cloud, ve a la página Credenciales.
- 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.
- Instala PHP y Composer.
-
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
. -
Instala un cliente MySQL y verifica que la ubicación del archivo ejecutable
mysql
se encuentre en tu variable de entornoPATH
.
Crea y configura una instancia de Cloud SQL de segunda generación
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
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 %
donde
[YOUR_SQL_ROOT_PASSWORD]
es una contraseña de seguridad que tú eliges.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
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
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.
Configura el proyecto de WordPress
Clona el repositorio de muestra:
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
Ve al directorio que contiene el código de muestra:
cd php-docs-samples/appengine/flexible/wordpress
Instale las dependencias:
composer install
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.
En el parámetro
-dir
, se especifica la ubicación de tu proyecto de WordPress.En la secuencia de comandos auxiliar, se escribe información en
wordpress-project/wordpress/wp-config.php
. Inspecciona el contenido dewp-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
Ve al diccionario de tu proyecto de WordPress:
cd wordpress-project
Implementa el proyecto de WordPress con este comando:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
En el navegador, ingresa la siguiente URL:
https://PROJECT_ID.REGION_ID.r.appspot.com
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto de Google CloudREGION_ID
: Es un código que asigna App Engine a la app.
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.
Actualiza WordPress con el comando siguiente:
vendor/bin/wp core update --path=wordpress
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
Actualiza los temas con este comando:
vendor/bin/wp theme update --all --path=wordpress
Vuelve a implementar el proyecto:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
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:
- En la consola de Google Cloud, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, 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 app:
- En la consola de Google Cloud, ve a la página Versiones de App Engine.
- Selecciona la casilla de verificación de la versión no predeterminada de la app que deseas borrar.
- Para borrar la versión de la app, haz clic en Borrar.
Borra tu instancia de Cloud SQL
Para borrar una instancia de Cloud SQL, haz lo siguiente:
- En la consola de Google Cloud, ve a la página Instancias.
- Haz clic en el nombre es la instancia de SQL que deseas borrar.
- Para borrar la instancia, haz clic en Borrar y sigue las instrucciones.
¿Qué sigue?
Aprende a ejecutar la aplicación de muestra de Bookshelf para PHP en el entorno flexible de App Engine.
Aprende a ejecutar la aplicación de muestra de Bookshelf para PHP en Google Kubernetes Engine.
Aprende a ejecutar la aplicación de muestra de Bookshelf para 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.
Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.