Blog do Edivaldo – Informações e Notícias sobre Linux

Como instalar o stack LEMP no Ubuntu de forma prática e fácil

Como instalar o stack LEMP no Ubuntu de forma prática e fácil

Fonte: www.digitalocean.com

O LEMP é uma stack poderosa composta por Linux, Nginx, MySQL e PHP, ideal para desenvolver aplicações web rápidas e seguras. Ao instalá-lo e configurá-lo corretamente, você garante ótimo desempenho e proteção para seus dados.

Está buscando otimizar seu site com LEMP? Neste guia, você vai aprender passo a passo como instalar e configurar o stack LEMP no Ubuntu, ideal para quem está começando. Vamos nessa!

Introdução ao LEMP

O LEMP é uma popular opção para quem quer gerenciar um servidor web. A sigla LEMP refere-se ao conjunto de softwares: Linux, Nginx, MySQL e PHP. Juntos, eles formam uma base sólida para diversos tipos de aplicações. Você pode usar o LEMP para sites simples ou mais complexos, dependendo das suas necessidades.

Linux é o sistema operacional que dá vida aos servidores. O Nginx atua como o servidor web, recebendo requisições e mostrando páginas. O MySQL é um banco de dados onde as informações são armazenadas. Por último, o PHP é uma linguagem de programação que permite criar páginas dinâmicas. Essa combinação é bastante eficiente e amplamente utilizada na web.

Com o LEMP, é possível ter melhor desempenho, segurança e flexibilidade. Muitas empresas e desenvolvedores preferem essa opção por ser leve e rápida. Se você está começando a trabalhar com servidores, vale a pena aprender sobre o LEMP. Ao longo deste guia, vamos explorar como instalar e configurar esse stack poderoso e versátil.

Instalando o servidor Nginx

Instalar o Nginx no seu servidor é fácil e rápido. Primeiro, você precisa acessar o terminal do seu servidor. Certifique-se de que você está logado como um administrador.

Para começar a instalação, atualize a lista de pacotes. Execute o comando sudo apt update. Isso garante que você tenha as versões mais recentes dos pacotes disponíveis. Depois disso, instale o Nginx com o comando sudo apt install nginx.

Assim que a instalação for concluída, você pode iniciar o servidor Nginx com sudo systemctl start nginx. Para garantir que ele inicie automaticamente com o servidor, use sudo systemctl enable nginx.

Agora é hora de testar se tudo está funcionando. Abra um navegador e digite o endereço IP do seu servidor. Se o Nginx estiver funcionando, você verá uma página padrão do Nginx.

Se precisar parar o Nginx, use sudo systemctl stop nginx. Para reiniciá-lo, o comando é sudo systemctl restart nginx.

Com esses passos simples, você já tem o Nginx instalado e funcionando. É uma ótima base para seu projeto web!

Configurando o MySQL

Configurar o MySQL é um passo importante para o seu servidor. Primeiro, você precisa instalar o MySQL se ainda não o fez. Use o comando sudo apt install mysql-server para instalar.

Após a instalação, inicie o serviço MySQL com sudo systemctl start mysql. Para garantir que ele comece sempre que o servidor for iniciado, faça isso com sudo systemctl enable mysql.

Agora, você vai querer garantir que sua instalação é segura. Execute o comando sudo mysql_secure_installation. Esse comando irá guiá-lo por várias etapas para proteger seu banco de dados. Você poderá definir uma senha de root e outras opções de segurança.

Após configurar a segurança, acesse o MySQL com sudo mysql -u root -p. Digite a senha que você configurou. Agora você está pronto para criar bancos de dados e tabelas.

Para criar um novo banco de dados, use o comando CREATE DATABASE nome_do_banco;. Substitua nome_do_banco pelo nome desejado. É fácil assim. Agora você pode começar a usar o MySQL para armazenar seus dados!

Integrando PHP ao servidor

Integrar o PHP ao seu servidor Nginx é crucial para rodar aplicações dinâmicas. Primeiro, você deve instalar o PHP. Use o comando sudo apt install php-fpm php-mysql. Isso vai instalar o PHP e o módulo MySQL que o PHP usa.

Após a instalação, é importante configurar o PHP para o Nginx. Abra o arquivo de configuração do seu site. Normalmente, ele está localizado em /etc/nginx/sites-available/default.

Dentro desse arquivo, você precisa garantir que o bloco do servidor consiga processar arquivos PHP. Adicione a linha index index.php index.html; na seção server. Isso vai permitir que o Nginx reconheça o arquivo index.php como padrão.

Em seguida, você precisa configurar como o Nginx deve passar requisições de PHP para o PHP-FPM. Adicione as seguintes linhas dentro do bloco location ~ \.php$:

fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;     fastcgi_index index.php;     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;     include fastcgi_params;

