Automatize o deploy e instalação de servidores EC2 na Amazon AWS para hospedagem de sites em WordPress.
Criar um servidor com o site WordPress na AWS de forma automatizada.
A Stack foi projetada com as seguintes soluções/ferramentas.
- Automação: Terraform, Ansible, ShellScript
- Softwares Server: PHP, MySQL, Nginx, SSL Let's Encrypt
- Conta válida na AWS
- Domínio configurado no Route53
- Terraform instalado na máquina local
git clone https://github.com/alejunio/terraform-ansible-aws-wordpress.git
Após clonar o repositório, abra o diretório do projeto.
Para quem não conhece o Terraform, usamos um arquivo para definir todas as variáveis. Isso é muito útil quando estamos configurando servidores e até mesmo registros de DNS.
Inclusive, nessa Stack eu assumo que você tenha configurado previamente seu domínio no Route53 que é o serviço de DNS na AWS. Pois é certo de que você vá adicionar registros de e-mail, ftp, e outros serviços que não tem relação com a nossa Stack.
O arquivo ariable.tf , é o arquivo que iremos editar.
# Tokens Access AWS
variable "access-key" {
description = "access key"
default = "access-aqui"
}
variable "secret-key" {
description = "secret key"
default = "secret-aqui"
}
# Zone DNS AWS
variable "zone_dns" {
default = "digite-aqui"
}
# Dominio DNS
variable "dns_domain" {
default = "exemplo.com"
}
O Ansible também possui seu arquivo de variáveis, e é preciso ajusta-lo também.
O caminho para o arquivo é: ansible/vars/vars.yml
# Var - MySQL
db_user: user
db_user_password: 654321
db_name: db-default
mysql_root_password: senharoot
# Var - Nginx e Site
dominio_site: exemplo.com.br
diretorio_site: /var/www/{{ dominio_site }}/public_html
email: exemplo@email.com
# Var - SSL
diretorio_ssl: /etc/letsencrypt/{{ dominio_site }}
Edite todas as variáveis do MySQL, domínio do seu site e email.
Para a configuração das chaves SSH recomendo a leitura abaixo: https://alejunio.cloud/devops/stack-wordpress-aws-terraform-ansible/#Gerando_Chaves_SSH
Para dar início ao deploy, execute os comandos abaixo no terminal.
terraform init
terraform apply -auto-approve
Após finalizar todo o processo, você pode acessar seu site pelo domínio que configurou e finalizar a instalação do WordPress.
Para remover o servidor, basta executar o comando abaixo.
terraform destroy -auto-approve
Deseja uma implementação personalizada para seu projeto? Entre em contato comigo.
Website
- https://alexjunio.com.br Consultorias
- https://alejunio.cloud Blog