Como Instalar LAMP Stack em VPS Ubuntu: Tutorial Completo 2026

b7c2c56a-97bc-4e2b-aafe-9cb2bcd63537

Se você acabou de contratar um VPS e está olhando para o terminal sem saber por onde começar, este guia é para você. Instalar uma LAMP stack — Linux, Apache, MySQL e PHP — em um servidor Ubuntu é o ponto de partida para hospedar aplicações web, sistemas PHP, WordPress e dezenas de outros projetos.

O tutorial cobre tudo do zero: atualização do sistema, instalação dos componentes, configuração básica de segurança e teste final. Você não precisa ser um administrador de servidores experiente, mas precisa de acesso SSH ao seu VPS e permissões de root ou sudo.


O Que é LAMP Stack e Por Que Usar em um VPS

LAMP é um conjunto de quatro tecnologias open source que trabalham juntas para servir aplicações web dinâmicas:

  • Linux: o sistema operacional do servidor
  • Apache: o servidor web que recebe as requisições HTTP
  • MySQL (ou MariaDB): o banco de dados relacional
  • PHP: a linguagem que processa a lógica da aplicação

A combinação é madura, bem documentada e compatível com praticamente qualquer aplicação PHP popular. Para quem gerencia sites de clientes em agência ou como freelancer, essa stack oferece um ambiente previsível e fácil de replicar.

Em um VPS, você tem controle total sobre cada camada. Isso significa ajustar versões de PHP, configurar virtual hosts por cliente, definir limites de memória e reiniciar serviços sem depender de suporte. É exatamente o tipo de controle que hospedagem compartilhada nunca vai te dar.


Pré-requisitos

Antes de começar, confirme que você tem:

  • Um VPS rodando Ubuntu 22.04 LTS ou Ubuntu 24.04 LTS
  • Acesso SSH com usuário root ou com sudo habilitado
  • O IP público do servidor (fornecido pelo seu provedor)
  • Conexão de internet estável na sua máquina local

Se o seu VPS usa NVMe SSD, os comandos de instalação e atualização vão rodar visivelmente mais rápido do que em discos convencionais.


Passo 1: Conectar ao Servidor via SSH

Abra o terminal (Linux/macOS) ou use o PuTTY (Windows) e conecte:

ssh root@SEU_IP_DO_SERVIDOR

Se você criou um usuário com sudo durante o provisionamento, substitua root pelo nome do usuário:

ssh seu_usuario@SEU_IP_DO_SERVIDOR

Após conectar, confirme o sistema operacional:

lsb_release -a

Passo 2: Atualizar o Sistema

Sempre atualize os pacotes antes de instalar qualquer coisa. Isso garante versões compatíveis e os patches de segurança mais recentes.

sudo apt update && sudo apt upgrade -y

O processo pode levar alguns minutos dependendo de quantas atualizações estão pendentes. Se o sistema pedir confirmação para reiniciar serviços, confirme com yes ou pressione Enter.


Passo 3: Instalar o Apache

O Apache é o servidor web responsável por receber e responder às requisições HTTP.

sudo apt install apache2 -y

Após a instalação, inicie o serviço e configure para subir automaticamente com o servidor:

sudo systemctl start apache2
sudo systemctl enable apache2

Verifique se está rodando:

sudo systemctl status apache2

Você deve ver active (running) na saída. Para confirmar pelo navegador, acesse http://SEU_IP_DO_SERVIDOR. A página padrão do Apache deve aparecer.

Configurar o Firewall (UFW)

Se o UFW estiver ativo, libere o tráfego HTTP e HTTPS:

sudo ufw allow 'Apache Full'
sudo ufw status

Passo 4: Instalar o MySQL

MySQL é o banco de dados mais comum para aplicações PHP. Ubuntu 22.04 e 24.04 instalam o MySQL 8.x por padrão.

sudo apt install mysql-server -y

Inicie e habilite o serviço:

sudo systemctl start mysql
sudo systemctl enable mysql

Executar o Script de Segurança

O MySQL inclui um script que remove configurações inseguras padrão. Execute-o:

sudo mysql_secure_installation

O script vai perguntar se você quer configurar o plugin de validação de senha, remover usuários anônimos, desabilitar login remoto de root e remover o banco de dados de teste. Em um servidor de produção, responda Y para tudo.

Criar um Banco de Dados e Usuário

Nunca use o usuário root do MySQL nas suas aplicações. Crie um usuário dedicado:

