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
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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.
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.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud 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.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça 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 Google Cloud 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 Google Cloud .[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 Google CloudREGION_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 Google Cloud , 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 Google Cloud , 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 Google Cloud , 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.