Este instructivo te resultará útil si:
- Ejecutas aplicaciones en App Engine.
- Usas Cloud SQL como base de datos.
- Usar phpMyAdmin como interfaz de MySQL o usar una interfaz web para administrar la base de datos.
Si usas Compute Engine, considera usar una de las pilas de desarrollo o los productos disponibles a través de la implementación en un clic. Las implementaciones de pilas que incluyen MySQL, como LAMP y LEMP, o productos como Drupal, ofrecen la opción de instalar phpMyAdmin como parte de la implementación.
Objetivos
- Implementar phpMyAdmin en el entorno estándar de App Engine.
Costos
Este instructivo usa componentes facturables de Cloud Platform, incluidos los siguientes:
- App Engine
- Cloud SQL
Usa la calculadora de precios para generar una estimación de los costos según el uso previsto.
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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
- Crea una instancia de Cloud SQL de segunda generación.
- (Opcional) Implementa una aplicación de App Engine que use tu instancia de Cloud SQL o selecciona una aplicación existente.
Por ejemplo, crea y, luego, implementa la muestra del libro de visitas. Aunque puedes implementar phpMyAdmin de manera individual, es probable que te convenga usarlo con una aplicación de App Engine en una situación real.
Descarga el código fuente de phpMyAdmin
Implementarás phpMyAdmin como servicio de tu aplicación de App Engine, por eso debes descargar el código fuente de phpMyAdmin. Lleva a cabo los pasos siguientes:
En una terminal de Cloud Shell, ingresa el siguiente comando para descargar el código fuente de la versión 4.9.5 de phpMyAdmin:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.tar.gz
Para usar otra versión de phpMyAdmin, usa los vínculos a las versiones disponibles en la página de descarga de phpMyAdmin.
Crea un directorio nuevo. Usarás este directorio para extraer los archivos.
mkdir phpMyAdmin
Extrae los archivos en el directorio nuevo.
tar -xzvf phpMyAdmin-4.9.5-all-languages.tar.gz -C phpMyAdmin --strip-components=1
Prepara los archivos para la implementación
La implementación de phpMyAdmin requiere la creación de tres archivos: app.yaml
, que contiene la información de configuración de App Engine;config.inc.php
, que contiene la información de configuración de phpMyAdmin; y php.ini
, que contiene la configuración específica de la aplicación para PHP.
Crea app.yaml
El archivo de configuración de App Engine especifica la manera en que las rutas de URL corresponden a controladores de solicitudes y archivos estáticos. También contiene información sobre el código de la aplicación, como el ID de la aplicación y el identificador de la versión más reciente. Para crear el archivo, sigue estos pasos:
En el directorio que creaste, llamado
phpMyAdmin
, crea un nuevo archivo con el nombreapp.yaml
.cd phpMyAdmin touch app.yaml
Con tu editor favorito, pega el siguiente texto en
app.yaml
.Si implementas phpMyAdmin como la primera y única aplicación en App Engine, cambia el valor de
service
dephpmyadmin
adefault
.Por lo general, phpMyAdmin se implementa como un servicio de una aplicación existente y se le proporciona un nombre al servicio. Sin embargo, si aún no implementaste una aplicación, entonces es obligatorio que uses el nombre de servicio “default”. Eso está bien para los fines de este instructivo si estás probando phpMyAdmin en App Engine.
Este instructivo solo funciona para el entorno estándar de App Engine.
Guarda el archivo.
Crea config.inc.php
Sigue estos pasos para crear el archivo de configuración de phpMyAdmin.
Crea un archivo nuevo llamado
config.inc.php
.touch config.inc.php
Con tu editor favorito, pega el siguiente texto en
config.inc.php
.A fin de obtener una string aleatoria para el blowfish, abre Google Cloud Shell y ejecuta lo siguiente:
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"
Pega el secreto nuevo y reemplaza
{{your_secret}}
enconfig.inc.php
.Ve a la página de instancias de Cloud SQL en la consola de Google Cloud.
Haz clic en la instancia de Cloud SQL para ver la página detalles de la instancia.
Reemplaza el valor de
{{your_connection_string}}
(dentro de la variable$host
) por la propiedad Nombre de la conexión con la instancia.Guarda el archivo.
Crea php.ini
En su código, phpMyAdmin usa funciones que están inhabilitadas de manera predeterminada en App Engine.
Sigue estos pasos para agregar un archivo php.ini
, de modo que App Engine vuelva a habilitar las funciones:
En el directorio
phpMyAdmin
, crea el archivo.touch php.ini
Edita el archivo y agrega la siguiente línea:
Guarda el archivo.
Implementa la aplicación
Usa los siguientes comandos para implementar tu aplicación en App Engine.
Verifica si hay actualizaciones para los componentes de
gcloud
.gcloud components update
Implementa la aplicación mediante el siguiente comando desde el directorio
phpMyAdmin
en el que se encuentra tu archivoapp.yaml
:gcloud app deploy
Con este comando, se implementa la app en el servicio
phpMyAdmin
, como se especifica en tu archivoapp.yaml
. La implementación en un servicio independiente ayuda a garantizar que phpMyAdmin se ejecute en el mismo centro de datos que tu aplicación principal, lo que mejora el rendimiento. Para obtener más información sobre la implementación de la app desde la línea de comandos, consulta Implementa una aplicación PHP.
Cómo acceder a phpMyAdmin
Ahora puedes acceder a phpMyAdmin.
En tu navegador web, ingresa la URL de phpMyAdmin para abrir la página de bienvenida, y cambia la URL para usar el ID de la aplicación.
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.com
Como Nombre de usuario, ingresa raíz.
Ingresa la contraseña de raíz que proporcionaste cuando configuraste la cuenta raíz.
Haz clic en Ir.
Mientras desarrollas la aplicación de App Engine, recuerda proteger con contraseña todas las cuentas de usuario que crees para acceder a las bases de datos en Cloud SQL.
Solucionar problemas
App Engine usa el proxy de Cloud SQL Auth para conectarse a las instancias de Cloud SQL de segunda generación. Para obtener más información sobre cómo funciona el proxy de Cloud SQL Auth, consulta Información sobre el proxy de Cloud SQL Auth.
Los registros de App Engine en la consola de Google Cloud pueden proporcionar información sobre los errores de App Engine.
Limpia
Una vez que completes el instructivo, puedes limpiar los recursos que creaste para que dejen de usar la cuota y generar cargos. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.
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:
- 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.
Borrar instancias
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.
Próximos pasos
- Obtén más información sobre phpMyAdmin.
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.