Skip to content

Como Configurar Hosts Virtuais do Apache no Ubuntu Usando Terraform

Cloud Infrastructure Expert
Como Configurar Hosts Virtuais do Apache no Ubuntu Usando Terraform

 

O Terraform é uma ferramenta de infraestrutura como código (IaC) que permite automatizar a criação e a gestão de servidores e serviços na nuvem. Neste tutorial, vamos mostrar como configurar hosts virtuais (Virtual Hosts) do Apache em um servidor Ubuntu utilizando o Terraform.

Requisitos

  • Servidor rodando Ubuntu 20.04 ou 22.04
  • Apache instalado no servidor
  • Terraform instalado na sua máquina local
  • Acesso root ou usuário com privilégios sudo no servidor

Passo 1: Instalar o Apache no Servidor Ubuntu

Antes de configurar os hosts virtuais, você precisará do Apache instalado no servidor. Execute o seguinte comando para instalar o Apache no Ubuntu:

sudo apt update
sudo apt install apache2 -y

Em seguida, inicie e habilite o serviço Apache para que ele inicie automaticamente com o sistema:

sudo systemctl start apache2
sudo systemctl enable apache2

Passo 2: Criar o Arquivo Terraform

O próximo passo é configurar o Terraform para gerenciar os hosts virtuais do Apache. Crie um diretório para o seu projeto Terraform e dentro dele, um arquivo main.tf:

mkdir apache-terraform
cd apache-terraform
nano main.tf

Dentro do arquivo main.tf, adicione o seguinte conteúdo básico para definir o provisionamento do servidor usando um bloco provisioner que aplicará os templates de host virtual do Apache:

provider "local" {}

resource "local_file" "vhost_conf" {
  content = <<-EOT
  <VirtualHost *:80>
      ServerAdmin [email protected]
      ServerName seu-site.com
      ServerAlias www.seu-site.com
      DocumentRoot /var/www/seu-site
      ErrorLog \${APACHE_LOG_DIR}/error.log
      CustomLog \${APACHE_LOG_DIR}/access.log combined
  </VirtualHost>
  EOT

  filename = "/etc/apache2/sites-available/seu-site.conf"
}

resource "null_resource" "enable_vhost" {
  provisioner "remote-exec" {
    inline = [
      "a2ensite seu-site.conf",
      "systemctl reload apache2"
    ]
  }

  connection {
    type     = "ssh"
    user     = "ubuntu"
    private_key = file("~/.ssh/id_rsa")
    host     = ""
  }
}

Esse código cria um arquivo de configuração de host virtual para o Apache e o ativa usando o comando a2ensite, além de reiniciar o Apache para aplicar as mudanças.

Passo 3: Inicializar e Aplicar o Terraform

Antes de aplicar as configurações, inicialize o Terraform no diretório do projeto:

terraform init

Depois disso, você pode aplicar as configurações e provisionar o host virtual no servidor Apache:

terraform apply

O Terraform pedirá confirmação para prosseguir. Digite yes e ele criará o arquivo de configuração de host virtual no servidor Ubuntu e ativará o site.

Passo 4: Verificar o Host Virtual

Agora que o Terraform configurou e ativou o host virtual, você pode abrir o navegador e acessar o nome de domínio ou endereço IP configurado para verificar se o site está funcionando:

http://seu-site.com

Passo 5: Personalizar Múltiplos Hosts Virtuais

Se você quiser adicionar mais hosts virtuais, basta duplicar o recurso local_file e o bloco null_resource para cada domínio que deseja configurar. Lembre-se de ajustar o nome de domínio e os caminhos do arquivo conforme necessário.

Servidor VPS

Se precisar de um servidor VPS confiável para hospedar seus sites com configuração automatizada do Terraform e Apache, veja as opções disponíveis aqui.

Windows VPS Deutschland

Windows VPS España

Windows VPS Nederland

Windows VPS Italia

Windows VPS Portugal

VPS Windows Italia

Windows VPS

Windows VPS

Windows VPS Sverige

Windows VPS Norge

Windows VPS

Windows VPS Türkiye

Windows RDS (Remote Desktop Services)

Windows VPS

Explore more

More on this topic

Netcloud24
Netcloud24
Cloud Infrastructure Expert · NetCloud24

Comments are closed.