Veja neste tutorial como implantar um pequeno site do WordPress no ambiente flexível do App Engine.
Objetivos
- Criar uma instância de segunda geração do Cloud SQL.
- Configurar um site de amostra do WordPress.
- Implantar o site de amostra do WordPress no ambiente flexível do App Engine.
Custos
Antes de começar
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instale a CLI do Google Cloud.
-
Configure a gcloud CLI para usar sua identidade federada.
Para mais informações, consulte Fazer login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init -
Siga estas etapas para criar credenciais:
No Cloud de Confiance console, acesse a página Credenciais.
- Clique em Criar credenciais e selecione Chave da conta de serviço.
- Selecione Conta de serviço > Conta de serviço padrão do App Engine.
- Clique em Criar.
- Salve a chave em um lugar seguro.
- Instale o PHP e o Composer.
-
Faça o download do Proxy do Cloud SQL e torne-o executável. Adicione também a localização do arquivo executável do Proxy do Cloud SQL
à sua variável de ambiente
PATH. -
Instale um cliente MySQL e verifique se a localização do arquivo executável
mysqlestá na sua variável de ambientePATH.
Como criar e configurar uma instância de segunda geração do Cloud SQL
Crie uma instância do Cloud SQL de segunda geração:
gcloud sql instances create tutorial-sql-instance \ --activation-policy=ALWAYS \ --tier=db-n1-standard-1 \ --region=us-central1Configure a senha de root para sua instância:
gcloud sql users set-password root --instance tutorial-sql-instance \ --password [YOUR_SQL_ROOT_PASSWORD] \ --host %em que
[YOUR_SQL_ROOT_PASSWORD]é uma senha segura de sua preferência.Faça o download e execute o Proxy do Cloud SQL:
./cloud-sql-proxy \ -dir /tmp/cloudsql \ -instances=[YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance \ -credential_file=[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]
em que
[YOUR_PROJECT_ID]é o ID do projeto Cloud de Confiance .[PATH_TO_YOUR_SERVICE_ACCOUNT_JSON]é o caminho para o arquivo JSON da conta de serviço que você fez o download anteriormente.
A saída a seguir indica que o proxy está pronto para novas conexões:
Listening on 127.0.0.1:3306 for [YOUR_PROJECT_ID]:us-central1:tutorial-sql-instance Ready for new connectionsEm um janela de terminal diferente, crie um novo banco de dados e um usuário:
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
em que:
[YOUR_SQL_ROOT_PASSWORD]é a senha de root para sua instância do Cloud SQL.[YOUR_DATABASE_PASSWORD]é uma senha segura de sua preferência.
Como configurar o projeto do WordPress
Clone o repositório de amostra:
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.gitAcesse o diretório que contém o código de amostra:
cd php-docs-samples/appengine/flexible/wordpressInstale as dependências:
composer installExecute o script de ajuda:
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]
em que:
[YOUR_PROJECT_ID]é o ID do projeto.[YOUR_DATABASE_PASSWORD]é a senha do seu banco de dados.
O parâmetro
-direspecifica a localização do seu projeto do WordPress.O script auxiliar grava informações em
wordpress-project/wordpress/wp-config.php. Inspecione o conteúdo dewp-config.phppara verificar se os nomes, o ID do projeto e a senha do banco de dados estão corretos.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]'); }
Como implantar o projeto do WordPress no ambiente flexível do App Engine
Acesse o diretório do seu projeto do WordPress:
cd wordpress-projectImplante o projeto do WordPress:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yamlNo navegador, digite o seguinte URL:
https://PROJECT_ID.REGION_ID.r.appspot.comSubstitua:
PROJECT_ID: o ID do projeto do Cloud de ConfianceREGION_ID: um código que o App Engine atribui ao seu app
Como atualizar o WordPress, plug-ins e temas
É importante manter o WordPress, plug-ins e temas atualizados. Para manter esses itens atualizados, use a ferramenta wp. Depois de uma atualização, você precisará reimplantar o projeto do WordPress.
Atualize o WordPress:
vendor/bin/wp core update --path=wordpressAtualize os plug-ins:
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-contentAtualize os temas:
vendor/bin/wp theme update --all --path=wordpressImplante o projeto novamente:
gcloud app deploy \ --promote --stop-previous-version app.yaml cron.yaml
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
- No console Cloud de Confiance , acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Excluir versões não padrão do app
Se você não quer excluir seu projeto, pode reduzir custos excluindo versões não padrão do app.
Para excluir uma versão do app:
- No console Cloud de Confiance , acesse a página Versões do App Engine.
- Marque a caixa de seleção da versão não padrão do app que você quer excluir.
- Para excluir a versão do app, clique em Excluir.
Excluir a instância do Cloud SQL
Para excluir uma instância do Cloud SQL:
- No console do Cloud de Confiance , acesse a página Instâncias.
- Clique no nome da instância do SQL que você quer excluir.
- Para excluir a instância, clique em Excluir e siga as instruções.
A seguir
Saiba como executar o app de amostra Bookshelf em PHP no ambiente flexível do App Engine.
Saiba como executar o app de amostra Bookshelf em PHP no Google Kubernetes Engine.
Saiba como executar o app de amostra Bookshelf em PHP no Compute Engine.
Saiba mais sobre o WordPress.
Aprenda sobre o uso do multisite do WordPress com seus próprios domínios e Mailgun.
Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.