O LAMP é uma combinação poderosa de tecnologias de código aberto que formam a base de muitos sites e aplicações web.
Aprenda como instalá-lo no Ubuntu 20.04 em um servidor VPS da Locaweb.
Como instalar o LAMP no Ubuntu?
A instalação do LAMP no Ubuntu é um processo relativamente simples, mas requer atenção aos detalhes. Veja um passo a passo detalhado para garantir que você tenha uma instalação bem-sucedida e funcional.
Pré-requisitos
Antes de começar, certifique-se de que você tem:
-
- Um servidor VPS da Locaweb que roda Ubuntu 20.04;
- Acesso root ou sudo ao seu servidor;
- Uma conexão SSH estável;
- Conhecimentos básicos de linha de comando Linux.
É importante garantir que o seu sistema esteja atualizado antes de prosseguir com a instalação.
Execute os seguintes comandos no terminal:
sudo apt update sudo apt upgrade
Isso garantirá que você tenha as versões mais recentes dos pacotes disponíveis em seu sistema.
Instalar o Apache
O Apache é o servidor web mais popular do mundo e é o “A” em LAMP.
Sua robustez e flexibilidade o tornam uma escolha excelente para hospedar sites e aplicações web.
-
- Atualize o índice de pacotes do seu sistema (se você já não fez isso nos pré-requisitos):
sudo apt update;
- Instale o Apache:
sudo apt install apache2;
- Ajuste o firewall para permitir tráfego web:
sudo ufw allow in "Apache Full"
— esse comando permite tráfego tanto na porta 80 (HTTP) quanto na porta 443 (HTTPS).
- Atualize o índice de pacotes do seu sistema (se você já não fez isso nos pré-requisitos):
Confira a instalação do Apache
Para verificar se o Apache foi instalado corretamente, confira o status do serviço:
sudo systemctl status apache2.
Se ele rodar, você verá uma saída semelhante a:
apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2021-04-22 16:14:39 UTC; 43min ago
Você também pode acessar o endereço IP do seu servidor em um navegador. Você deverá ver a página padrão do Apache que, geralmente, diz “It works!” ou “Apache2 Ubuntu Default Page”.
Correção de problemas na instalação do Apache
Se você encontrar problemas durante a instalação ou ao tentar acessar a página padrão do Apache, aqui estão algumas etapas de solução de problemas:
-
- Verifique os logs de erro:
sudo tail -f /var/log/apache2/error.log
— esse comando mostrará as últimas linhas do log de erro do Apache em tempo real;
- Certifique-se de que as portas 80 e 443 estão abertas no firewall:
sudo ufw status
— você deve ver “Apache Full” na lista de aplicativos permitidos;
- Reinicie o Apache:
sudo systemctl restart apache2
— às vezes, reiniciar pode resolver problemas de configuração;
- Verifique se o Apache realmente lista as portas corretas:
sudo netstat -tuln | grep :80 sudo netstat -tuln | grep :443
- Verifique os logs de erro:
Você deve ver o Apache listado para ambas as portas.
Instalar o MySQL
MySQL é o sistema de gerenciamento de banco de dados que representa o “M” em LAMP. É conhecido por sua confiabilidade, desempenho e facilidade de uso.
-
- Instale o MySQL:
sudo apt install mysql-server;
-
- Execute o script de segurança para reforçar a instalação:
sudo mysql_secure_installation;
-
- Siga as prompts para configurar uma senha root e remover usuários anônimos.
É altamente recomendável responder “Y” (sim) para todas as perguntas durante esse processo.
Após a instalação, você pode verificar se o MySQL roda com o comando:
systemctl status mysql.
Se tudo estiver correto, você verá uma mensagem que indica que o serviço está ativo e em execução.
Configuração adicional do MySQL
Para uma configuração mais segura, é uma boa prática criar um novo usuário para as suas aplicações, em vez de usar o usuário root. Veja, a seguir, como fazer isso:
-
- Acesse o prompt do MySQL:
sudo mysql;
- Crie um novo usuário e conceda privilégios:
CREATE USER 'novouser'@'localhost' IDENTIFIED BY 'senha';” GRANT ALL PRIVILEGES ON *.* TO 'novouser'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
- Acesse o prompt do MySQL:
Substitua ‘novouser’ e ‘senha’ por um nome de usuário e senha da sua escolha.
Instalar o PHP
PHP é a linguagem de programação do lado do servidor, o “P” em LAMP. É amplamente utilizada para desenvolvimento web devido à sua versatilidade e à grande comunidade de desenvolvedores.
-
- Instale o PHP e alguns módulos comuns:
sudo apt install php libapache2-mod-php php-mysql;
-
- Instale extensões PHP adicionais conforme necessário:
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc.
Essas extensões são comumente usadas em muitas aplicações PHP. A depender das necessidades específicas do seu projeto, você pode precisar instalar extensões adicionais.
Verifique a instalação do PHP
Para verificar se o PHP funciona corretamente:
-
- Crie um arquivo de informações PHP:
sudo echo "" > /var/www/html/info.php;
-
- Acesse “http://seu_ip_do_servidor/info.php” em um navegador — você deverá ver uma página com informações detalhadas sobre a instalação do PHP;
- Por razões de segurança, remova este arquivo após a verificação:
sudo rm /var/www/html/info.php.
Configuração do PHP
Para otimizar o desempenho e a segurança do PHP, você pode fazer algumas alterações no arquivo de configuração do PHP.
Abra o arquivo php.ini:
sudo nano /etc/php/7.4/apache2/php.ini.
Aqui estão algumas configurações que você pode querer ajustar:
-
- memory_limit = 256M: aumenta o limite de memória para scripts PHP;
- upload_max_filesize = 64M: aumenta o tamanho máximo de upload de arquivos;
- max_execution_time = 60: aumenta o tempo máximo de execução dos scripts.
Depois de fazer alterações, salve o arquivo e reinicie o Apache:
sudo systemctl restart apache2.
Criar um virtual host para o seu site
Virtual hosts permitem hospedar múltiplos sites em um único servidor. Isso é particularmente útil se você planeja hospedar mais de um site em seu servidor VPS.
- Crie um diretório para o seu site:
sudo mkdir -p /var/www/seu_dominio/public_html;
- Atribua a propriedade do diretório:
sudo chown -R $USER:$USER /var/www/seu_dominio/public_html;
- Defina as permissões corretas:
sudo chmod -R 755 /var/www/seu_dominio;
- Crie uma página de exemplo:
nano /var/www/seu_dominio/public_html/index.html;
- Adicione um HTML básico, como:
<html> <head> <title>Bem-vindo ao seu_dominio!</title> </head> <body> <h1>Sucesso! O virtual host seu_dominio está funcionando!</h1> </body> </html>;
-
- Crie um arquivo de configuração do virtual host: sudo nano /etc/apache2/sites-available/seu_dominio.conf;
- Adicione a seguinte configuração básica:
ServerAdmin webmaster@localhost ServerName seu_dominio ServerAlias www.seu_dominio DocumentRoot /var/www/seu_dominio/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ;
-
- Habilite o novo site e desabilite o site padrão:sudo a2dissite 000-default.conf
sudo a2ensite seu_dominio.conf; - Verifique se não há erros de sintaxe: sudo apache2ctl configtest;
- Reinicie o Apache: sudo systemctl restart apache2.
- Habilite o novo site e desabilite o site padrão:sudo a2dissite 000-default.conf
Agora, ao acessar o seu domínio, você deverá ver a página de exemplo que criou.
Testar o processamento do PHP no servidor web
Para garantir que o Apache processa corretamente os arquivos PHP, crie um arquivo de teste PHP:
nano /var/www/seu_dominio/public_html/info.php.
Depois, adicione o seguinte código:
<?php phpinfo(); ?>
Acesse “http://seu_dominio/info.php” em um navegador. Você deverá ver uma página com informações detalhadas sobre a configuração do PHP em seu servidor.
Após verificar que tudo funciona corretamente, remova o arquivo info.php por razões de segurança:
sudo rm /var/www/seu_dominio/public_html/info.php.
O que é LAMP?
LAMP é um acrônimo que representa um conjunto de tecnologias de código aberto comumente usadas juntas para criar websites e aplicações web. Cada letra do acrônimo representa um componente chave:
-
- L: Linux, o sistema operacional;
- A: Apache, o servidor web;
- M: MySQL, o sistema de gerenciamento de banco de dados;
- P: PHP, a linguagem de programação.
Essa combinação de tecnologias tornou-se extremamente popular devido à sua eficiência, flexibilidade e ao fato de ser totalmente de código aberto.
Vamos explorar cada componente em mais detalhes:
-
- Linux: é um sistema operacional de código aberto conhecido por sua estabilidade, segurança e flexibilidade. Ubuntu, a distribuição que usamos neste guia, é uma das versões mais populares de Linux, especialmente para servidores web;
- Apache: o Apache HTTP Server é um dos servidores web mais antigos e mais utilizados. Ele é conhecido por sua robustez, capacidade de lidar com grandes volumes de tráfego e extensa documentação;
- MySQL: é um sistema de gerenciamento de banco de dados relacional. É conhecido por sua velocidade, confiabilidade e facilidade de uso. MySQL é usado por muitas aplicações web populares, o que inclui WordPress, Drupal e Joomla;
- PHP: é uma linguagem de script do lado do servidor especialmente adequada para desenvolvimento web. PHP é conhecida por sua simplicidade, velocidade e por ter uma grande comunidade de desenvolvedores.
A stack LAMP é amplamente utilizada devido à sua versatilidade. Ela pode ser usada para hospedar desde simples blogs até complexas aplicações empresariais.
Além disso, como todos os componentes são de código aberto, a stack LAMP oferece uma solução econômica para muitas empresas e pessoas desenvolvedoras independentes.
Como o LAMP funciona?
O LAMP funciona como um ecossistema integrado no qual cada componente desempenha um papel crucial na criação e na entrega de conteúdo web dinâmico.
Vamos examinar o fluxo típico de uma solicitação web em um ambiente LAMP.
-
- Linux: serve como o sistema operacional base e fornece um ambiente estável e seguro para os outros componentes. Gerencia os recursos do sistema, como memória, processamento e armazenamento, a fim de garantir que todos os outros componentes funcionem eficientemente;
- Apache: atua como servidor web e recebe solicitações HTTP dos navegadores das pessoas usuárias. Quando uma solicitação chega, o Apache determina como ela deve ser tratada com base em suas configurações. Se a solicitação for para um arquivo estático (como uma imagem ou um arquivo HTML), o Apache pode servir diretamente. Se for para um script PHP, o Apache passa a solicitação para o interpretador PHP;
- MySQL: gerencia o banco de dados, armazena e recupera dados conforme solicitado pelas aplicações PHP. O MySQL organiza os dados em tabelas e fornece mecanismos eficientes para inserir, atualizar, recuperar e excluir informações;
- PHP: processa a lógica do lado do servidor. Quando o Apache passa uma solicitação para o PHP, ele executa o script correspondente. Durante a execução, o PHP pode interagir com o MySQL para buscar ou armazenar dados. Após processar a lógica necessária, o PHP gera conteúdo dinâmico (geralmente HTML) que é, então, enviado de volta ao Apache para ser servido à pessoa usuária.
Esse fluxo permite a criação de sites dinâmicos e aplicações web complexas.
Confira um exemplo de como isso funciona na prática:
-
- Uma pessoa digita www.seusite.com em seu navegador;
- O navegador envia uma solicitação HTTP para o servidor no qual o site está hospedado;
- O Linux recebe a solicitação e a passa para o Apache;
- O Apache identifica que a solicitação é para um script PHP e passa para o interpretador PHP;
- O PHP executa o script, que pode incluir consultas ao MySQL para recuperar dados;
- O PHP gera HTML dinâmico com base nos dados recuperados;
- O PHP passa o HTML gerado de volta para o Apache;
- O Apache envia o HTML de volta para o navegador da pessoa usuária;
- O navegador renderiza o HTML e exibe a página web.
Solução de problemas comuns
Mesmo com uma instalação cuidadosa, problemas podem surgir. Confira algumas situações comuns e veja como resolvê-las:
-
- Apache não inicia:
- MySQL não inicia:
- Erro 500 Internal Server Error:
- PHP não processa:
- Conexão recusada ao MySQL:
Conclusão
A instalação e a configuração de um servidor LAMP no Ubuntu 20.04 são processos que requerem atenção aos detalhes, mas que oferecem uma base sólida para hospedar uma ampla variedade de aplicações web.
Lembre-se de que a configuração de um servidor web é um processo contínuo. À medida que as suas necessidades mudam e novas versões de software são lançadas, você precisará ajustar e atualizar a sua configuração.
Atualize-se sobre as melhores práticas de segurança e desempenho e não hesite em experimentar diferentes configurações para encontrar o que funciona melhor para o seu caso de uso específico.
A stack LAMP é incrivelmente versátil e poderosa, e forma a base de muitos dos sites e aplicações que usamos diariamente. Com prática e experimentação, você será capaz de aproveitar todo o potencial dessa combinação de tecnologias para criar e hospedar aplicações web robustas e eficientes.
Se você encontrar dificuldades durante o processo de instalação, configuração ou otimização — ou tiver dúvidas adicionais —, não hesite em consultar a documentação oficial de cada componente ou entre em contato com o suporte da Locaweb. A nossa equipe está sempre pronta para ajudar você a ter sucesso em seus projetos web!
Lembre-se também de que embora o LAMP seja uma excelente stack para muitos projetos, não é a única opção disponível. A depender das demandas específicas do seu projeto, você pode considerar outras combinações, como LEMP (Linux, Nginx, MySQL, PHP) ou stacks baseadas em outras linguagens de programação, como Python ou Node.js.
Leia conteúdo complementar: