Questo tutorial ti sarà utile se:
- Eseguire applicazioni su App Engine.
- Utilizza Cloud SQL come database.
- Utilizzare phpMyAdmin come interfaccia per MySQL o preferire un'interfaccia web per l'amministrazione del database.
Se utilizzi Compute Engine, valuta la possibilità di utilizzare uno degli stack di sviluppo o dei prodotti disponibili tramite Click to Deploy. I deployment di stack che includono MySQL, come LAMP e LEMP, o prodotti come Drupal, offrono un'opzione per installare phpMyAdmin nell'ambito del deployment.
Obiettivi
- Esegui il deployment di phpMyAdmin nell'ambiente standard di App Engine.
Costi
Questo tutorial utilizza i componenti fatturabili di Cloud Platform, tra cui:
- App Engine
- Cloud SQL
Utilizza il Calcolatore prezzi per generare una stima
dei costi in base all'utilizzo previsto.
Prima di iniziare
-
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 un'istanza Cloud SQL di seconda generazione.
- (Facoltativo) Esegui il deployment di un'applicazione App Engine che utilizza l'istanza Cloud SQL o seleziona un'applicazione esistente.
Ad esempio, crea ed esegui il deployment dell'esempio di guestbook. Sebbene sia possibile eseguire il deployment di phpMyAdmin da solo, probabilmente vorrai utilizzarlo con un'applicazione App Engine nel tuo scenario reale.
Scarica il codice sorgente di phpMyAdmin
Eseguirai il deployment di phpMyAdmin come servizio della tua applicazione App Engine, quindi devi scaricare il codice sorgente di phpMyAdmin. Segui questi passaggi:
In un terminale Cloud Shell, inserisci il seguente comando per scaricare il codice sorgente per phpMyAdmin versione 5.2.3:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.3/phpMyAdmin-5.2.3-all-languages.tar.gzPer utilizzare una versione diversa di phpMyAdmin, utilizza i link alle versioni disponibili nella pagina dei download di phpMyAdmin.
Crea una nuova directory. Estrai i file in questa directory.
mkdir phpMyAdminEstrai i file dall'archivio nella nuova directory.
tar -xzvf phpMyAdmin-5.2.3-all-languages.tar.gz -C phpMyAdmin --strip-components=1
Prepara i file per il deployment
Il deployment di phpMyAdmin richiede la creazione di due file: app.yaml, che contiene le informazioni di configurazione per App Engine, e config.inc.php, che contiene le informazioni di configurazione per phpMyAdmin.
Crea app.yaml
Il file di configurazione di App Engine specifica in che modo i percorsi dell'URL corrispondono ai gestori delle richieste e ai file statici. Contiene anche informazioni sul codice dell'applicazione, come l'ID applicazione e l'identificatore dell'ultima versione. Per creare il file:
Nella directory che hai creato, denominata
phpMyAdmin, crea un nuovo file denominatoapp.yaml.cd phpMyAdmin touch app.yamlUtilizzando il tuo editor preferito, incolla il seguente testo in
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: alwaysSe esegui il deployment di phpMyAdmin come prima e unica applicazione in App Engine, modifica il valore di
servicedaphpmyadminadefault.In genere, il deployment di phpMyAdmin viene eseguito come servizio di un'applicazione esistente e viene fornito un nome per il servizio. Tuttavia, se non hai ancora eseguito il deployment di un'applicazione, devi utilizzare il nome del servizio "default". Questo va bene ai fini di questo tutorial se stai provando phpMyAdmin su App Engine.
Questo tutorial funziona solo per l'ambiente standard App Engine.
Salva il file.
Crea config.inc.php
Segui questi passaggi per creare il file di configurazione di phpMyAdmin.
Crea un nuovo file denominato
config.inc.php.touch config.inc.phpUtilizzando il tuo editor preferito, incolla il seguente testo in
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;Apri Cloud Shell ed esegui questo comando per ottenere una stringa casuale per il tuo blowfish:
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"Incolla il nuovo secret al posto di
{{your_secret}}inconfig.inc.php.Vai alla pagina Istanze Cloud SQL nella console Google Cloud .
Fai clic sull'istanza Cloud SQL per visualizzare la pagina dei dettagli dell'istanza.
Sostituisci il valore di
{{your_connection_string}}(all'interno della variabile$host) con la proprietà Nome connessione istanza.Salva il file.
Esegui il deployment dell'applicazione
Utilizza i seguenti comandi per eseguire il deployment della tua applicazione in App Engine.
Verifica la disponibilità di aggiornamenti per i componenti
gcloud.gcloud components updateEsegui il deployment dell'applicazione eseguendo questo comando dalla directory
phpMyAdminin cui si trova il fileapp.yaml:gcloud app deployQuesto comando esegue il deployment dell'app nel servizio
phpMyAdmin, come specificato nel fileapp.yaml. Il deployment in un servizio separato contribuisce a garantire che phpMyAdmin venga eseguito nello stesso data center dell'applicazione principale, il che migliora le prestazioni. Per scoprire di più sul deployment dell'app dalla riga di comando, consulta Deployment di un'app PHP.
Accedi a phpMyAdmin
Ora puoi accedere a phpMyAdmin.
Nel browser web, inserisci l'URL di phpMyAdmin per aprire la pagina di benvenuto, modificando l'URL in modo che utilizzi l'ID app.
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.comIn Nome utente, inserisci root.
Inserisci la password root che hai fornito quando hai configurato l'account root.
Fai clic su Vai.
Durante lo sviluppo della tua app App Engine, ricordati di proteggere con password tutti gli account utente che crei per accedere ai database in Cloud SQL.
Risoluzione dei problemi
App Engine utilizza il proxy di autenticazione Cloud SQL per connettersi alle istanze Cloud SQL di seconda generazione. Per saperne di più sul funzionamento del proxy di autenticazione Cloud SQL, consulta Informazioni sul proxy di autenticazione Cloud SQL.
I log di App Engine nella consoleGoogle Cloud possono fornire informazioni sugli errori di App Engine.
Esegui la pulizia
Al termine del tutorial, puoi eliminare le risorse che hai creato in modo che non utilizzino più la quota generando addebiti. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto creato per il tutorial.
Per eliminare il progetto:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
Elimina le istanze
Per eliminare un'istanza Cloud SQL:
- Nella console Google Cloud , vai alla pagina Istanze.
- Fai clic sul nome dell'istanza SQL che vuoi eliminare.
- Per eliminare l'istanza, fai clic su Elimina, quindi segui le istruzioni.
Passaggi successivi
- Scopri di più su phpMyAdmin.
- Esplora architetture, diagrammi e best practice di riferimento su Google Cloud. Consulta il nostro Cloud Architecture Center.