Troque php7.x pela versão do PHP que você instalou. Após fazer essas alterações, salve o arquivo e saia.

Para aplicar as mudanças, reinicie o Nginx com sudo systemctl restart nginx. Agora, seu servidor já está pronto para rodar arquivos PHP.

Testando o PHP com o Nginx

Testar o PHP com o Nginx é uma etapa importante. Você precisa garantir que tudo está funcionando corretamente. Para começar, crie um arquivo de teste PHP. Abra o terminal e use o comando:

echo "" | sudo tee /var/www/html/info.php

Esse comando cria um arquivo chamado info.php na pasta padrão do Nginx. Esse arquivo irá exibir informações sobre a instalação do PHP.

Agora, abra seu navegador e digite o endereço do seu servidor seguido de /info.php. Por exemplo, http://seu_endereco_ip/info.php. Se tudo estiver correto, você verá uma página com detalhes sobre a sua configuração PHP.

Essa página mostra versões, módulos instalados e outras informações que podem ser úteis. Se você não ver essa página, verifique se o Nginx e o PHP-FPM estão rodando corretamente.

Não esqueça de remover o arquivo de teste depois do uso. Você pode fazer isso com:

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

Isso ajuda a manter seu servidor seguro, pois não deixa informações técnicas acessíveis a todos.

Criando diretórios de projeto

Criar diretórios de projeto é uma parte essencial ao usar o LEMP. Isso ajuda a organizar seus arquivos e facilita o desenvolvimento. Primeiro, você deve decidir onde seus diretórios irão ficar. Normalmente, eles ficam em /var/www/.

Use o comando para criar um novo diretório. Por exemplo, para criar um projeto chamado meu_site, digite:

sudo mkdir /var/www/meu_site

Depois de criar o diretório, você deve dar permissão para o servidor web acessá-lo. Use o comando:

sudo chown -R www-data:www-data /var/www/meu_site

Isso garante que o Nginx possa ler e escrever nesse diretório. Agora, é uma boa prática criar um simples arquivo index.php para testar.

Você pode fazer isso com o comando:

echo "" | sudo tee /var/www/meu_site/index.php

Agora você tem um diretório de projeto criado e pronto para uso. Basta acessar http://seu_endereco_ip/meu_site/index.php no navegador. Se tudo estiver certo, você verá a mensagem “Olá, Mundo!”.

Configurando o firewall para Nginx

Configurar o firewall para o Nginx é essencial para proteger seu servidor. Utilize o ufw, que é um firewall fácil de usar. Primeiro, você precisa garantir que o ufw esteja instalado e ativo. Você pode verificar isso com o comando:

sudo ufw status

Se não estiver ativo, ative-o com:

sudo ufw enable

Em seguida, você deve permitir o tráfego HTTP e HTTPS. Isso é feito com os seguintes comandos:

sudo ufw allow 'Nginx Full'

Essa regra permite tanto o tráfego HTTP (porta 80) quanto o HTTPS (porta 443).

Se precisar, também pode permitir o tráfego apenas para HTTP com:

sudo ufw allow 'Nginx HTTP'

Após fazer essas configurações, verifique novamente o status do firewall:

sudo ufw status

Isso mostrará todas as regras ativas. Agora, seu firewall está configurado para permitir o acesso ao Nginx.

Para reforçar a segurança, desabilite outras portas não utilizadas. Use o comando:

sudo ufw deny 

Substitua pela porta que deseja bloquear. Essas etapas ajudam a proteger seu servidor e garantir que apenas o tráfego necessário seja permitido.

Teste de conexão ao banco de dados

Testar a conexão ao banco de dados MySQL é uma etapa importante. Primeiro, você precisa acessar o terminal do seu servidor.

Use o seguinte comando para se conectar ao MySQL:

mysql -u root -p

Depois de digitar, pressione Enter. O sistema pedirá sua senha. Digite a senha que você configurou anteriormente.

Se a conexão for bem-sucedida, você verá o prompt do MySQL. Isso significa que seu banco de dados está acessível.

Você pode testar se alguns bancos de dados existem com o comando:

SHOW DATABASES;

Isso mostrará uma lista de bancos de dados disponíveis. Para usar um banco específico, digite:

USE nome_do_banco;

Substitua nome_do_banco pelo nome do banco que você quer acessar. Se tudo estiver correto, você estará dentro do banco de dados.

Para sair do MySQL, digite:

EXIT;

Testar a conexão é uma parte essencial para garantir que suas aplicações funcionarão corretamente.

Segurança no MySQL

Garantir a segurança no MySQL é fundamental para proteger seus dados. Aqui estão algumas práticas simples que você pode seguir. Primeiro, use senhas fortes para todas as contas. Senhas devem ter letras, números e símbolos.