sudo mysql

Dentro do prompt do MySQL:

CREATE DATABASE nome_do_banco CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'nome_usuario'@'localhost' IDENTIFIED BY 'senha_forte_aqui';
GRANT ALL PRIVILEGES ON nome_do_banco.* TO 'nome_usuario'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Substitua nome_do_banco, nome_usuario e senha_forte_aqui pelos valores reais do seu projeto.


Passo 5: Instalar o PHP

O PHP processa a lógica das aplicações e faz a ponte entre o Apache e o MySQL.

sudo apt install php libapache2-mod-php php-mysql -y

Para a maioria das aplicações modernas, você vai precisar de módulos adicionais. Instale os mais comuns de uma vez:

sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y

Verifique a versão instalada:

php -v

Configurar o PHP para o Apache

Por padrão, o Apache serve arquivos HTML antes de PHP. Para que index.php tenha prioridade, edite o arquivo de configuração do módulo dir:

sudo nano /etc/apache2/mods-enabled/dir.conf

Localize a linha com DirectoryIndex e mova index.php para o início:

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Salve com Ctrl+X, depois Y, depois Enter. Reinicie o Apache:

sudo systemctl restart apache2

Passo 6: Testar a Instalação com phpinfo()

Crie um arquivo de teste para confirmar que o PHP está funcionando corretamente com o Apache:

sudo nano /var/www/html/info.php

Insira o conteúdo:

<?php
phpinfo();
?>

Salve e acesse no navegador: http://SEU_IP_DO_SERVIDOR/info.php

Você deve ver a página de informações do PHP com todos os módulos instalados. Depois de confirmar, remova esse arquivo imediatamente:

sudo rm /var/www/html/info.php

Deixar phpinfo() exposto em produção revela configurações do servidor que facilitam ataques.


Passo 7: Configurar Virtual Hosts (Para Múltiplos Sites)

Se você gerencia mais de um site no mesmo VPS, virtual hosts permitem que cada domínio aponte para seu próprio diretório.

Criar a Estrutura de Diretórios

sudo mkdir -p /var/www/meusite.com/public_html
sudo chown -R $USER:$USER /var/www/meusite.com/public_html
sudo chmod -R 755 /var/www/meusite.com

Criar o Arquivo de Configuração do Virtual Host

sudo nano /etc/apache2/sites-available/meusite.com.conf

Insira:

<VirtualHost *:80>
    ServerAdmin admin@meusite.com
    ServerName meusite.com
    ServerAlias www.meusite.com
    DocumentRoot /var/www/meusite.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/meusite.com_error.log
    CustomLog ${APACHE_LOG_DIR}/meusite.com_access.log combined
</VirtualHost>

Ative o site e recarregue o Apache:

sudo a2ensite meusite.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

Repita esse processo para cada domínio de cliente que você hospedar no servidor.


Passo 8: Instalar SSL com Let’s Encrypt (Certbot)

HTTPS não é opcional. Instale o Certbot para gerar certificados SSL gratuitos:

sudo apt install certbot python3-certbot-apache -y

Gere o certificado para o seu domínio:

sudo certbot --apache -d meusite.com -d www.meusite.com

O Certbot configura automaticamente o Apache para redirecionar HTTP para HTTPS e agenda a renovação do certificado. Verifique se a renovação automática está funcionando:

sudo certbot renew --dry-run

Boas Práticas de Segurança Pós-Instalação

Uma LAMP stack funcional não é necessariamente uma LAMP stack segura. Alguns ajustes que fazem diferença:

Desabilitar a listagem de diretórios no Apache:
Edite /etc/apache2/apache2.conf e certifique-se de que o bloco <Directory /var/www/> contenha Options -Indexes.

Ocultar a versão do Apache:
Em /etc/apache2/conf-available/security.conf, defina:

ServerTokens Prod
ServerSignature Off

Configurar limites de PHP:
Em /etc/php/X.X/apache2/php.ini (substitua X.X pela versão instalada), ajuste:

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M

Manter backups regulares:
Mesmo que o seu provedor inclua backups diários, mantenha cópias locais dos bancos de dados críticos com mysqldump.


Quando Usar LAMP vs Outras Stacks

LAMP é a escolha certa para a maioria dos projetos PHP — especialmente WordPress, Joomla, Magento e sistemas legados. Mas vale conhecer as alternativas:

StackMelhor Para
LAMP (Apache + MySQL + PHP)WordPress, sistemas PHP legados, alta compatibilidade
LEMP (NGINX + MySQL + PHP-FPM)Alta concorrência, APIs, sites com muito tráfego estático
LLMP (LiteSpeed + MySQL + PHP)Performance máxima com cache integrado via LSCache

Se o seu VPS usa LiteSpeed Enterprise como servidor web — como na infraestrutura da Napoleon — vale considerar a stack LLMP para aproveitar melhor os recursos do servidor. A instalação do PHP e MySQL segue os mesmos passos; a diferença está na configuração do servidor web.


Verificação Final: Checklist

Antes de colocar qualquer site em produção, confirme:

  • Apache rodando e respondendo na porta 80 e 443
  • MySQL com usuário dedicado por aplicação (sem usar root)
  • PHP com os módulos necessários instalados
  • Certificado SSL ativo e renovação automática configurada
  • Arquivo info.php removido
  • UFW ativo com apenas as portas necessárias abertas (22, 80, 443)
  • Listagem de diretórios desabilitada no Apache
  • Backups configurados

Conclusão

Com a LAMP stack instalada e configurada, seu VPS Ubuntu está pronto para hospedar aplicações PHP de forma estável e com controle real sobre o ambiente. A partir daqui, você pode instalar WordPress, configurar virtual hosts adicionais para clientes ou incluir ferramentas como phpMyAdmin para gerenciar bancos de dados via interface web.

Se você ainda está avaliando qual VPS usar para esse ambiente, infraestrutura com NVMe SSD e suporte 24/7 via WhatsApp e Telegram faz diferença quando algo quebra fora do horário comercial. Conheça as soluções disponíveis em napoleon.com.br.


Perguntas Frequentes

O que é LAMP stack?
LAMP é um conjunto de quatro tecnologias open source usadas para hospedar aplicações web: Linux (sistema operacional), Apache (servidor web), MySQL (banco de dados) e PHP (linguagem de programação). Juntas, formam um ambiente completo para rodar a maioria das aplicações PHP.

Qual versão do Ubuntu devo usar para instalar LAMP em 2026?
Ubuntu 22.04 LTS e Ubuntu 24.04 LTS são as versões recomendadas. Ambas têm suporte de longo prazo, repositórios atualizados e ampla compatibilidade com os principais painéis de controle como cPanel, DirectAdmin e Plesk.

Posso usar MariaDB no lugar do MySQL na LAMP stack?
Sim. MariaDB é um fork do MySQL totalmente compatível com a maioria das aplicações PHP, incluindo WordPress. Para instalar, substitua mysql-server por mariadb-server nos comandos. A configuração de usuários e bancos de dados segue a mesma sintaxe SQL.

Como hospedar múltiplos sites no mesmo VPS com LAMP?
Usando virtual hosts no Apache. Cada domínio recebe seu próprio arquivo de configuração em /etc/apache2/sites-available/, apontando para um diretório diferente. Você ativa cada site com a2ensite e recarrega o Apache. O limite prático de virtual hosts é a memória e CPU disponíveis no servidor, não uma restrição do Apache.

LAMP stack funciona com WordPress?
Sim. WordPress foi desenvolvido para rodar em LAMP e é a aplicação PHP mais instalada nessa stack. Depois de configurar Apache, MySQL e PHP, basta criar um banco de dados, baixar os arquivos do WordPress e seguir o assistente de instalação.

Qual a diferença entre LAMP e LEMP?
A diferença principal é o servidor web: LAMP usa Apache, LEMP usa NGINX. NGINX tende a ser mais eficiente para servir arquivos estáticos e lidar com muitas conexões simultâneas. Apache é mais flexível para configurações por diretório via .htaccess, o que facilita a compatibilidade com aplicações legadas.

Preciso de root para instalar LAMP stack?
Você precisa de acesso com privilégios de superusuário — seja como root direto ou como usuário com sudo. A maioria dos VPS fornece acesso root por padrão. Se você usa um usuário não-root, adicione sudo antes de cada comando de instalação e configuração de sistema.

Compartilhe

Facebook
WhatsApp
Email
LinkedIn

Redes Sociais

Mais Populares

Receba as Últimas Novidades

Inscreva em Nossa Newsletter Semanal

Não realizamos spam, apenas novidades sobre produtos, dicas e tutoriais do universo online.

Categorias

Fique Ligado

Posts Relacionados