Servidor WEB NGINX + PHP + MariaDB + phpMyAdmin + Letsencrypt no Debian 10 Buster (LNMP)


Neste tutorial vamos configurar um servidor web com NGINX (lê-se “engine x”), o concorrente do Apache. NGINX é um servidor web (HTTP e IMAP/POP3/Proxy) rápido, leve e com inúmeras possibilidades de configuração para melhor performance. O Apache, sem dúvidas, é o servidor web mais popular. No entanto, o NGINX a cada ano ganha mais popularidade e está sendo a preferência dos novos projetos.

Distribuição utilizada: Debian 10 Stretch / Instalação Limpa

NGINX

https://www.nginx.com

Acesse agora em seu navegador http://IP-SERVIDOR/

Se você acessar um diretório que não existe um erro dizendo que não existe, e junto informações que não é legal aparecer.

Vamos remover assinatura do nginx onde ele exibe a versão do mesmo. Ninguém precisa saber! Correto?

Pronto nosso NGINX está rodando!

MARIADB

MariaDB para quem ainda não sabe é um fork do MySQL, criado pelo próprio fundador do projeto MySQL após sua aquisição pela Oracle.

Por segurança vamos setar uma senha do

Não use a mesma senha do seu servidor, crie uma nova totalmente diferente! Dica acesse https://senhasegura.remontti.com.br/ e gere uma!

Agora quando for acessar o mariadb será necessário informar a senha.

PHP7

Incluirei algumas extensões do PHP que são normalmente utilizada também na instalação.

Agora vamos fazer a “integração” do PHP com o NGINX. Moveremos o arquivo defaul.

Crie um novo:

Ajuste:

Teste a configuração se não tem nada errado e restart os serviços:

Vamos criar um arquivo em PHP para testa se nosso NGINX está interpretando o PHP.

Acesse em seu navegador http://IP-SERVIDOR/teste.php

🙂 Nosso servidor WEB com PHP está funcionando!

Exemplo para multiplos domínios/subdomínios

Neste ex: vou representar o sub1.remontti.com.br

Neste ex: vou representar o sub2.remontti.com.br e sub3.remontti.com.br

Link os arquivos no diretório “/etc/nginx/sites-available” que será carregado as novas configurações

Crie os diretórios referente a cada server_name.

Verifique se não tem nenhum erro e restart:

phpMyAdmin

Cade ele do repositório? O PHPMyAdmin não está mais disponível como pacote .deb no Debian 10. Fazendo um pesquisa o motivo é que o “pessoal” que faz empacotamento não tem uma versão estável. https://security-tracker.debian.org/tracker/CVE-2018-19968
Desta forma debian “obriga” com que o usuário instale-o a partir da fonte. https://www.phpmyadmin.net/downloads/

Para nosso phpmyadmin funcionar corretamente precisamos criar um banco de dados para ele, e por segurança vamos tb criar um usuário só para ele.

Não esqueça de alterar “SUA_SENHA”.

Agora vamos importar as tabelas e configura-lo.

Descomente/Adicone/Altere:

Para torna-lo acessível altere o arquivo de configuração do seu NGINX, no exemplo vou colocar no arquivo default, mas você poderia estar configurando em seus domínios.

Adicione as linhas destacadas:

Se deseja tonar o phpmyadmin acessivel apenas de alguns endereços IPs basta descomentar as linhas, e incluir seus prefixos. O error_page é para que quando a o acessante levar um proibido seja direcionado para um site.

Basta acessar http://IP-SERVIDOR/phpmyadmin

LETSENCRYPT

Criando certificado valido para nossos domínios.

Tenha seu(s) domínio(s) configurado em /etc/nginx/sites-enabled/

Retorno do questionário:

Você pode também criar o certificado diretamente para um domínio.

Não esqueça de colocar no seu cron para ele renovar o certificado, pois a cada 90 ele expira. Neste exemplo todo dia primeiro tento renovar.

Caso não renovar apenas rode o comando letsencrypt novamente.

Bônus: Modelo para WordPress

Como rewrite no NGINX é um pouco diferente vou deixar um ex.:

Gostou?

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Fontes: https://docs.nginx.com/
https://docs.nginx.com/nginx/admin-guide/web-server/web-server/

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *