Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Passo a passo para configurar servidor LAMP no Ubuntu 22.04

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:

  1. Atualizar o sistema Ubuntu 22.04
  2. Instalar o servidor web Apache2
  3. Instalar e configurar MySQL 8.0
  4. Instalar PHP 8.2 e módulos necessários
  5. Configurar firewall UFW para portas 80 e 443
  6. 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

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.

Conheça nossos planos de VPS Linux

  • 0 Os usuários acharam isso útil
  • lamp, apache, mysql, php, ubuntu, servidor-web, avirahost
Esta resposta foi útil?

Artigos Relacionados

Instalando painel de gerenciamento de hospedagem VirtualMin.

O virtualmin é um painel de gerenciamento de hospedagem de sites gratuito, que é suportado por...

Como usar a ferramenta oficial de acesso remoto do Windows no PC e celular

1. Pelo menu Iniciar, acesse os “Acessórios do Windows” e abra o “Conexão de Área de Trabalho...

Como acessar o painel de gerenciamento dos meus Serviços.

Para acessar o painel de gerenciamento do seu serviço basta seguir o passo á passo abaixo.   1....

Compreendendo o Servidor VPS: O que é e Como Funciona!

Um servidor VPS (Virtual Private Server) é uma solução de hospedagem na qual um servidor físico é...

Como trocar a senha do usuário root do servidor VPS ou Dedicado.

Para trocar a senha do usuário root em um servidor VPS da AviraHost, você pode seguir os...