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
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the gcloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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 5.2.3 de phpMyAdmin:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.3/phpMyAdmin-5.2.3-all-languages.tar.gzPara 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 phpMyAdminExtrae los archivos en el directorio nuevo.
tar -xzvf phpMyAdmin-5.2.3-all-languages.tar.gz -C phpMyAdmin --strip-components=1
Prepara los archivos para la implementación
Para implementar phpMyAdmin, debes crear dos archivos: app.yaml, que
contiene la información de configuración de App Engine, y
config.inc.php, que contiene la información de configuración de phpMyAdmin.
Crear 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 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.yamlCon tu editor favorito, pega el siguiente texto en
app.yaml.service: phpmyadmin runtime: php83 handlers: - url: /(.+\.(ico|jpg|png|gif))$ static_files: \1 upload: (.+\.(ico|jpg|png|gif))$ - url: /(.+\.(htm|html|css|js))$ static_files: \1 upload: (.+\.(htm|html|css|js))$ - url: /.* script: auto secure: alwaysSi implementas phpMyAdmin como la primera y única aplicación en App Engine, cambia el valor de
servicedephpmyadminadefault.Por lo general, implementarías phpMyAdmin como un servicio de una aplicación existente y proporcionarías un nombre para el servicio. Sin embargo, si aún no implementaste una aplicación, debes usar el nombre de servicio "default". Esto es suficiente 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.phpCon tu editor favorito, pega el siguiente texto en
config.inc.php.<?php /** * Copyright 2016 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * This is needed for cookie based authentication to encrypt password in * cookie * http://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator */ $cfg['blowfish_secret'] = '{{your_secret}}'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ /* * Servers configuration */ $i = 0; // Change this to use the project and instance that you've created. $host = '/cloudsql/{{your_connection_string}}'; $type = 'socket'; /* * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['socket'] = $host; $cfg['Servers'][$i]['connect_type'] = $type; $cfg['Servers'][$i]['compress'] = false; /* Select mysql if your server does not have mysqli */ $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = true; /* * End of servers configuration */ /* * Directories for saving/loading files from server */ $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; $cfg['TempDir'] = '/tmp'; /* * Other settings */ $cfg['PmaNoRelation_DisableWarning'] = true; $cfg['ExecTimeLimit'] = 60; $cfg['CheckConfigurationPermissions'] = false;Abre Cloud Shell y ejecuta el siguiente comando para obtener una cadena aleatoria para el blowfish:
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 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.
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 updateImplementa la aplicación mediante el siguiente comando desde el directorio
phpMyAdminen el que se encuentra tu archivoapp.yaml:gcloud app deployEste comando 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.comComo 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 autenticación de Cloud SQL 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 autenticación de Cloud SQL, consulta Información sobre el proxy de autenticación de Cloud SQL.
Los registros de App Engine en la consola deGoogle Cloud pueden proporcionar información sobre los errores de App Engine.
Realiza una limpieza
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 Google Cloud consola, 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 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 de la instancia de SQL que deseas borrar.
- Para borrar la instancia, haz clic en Borrar y sigue las instrucciones.
¿Qué sigue?
- 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.