{"id":1775,"date":"2025-01-27T05:15:12","date_gmt":"2024-07-16T14:45:51","guid":{"rendered":""},"modified":"2025-02-02T00:46:17","modified_gmt":"2025-02-01T23:46:17","slug":"como-configurar-hosts-virtuais-do-apache-no-ubuntu-usando-terraform","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/como-configurar-hosts-virtuais-do-apache-no-ubuntu-usando-terraform\/","title":{"rendered":"Como Configurar Hosts Virtuais do Apache no Ubuntu Usando Terraform"},"content":{"rendered":"<p>\u00a0<\/p>\n<\/p>\n<p>O Terraform \u00e9 uma ferramenta de infraestrutura como c\u00f3digo (IaC) que permite automatizar a cria\u00e7\u00e3o e a gest\u00e3o de servidores e servi\u00e7os na nuvem. Neste tutorial, vamos mostrar como configurar hosts virtuais (Virtual Hosts) do Apache em um servidor Ubuntu utilizando o Terraform.<\/p>\n<h2>Requisitos<\/h2>\n<ul>\n<li>Servidor rodando Ubuntu 20.04 ou 22.04<\/li>\n<li>Apache instalado no servidor<\/li>\n<li>Terraform instalado na sua m\u00e1quina local<\/li>\n<li>Acesso root ou usu\u00e1rio com privil\u00e9gios sudo no servidor<\/li>\n<\/ul>\n<h2>Passo 1: Instalar o Apache no Servidor Ubuntu<\/h2>\n<p>Antes de configurar os hosts virtuais, voc\u00ea precisar\u00e1 do Apache instalado no servidor. Execute o seguinte comando para instalar o Apache no Ubuntu:<\/p>\n<pre><code>sudo apt update\r\nsudo apt install apache2 -y<\/code><\/pre>\n<p>Em seguida, inicie e habilite o servi\u00e7o Apache para que ele inicie automaticamente com o sistema:<\/p>\n<pre><code>sudo systemctl start apache2\r\nsudo systemctl enable apache2<\/code><\/pre>\n<h2>Passo 2: Criar o Arquivo Terraform<\/h2>\n<p>O pr\u00f3ximo passo \u00e9 configurar o Terraform para gerenciar os hosts virtuais do Apache. Crie um diret\u00f3rio para o seu projeto Terraform e dentro dele, um arquivo <code>main.tf<\/code>:<\/p>\n<pre><code>mkdir apache-terraform\r\ncd apache-terraform\r\nnano main.tf<\/code><\/pre>\n<p>Dentro do arquivo <code>main.tf<\/code>, adicione o seguinte conte\u00fado b\u00e1sico para definir o provisionamento do servidor usando um bloco <code>provisioner<\/code> que aplicar\u00e1 os templates de host virtual do Apache:<\/p>\n<pre><code>provider \"local\" {}\r\n\r\nresource \"local_file\" \"vhost_conf\" {\r\n  content = &lt;&lt;-EOT\r\n  &lt;VirtualHost *:80&gt;\r\n      ServerAdmin admin@seu-site.com\r\n      ServerName seu-site.com\r\n      ServerAlias www.seu-site.com\r\n      DocumentRoot \/var\/www\/seu-site\r\n      ErrorLog \\${APACHE_LOG_DIR}\/error.log\r\n      CustomLog \\${APACHE_LOG_DIR}\/access.log combined\r\n  &lt;\/VirtualHost&gt;\r\n  EOT\r\n\r\n  filename = \"\/etc\/apache2\/sites-available\/seu-site.conf\"\r\n}\r\n\r\nresource \"null_resource\" \"enable_vhost\" {\r\n  provisioner \"remote-exec\" {\r\n    inline = [\r\n      \"a2ensite seu-site.conf\",\r\n      \"systemctl reload apache2\"\r\n    ]\r\n  }\r\n\r\n  connection {\r\n    type     = \"ssh\"\r\n    user     = \"ubuntu\"\r\n    private_key = file(\"~\/.ssh\/id_rsa\")\r\n    host     = \"\"\r\n  }\r\n}<\/code><\/pre>\n<p>Esse c\u00f3digo cria um arquivo de configura\u00e7\u00e3o de host virtual para o Apache e o ativa usando o comando <code>a2ensite<\/code>, al\u00e9m de reiniciar o Apache para aplicar as mudan\u00e7as.<\/p>\n<h2>Passo 3: Inicializar e Aplicar o Terraform<\/h2>\n<p>Antes de aplicar as configura\u00e7\u00f5es, inicialize o Terraform no diret\u00f3rio do projeto:<\/p>\n<pre><code>terraform init<\/code><\/pre>\n<p>Depois disso, voc\u00ea pode aplicar as configura\u00e7\u00f5es e provisionar o host virtual no servidor Apache:<\/p>\n<pre><code>terraform apply<\/code><\/pre>\n<p>O Terraform pedir\u00e1 confirma\u00e7\u00e3o para prosseguir. Digite <code>yes<\/code> e ele criar\u00e1 o arquivo de configura\u00e7\u00e3o de host virtual no servidor Ubuntu e ativar\u00e1 o site.<\/p>\n<h2>Passo 4: Verificar o Host Virtual<\/h2>\n<p>Agora que o Terraform configurou e ativou o host virtual, voc\u00ea pode abrir o navegador e acessar o nome de dom\u00ednio ou endere\u00e7o IP configurado para verificar se o site est\u00e1 funcionando:<\/p>\n<pre><code>http:\/\/seu-site.com<\/code><\/pre>\n<h2>Passo 5: Personalizar M\u00faltiplos Hosts Virtuais<\/h2>\n<p>Se voc\u00ea quiser adicionar mais hosts virtuais, basta duplicar o recurso <code>local_file<\/code> e o bloco <code>null_resource<\/code> para cada dom\u00ednio que deseja configurar. Lembre-se de ajustar o nome de dom\u00ednio e os caminhos do arquivo conforme necess\u00e1rio.<\/p>\n<h2>Servidor VPS<\/h2>\n<p>Se precisar de um <a href=\"https:\/\/netcloud24.com?language=portuguese-pt&amp;currency=4\" target=\"_blank\" rel=\"follow\">servidor VPS<\/a> confi\u00e1vel para hospedar seus sites com configura\u00e7\u00e3o automatizada do Terraform e Apache, veja as op\u00e7\u00f5es dispon\u00edveis aqui.<\/p>\n<p><a href=\"https:\/\/de.netcloud24.com\/\" target=\"_blank\">Windows VPS Deutschland<\/a><\/p>\n<p><a href=\"https:\/\/es.netcloud24.com\/\" target=\"_blank\">Windows VPS Espa\u00f1a<\/a><\/p>\n<p><a href=\"https:\/\/nl.netcloud24.com\/\" target=\"_blank\">Windows VPS Nederland<\/a><\/p>\n<p><a href=\"https:\/\/it.netcloud24.com\/\" target=\"_blank\">Windows VPS Italia<\/a><\/p>\n<p><a href=\"https:\/\/pt.netcloud24.com\/\" target=\"_blank\">Windows VPS Portugal<\/a><\/p>\n<p><a href=\"https:\/\/it.netcloud24.com\/\" target=\"_blank\">VPS Windows Italia<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS Sverige<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS Norge<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS T\u00fcrkiye<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows RDS (Remote Desktop Services)<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<div class=\"post-author-box\" style=\"border-top:1px solid #ddd;margin-top:20px;padding-top:15px;\">\n<p><strong>Author:<\/strong> \u0141ukasz Bodziony<\/p>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a><\/p>\n<p><em>\u0141ukasz Bodziony is the CEO and founder of <a href=\"https:\/\/netcloud24.com\" target=\"_blank\" rel=\"dofollow\">NETCLOUD24<\/a>, a global VPS hosting brand proudly originating from Poland. With extensive experience in cloud computing, virtualization, and server management, he delivers high-performance <strong>Windows VPS<\/strong> and <strong>Remote Desktop Services (RDS)<\/strong> solutions to clients across Europe, North America, and beyond.<\/em><\/p>\n<p><em>His expertise covers a wide range of technologies, including <strong>Microsoft Azure<\/strong>, <strong>Proxmox VE<\/strong>, <strong>Amazon Web Services (AWS)<\/strong>, and numerous other virtualization and cloud platforms.<\/em><\/p>\n<p><em>Beyond running his hosting business, \u0141ukasz also provides <strong>professional paid server configuration and optimization services<\/strong> for companies and individuals. Outside of work, he is dedicated to caring for his children and building a secure future for them.<\/em><\/p>\n<p><em>If you are interested in working with him or need expert assistance with your hosting, cloud environment, or server setup, feel free to reach out via <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a>.<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 O Terraform \u00e9 uma ferramenta de infraestrutura como c\u00f3digo (IaC) que permite automatizar a cria\u00e7\u00e3o e a gest\u00e3o de servidores e servi\u00e7os na nuvem. Neste tutorial, vamos\u2026<\/p>\n","protected":false},"author":1,"featured_media":3421,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[14,12,11,23,20,21,22,17,7,8,6,10,18,19,15,24,16,5,13,9],"class_list":["post-1775","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cheapvps","tag-cloudvps","tag-hostingvps","tag-rds","tag-rdscal","tag-remotedesktop","tag-remotedesktopvps","tag-servervps","tag-ukvps","tag-virtualserver","tag-vpshosting","tag-vpsserver","tag-vpssolutions","tag-vpswindows","tag-vpswithwindows","tag-windowsrds","tag-windowsserver","tag-windowsvps","tag-windowsvpshosting","tag-windowsvpsuk"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1775","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1775"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1775\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media\/3421"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=1775"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1775"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1775"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}