Servidor WEB NGINX + PHP 8.2 + MariaDB + phpMyAdmin + Let’s Encrypt Debian 12 Bookworm (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 12 Stretch / Instalação Limpa

NGINX

https://www.nginx.com
Vamos instalar-lo e remover a assinatura para que não vejam a versão do mesmo (Boas praticas)

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

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.

Ao final do tutorial iremos colocar uma senha para o usuario root do mariadb. Não iremos fazer isso agora para não dar problema na instalação do phpmyadmin.

PHP 8.2

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

Servidor WEB com PHP está funcionando!

Exemplo para múltiplos 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

Não selecione nenhum, apenas OK

Responda Sim

Irá solicitar a senha para a base de dados phpmyadmin, informe sua senha e repita.

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.

Verifique se não tem nenhum erro e restart:

Acesse agora http://SERVIDOR/phpmyadmin

Definindo senha para o root do mariaDB

Por segurança vamos setar uma senha do usuario root do MariaDB

Para aumentar a seguraçã vamos definir uma senha para o usuário root do MariDB, não esqueça de alterar ALTERE_3ST4_SENHA pela sua senha. Dica acesse https://senhasegura.remontti.com.br/ e gere uma!

Apague seus rastros, em /root/.mysql_history temos um histórico com todos os comandos dado no terminal do MariaDB, então não é legal deixar lá em texto puro a senha que setamos!

Agora quando for acessar o mariadb será necessário informar a senha juntamente da opção -p.

Let’s Encrypt

Criando certificado grátis para seus sub/domínios.

Para gerar o certificado use o comando:

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.

Para testar acesse: https://www.cdn77.com/tls-test/

Gostou?

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...

1 Resultado

  1. 14 de junho de 2023

    […] Debian 12 Bookworm (recomendado): 1 – Debian 12 Bookworm / Instalação Limpa 2.a – Servidor WEB NGINX + PHP 8.2 + MariaDB + phpMyAdmin 2.b – Servidor WEB Apache2 + PHP 8.2 + MariaDB + phpMyAdmin phpMyAdmin é […]

Deixe um comentário

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