11 min de leitura · Guia técnico
Configurar servidor LAMP no Ubuntu 22.04 é o processo de instalar e configurar Linux, Apache, MySQL e PHP para hospedar sites dinâmicos. Para configurar LAMP corretamente, siga estes passos:
- Atualizar o sistema Ubuntu 22.04
- Instalar o servidor web Apache2
- Instalar e configurar MySQL 8.0
- Instalar PHP 8.2 e módulos necessários
- Configurar firewall UFW para portas 80 e 443
- Testar funcionamento com arquivo phpinfo
Pré-requisitos
- Servidor Ubuntu 22.04 LTS com acesso root ou sudo
- Conexão SSH ativa ao servidor
- Mínimo 1GB de RAM disponível
- Pelo menos 10GB de espaço em disco
- Acesso à internet para download de pacotes
Passo 1: Atualizar sistema Ubuntu 22.04
Antes de instalar qualquer componente LAMP, é fundamental atualizar o sistema operacional para garantir que todos os pacotes estejam nas versões mais recentes e seguras.
sudo apt update && sudo apt upgrade -y
Este comando atualiza a lista de pacotes disponíveis e instala as atualizações pendentes. O processo pode levar alguns minutos dependendo da quantidade de atualizações.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Após a atualização, reinicie o servidor se houver atualizações do kernel:
sudo reboot
Passo 2: Instalar servidor web Apache2
O Apache é o servidor web mais utilizado mundialmente e forma a base do stack LAMP. No Ubuntu 22.04, a instalação do Apache2 é direta através do gerenciador de pacotes apt.
sudo apt install apache2 -y
Após a instalação, inicie e habilite o Apache para iniciar automaticamente:
sudo systemctl start apache2
sudo systemctl enable apache2
Verifique se o Apache está funcionando corretamente:
sudo systemctl status apache2
O output esperado deve mostrar o serviço ativo:
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled)
Active: active (running) since Mon 2024-01-15 10:30:45 UTC
Configure o firewall para permitir tráfego HTTP e HTTPS:
sudo ufw allow 'Apache Full'
Passo 3: Instalar e configurar MySQL 8.0
O MySQL é o sistema de gerenciamento de banco de dados relacional do stack LAMP. A versão 8.0 oferece melhor performance e recursos de segurança avançados.
sudo apt install mysql-server -y
Após a instalação, execute o script de segurança do MySQL:
sudo mysql_secure_installation
Durante a configuração, você será questionado sobre:
- Validação de senha (recomendado: YES)
- Remoção de usuários anônimos (recomendado: YES)
- Desabilitar login root remoto (recomendado: YES)
- Remover banco de dados de teste (recomendado: YES)
- Recarregar tabelas de privilégios (recomendado: YES)
Teste a conexão com o MySQL:
sudo mysql -u root -p
Dentro do MySQL, crie um usuário para aplicações web:
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'senha_segura';
GRANT ALL PRIVILEGES ON *.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Passo 4: Instalar PHP 8.2 e módulos essenciais
O PHP 8.2 é a versão recomendada para Ubuntu 22.04, oferecendo melhor performance e compatibilidade com frameworks modernos. Instale o PHP junto com os módulos mais utilizados.
sudo apt install php8.2 php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip libapache2-mod-php8.2 -y
Verifique a instalação do PHP:
php --version
O output esperado deve mostrar a versão do PHP:
PHP 8.2.10 (cli) (built: Aug 17 2023 10:56:41) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10
Configure o PHP editando o arquivo de configuração:
sudo nano /etc/php/8.2/apache2/php.ini
Ajuste as seguintes configurações para melhor performance:
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
Reinicie o Apache para aplicar as configurações:
sudo systemctl restart apache2
Passo 5: Configurar firewall UFW
A configuração adequada do firewall é essencial para proteger seu servidor LAMP contra acessos não autorizados. O UFW (Uncomplicated Firewall) simplifica o gerenciamento de regras de firewall.
Ative o UFW se ainda não estiver habilitado:
sudo ufw enable
Configure as regras básicas para servidor web:
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Verifique o status do firewall:
sudo ufw status
O output deve mostrar as regras ativas:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
Passo 6: Testar funcionamento do servidor LAMP
Para verificar se todos os componentes do stack LAMP estão funcionando corretamente, crie um arquivo de teste PHP que exiba informações do sistema.
Crie o arquivo phpinfo.php no diretório web:
sudo nano /var/www/html/phpinfo.php
Adicione o seguinte conteúdo:
<?php
phpinfo();
?>
Defina as permissões corretas:
sudo chown www-data:www-data /var/www/html/phpinfo.php
sudo chmod 644 /var/www/html/phpinfo.php
Acesse o arquivo através do navegador usando o IP do servidor:
http://seu_ip_servidor/phpinfo.php
Se tudo estiver funcionando, você verá a página de informações do PHP mostrando a versão instalada e módulos carregados.
Atenção: Remova o arquivo phpinfo.php após o teste por questões de segurança:
sudo rm /var/www/html/phpinfo.php
Configurações adicionais de segurança
Após a instalação básica do LAMP, implemente configurações de segurança adicionais para proteger seu servidor contra ameaças comuns.
Desabilite a assinatura do servidor Apache:
sudo nano /etc/apache2/conf-available/security.conf
Altere as seguintes linhas:
ServerTokens Prod
ServerSignature Off
Ative a configuração de segurança:
sudo a2enconf security
sudo systemctl restart apache2
Configure logs de acesso e erro do Apache:
sudo nano /etc/apache2/sites-available/000-default.conf
Adicione dentro do VirtualHost:
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Otimização de performance do MySQL
Para melhorar a performance do MySQL em servidores com recursos limitados, ajuste as configurações do banco de dados conforme o hardware disponível.
Edite o arquivo de configuração do MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Adicione as seguintes otimizações na seção [mysqld]:
innodb_buffer_pool_size = 128M
innodb_log_file_size = 32M
innodb_flush_log_at_trx_commit = 2
query_cache_size = 16M
query_cache_type = 1
Reinicie o MySQL para aplicar as configurações:
sudo systemctl restart mysql
Monitore o uso de recursos do MySQL:
sudo mysqladmin -u root -p status
Problemas comuns e como resolver
Apache não inicia após instalação
Causa: Conflito de porta ou erro de configuração no arquivo apache2.conf.
Solução: Verifique se a porta 80 está livre com sudo netstat -tlnp | grep :80 e teste a configuração com sudo apache2ctl configtest.
Erro "Access denied" ao conectar no MySQL
Causa: Senha incorreta ou usuário sem privilégios adequados.
Solução: Redefina a senha do root com sudo mysql e execute ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'nova_senha';
PHP não processa arquivos, apenas exibe código
Causa: Módulo PHP não está habilitado no Apache ou configuração incorreta.
Solução: Habilite o módulo PHP com sudo a2enmod php8.2 e reinicie o Apache com sudo systemctl restart apache2.
Erro 403 Forbidden ao acessar diretórios
Causa: Permissões incorretas nos arquivos ou diretórios web.
Solução: Ajuste as permissões com sudo chown -R www-data:www-data /var/www/html e sudo chmod -R 755 /var/www/html.
Perguntas frequentes sobre servidor LAMP
O que é um servidor LAMP e para que serve?
LAMP é um conjunto de tecnologias open-source que inclui Linux, Apache, MySQL e PHP. É usado para hospedar sites dinâmicos e aplicações web, oferecendo uma base completa para desenvolvimento e produção de projetos online.
Qual versão do PHP é recomendada para LAMP no Ubuntu 22.04?
O PHP 8.2 é a versão recomendada para Ubuntu 22.04, pois oferece melhor performance, recursos modernos e suporte de segurança ativo. Esta versão é compatível com a maioria dos CMS populares como WordPress e Drupal.
É necessário configurar firewall após instalar LAMP?
Sim, é essencial configurar o UFW (firewall) para permitir apenas as portas necessárias (80 para HTTP e 443 para HTTPS). Isso protege o servidor contra acessos não autorizados e ataques externos.
Como verificar se o servidor LAMP está funcionando corretamente?
Você pode verificar criando um arquivo phpinfo.php no diretório web e acessando via navegador. Também é possível testar cada serviço individualmente: Apache com systemctl status apache2, MySQL com mysql -u root -p, e PHP com php --version.
Posso instalar WordPress imediatamente após configurar LAMP?
Sim, após configurar LAMP corretamente você pode instalar WordPress ou qualquer outro CMS PHP. Certifique-se de criar um banco de dados MySQL específico e configurar as permissões adequadas para o diretório web antes da instalação.
Conclusão
A configuração de um servidor LAMP no Ubuntu 22.04 fornece uma base sólida para hospedar aplicações web modernas. Com Apache, MySQL e PHP devidamente instalados e configurados, você tem um ambiente completo para desenvolvimento e produção.
- Mantenha sempre os componentes atualizados para garantir segurança e performance
- Configure backups regulares do MySQL e arquivos web para prevenir perda de dados
- Monitore regularmente os logs do sistema para identificar possíveis problemas ou tentativas de invasão
Leia também
- Checklist para configurar servidor LAMP no Ubuntu 22.04
- Como Configurar Nginx no Ubuntu: Guia Completo 2026
- Checklist para configurar servidor de email seguro no Ubuntu 22.04
Precisa de ajuda com configuração de servidor?
A AviraHost oferece servidores VPS Linux pré-configurados com stack LAMP otimizado para máxima performance. Nossa equipe técnica pode auxiliar na configuração e otimização do seu ambiente de hospedagem.