Evite usar o usuário root para aplicações. Crie usuários específicos com permissões limitadas. Você pode fazer isso assim:

CREATE USER 'novo_usuario'@'localhost' IDENTIFIED BY 'sua_senha';

A seguir, conceda as permissões necessárias. Por exemplo:

GRANT SELECT, INSERT ON nome_do_banco.* TO 'novo_usuario'@'localhost';

Isso permite que o novo usuário apenas veja e insira dados.

Outra dica é sempre atualizar o MySQL para a última versão. Isso garante que você tenha as correções de segurança mais recentes. Use o seguinte comando para atualizar:

sudo apt update && sudo apt upgrade mysql-server

Além disso, considere desabilitar o acesso remoto. Isso reduz o risco de ataques. Para fazer isso, verifique o arquivo de configuração do MySQL.

Por fim, ative o firewall e configure regras específicas para o MySQL. Você pode usar o ufw para isso:

sudo ufw allow from ip_do_seu_servidor to any port 3306

Seguindo essas dicas, você pode aumentar significativamente a segurança do seu banco de dados MySQL.

Dicas de configuração avançada

Configurações avançadas ajudam a otimizar seu servidor e melhorar o desempenho. Aqui vão algumas dicas importantes. Primeiro, ajuste o Arquivo de Configuração do Nginx. Abra o arquivo com:

sudo nano /etc/nginx/nginx.conf

Você pode aumentar o número de conexões simultâneas ajustando a diretiva worker_connections. Um valor comum é 1024:

worker_connections 1024;

Outra dica é ajustar o tempo de espera de conexão. Isso pode ser feito com keepalive_timeout. Um valor de 65 segundos é ideal:

keepalive_timeout 65;

Além disso, considere usar o Gzip para compressão. Isso reduz o tamanho dos arquivos e acelera o carregamento:

gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

Não esqueça de monitorar o uso dos recursos do servidor. Ferramentas como htop e netstat podem ajudar. Eles mostram como o servidor está funcionando.

Por fim, sempre faça backups antes de qualquer alteração. Isso garante que você pode reverter se algo der errado. Usar essas dicas de configuração avançada ajuda a manter seu servidor estável e eficiente.

Conclusão e próximos passos

Ao final deste guia, você já possui um entendimento sólido sobre como configurar o LEMP. A instalação do Nginx, MySQL e PHP é uma excelente base para muitos projetos web.

O próximo passo é explorar as várias aplicações que você pode construir. Considere começar com um site simples, como um blog ou portfolio.

Outra opção é experimentar com frameworks populares. O Laravel e o WordPress são boas escolhas para aprofundar seus conhecimentos.

Não se esqueça de continuar praticando e testando suas habilidades. A documentação oficial do Nginx e do MySQL tem recursos valiosos.

Por fim, sempre se preocupe com a segurança. Implementar boas práticas de segurança deve ser uma prioridade.

Com dedicação e prática, você se tornará proficiente em administração de servidores e desenvolvimento web.

Pronto para seu próximo passo no LEMP?

Agora que você aprendeu a instalar e configurar o stack LEMP, está pronto para criar aplicações incríveis. Com Nginx, MySQL e PHP, suas possibilidades são imensas.

Lembre-se de sempre testar e melhorar suas configurações. A segurança do seu servidor também deve ser uma prioridade. Manter os dados seguros é crucial.

Continue aprendendo e explorando novos recursos e formas de usar essas tecnologias. Cada novo projeto é uma oportunidade para aumentar seu conhecimento e habilidades.

Aproveite sua jornada na web e não hesite em compartilhar suas experiências e aprendizados com outros!

FAQ – Perguntas frequentes sobre o LEMP

O que é LEMP e como ele funciona?

LEMP é uma combinação de Linux, Nginx, MySQL e PHP, que forma uma stack para desenvolver e gerenciar aplicações web.

Como posso garantir que meu servidor LEMP está seguro?

Você deve usar senhas fortes, criar usuários específicos para tarefas e manter o MySQL atualizado. Além disso, configure o firewall.

Posso usar o LEMP para hospedar um site WordPress?

Sim, o LEMP é ótimo para hospedar WordPress, oferecendo bom desempenho e flexibilidade.

Qual a diferença entre Nginx e Apache?

Nginx é conhecido por sua alta performance em ambientes de alto tráfego, enquanto o Apache tem suporte a mais módulos e funcionalidades.

É difícil configurar o LEMP?

Não, com as instruções certas, a configuração do LEMP pode ser realizada de maneira simples, mesmo para iniciantes.

Como posso otimizar o desempenho do meu servidor LEMP?

Você pode ajustar as configurações do Nginx, habilitar Gzip, e monitorar o uso de recursos regularmente para garantir eficiência.

Sair da versão mobile