Este tutorial te resultará útil si:
- Ejecutas aplicaciones en App Engine.
- Usas Cloud SQL como tu base de datos.
- Usar phpMyAdmin como interfaz para MySQL o si prefieres una interfaz web para la administración de bases de datos.
Si usas Compute Engine, te recomendamos que utilices uno de los stacks de desarrollo o productos disponibles a través de Click to Deploy. 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
- Desplegar phpMyAdmin en el entorno estándar de App Engine.
Costes
Este tutorial usa componentes facturables de Cloud Platform, entre los que se incluyen los siguientes:
- App Engine
- Cloud SQL
Si quieres generar una estimación de costes en función del uso previsto, usa la calculadora de precios.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the gcloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the gcloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Crea una instancia de Cloud SQL de segunda generación.
- (Opcional) Despliega una aplicación de App Engine que use tu instancia de Cloud SQL o selecciona una aplicación existente.
Por ejemplo, crea y despliega la muestra del libro de visitas. Aunque puedes desplegar phpMyAdmin solo, es probable que desees utilizarlo con una aplicación de App Engine en tu escenario real.
En un terminal de Cloud Shell, introduce 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 una versión diferente de phpMyAdmin, usa los enlaces a las versiones disponibles en la página de descargas de phpMyAdmin.
Crea un nuevo directorio. Aquí deberás extraer los archivos.
mkdir phpMyAdmin
Extrae los contenidos del archivo en el nuevo directorio.
tar -xzvf phpMyAdmin-4.9.5-all-languages.tar.gz -C phpMyAdmin --strip-components=1
En el directorio que has creado, llamado
phpMyAdmin
, crea un archivo llamadoapp.yaml
.cd phpMyAdmin touch app.yaml
Con el editor que prefieras, pega el siguiente texto en
app.yaml
.Si vas a implementar phpMyAdmin como la primera y única aplicación en App Engine, cambia el valor de
service
dephpmyadmin
adefault
.De forma habitual, desplegarías phpMyAdmin como un servicio de una aplicación existente y proporcionarías un nombre para el servicio. Sin embargo, si aún no has desplegado una aplicación, debes usar el nombre de servicio "predeterminado". Esto es suficiente para los fines de este tutorial si vas a probar phpMyAdmin en App Engine.
Este tutorial funciona solo para el entorno estándar de App Engine.
Guarda el archivo.
Crea un archivo llamado
config.inc.php
.touch config.inc.php
Con el editor que prefieras, pega el siguiente texto en
config.inc.php
.Abre Google Cloud Shell y ejecuta lo siguiente para obtener una cadena aleatoria para tu blowfish:
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"
Pega el nuevo secreto en lugar de
{{your_secret}}
enconfig.inc.php
.Ve a la página Instancias de Cloud SQL de la Google Cloud consola.
Haz clic en la instancia de Cloud SQL para abrir su página de detalles de instancia.
Sustituye el valor de
{{your_connection_string}}
(en la variable$host
) por la propiedad Nombre de conexión de la instancia.Guarda el archivo.
Crea el archivo en el directorio
phpMyAdmin
.touch php.ini
Edita el archivo y agrega la siguiente línea:
Guarda el archivo.
Comprueba si hay actualizaciones para tus componentes de
gcloud
.gcloud components update
Para implementar la aplicación, ejecuta el siguiente comando desde el directorio
phpMyAdmin
en el que se encuentra el archivoapp.yaml
:gcloud app deploy
Este comando implementa la aplicación en el servicio
phpMyAdmin
, tal como se especifica en el archivoapp.yaml
. El despliegue 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 cómo desplegar tu aplicación desde la línea de comandos, consulta Desplegar una aplicación PHP.En tu navegador web, introduce la URL de phpMyAdmin para abrir la página de bienvenida. Cambia la URL para usar el ID de tu aplicación.
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.com
Para el nombre de usuario, introduce raíz.
Introduce la contraseña raíz que proporcionaste al configurar la cuenta raíz.
Haz clic en Ir.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- In the Google Cloud console, go to the Instances page.
- Click the name of the SQL instance you that want to delete.
- To delete the instance, click Delete, and then follow the instructions.
- Obtener más información sobre phpMyAdmin.
- Consulta arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Centro de arquitectura de Cloud.
Descargar el código fuente de phpMyAdmin
Desplegarás phpMyAdmin como un servicio de tu aplicación App Engine, por lo que debes descargar el código fuente de phpMyAdmin. Sigue estos pasos:
Preparar los archivos para el despliegue
Para desplegar phpMyAdmin, debes crear 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.
Crear app.yaml
El archivo de configuración de App Engine especifica cómo se corresponden las rutas URL con los controladores de peticiones y los archivos estáticos. Asimismo, contiene información acerca del código de la aplicación como, por ejemplo, el ID de aplicación y el identificador de la última versión. Para crear el archivo, sigue estos pasos:
Crear config.inc.php
Para crear el archivo de configuración phpMyAdmin, sigue estos pasos.
Crear php.ini
En su código, phpMyAdmin usa funciones que están inhabilitadas de forma predeterminada en App Engine.
Siga estos pasos para añadir un archivo php.ini
para que App Engine vuelva a habilitar las funciones:
Desplegar la aplicación
Usa los siguientes comandos para desplegar la aplicación en App Engine.
Iniciar sesión en phpMyAdmin
Ahora puedes iniciar sesión en phpMyAdmin.
A medida que desarrolles tu aplicación de App Engine, recuerda proteger con contraseña cualquier cuenta 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 instancias de segunda generación de Cloud SQL. 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 de la Google Cloud consola pueden proporcionar información sobre los errores de App Engine.
Limpieza
Cuando hayas terminado el tutorial, puedes eliminar los recursos que has creado para que dejen de usar cuota y generar cargos. En las siguientes secciones se explica cómo eliminar o desactivar dichos recursos.
Eliminar el proyecto
La forma más fácil de evitar que te cobren es eliminar el proyecto que has creado para el tutorial.
Para ello, sigue las instrucciones que aparecen a continuación:
Eliminar instancias
Para eliminar una instancia de Cloud SQL, sigue las instrucciones que se muestran a continuación: