Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin + Let’s Encrypt no Debian 11 bullseye “LAMP”


Distribuição utilizada: Debian 11 Bullseye / Instalação Limpa

Acesse seu bash e vire root com o comando su – para evitar comandos “que não existem”, e antes de mais nada tenha seu repositório atualizado.

:: Instalação do Apache ::

Após a instação, habilitamos o mod_rewrite do Apache que é muito utilizado. Este é um módulo que utiliza um mecanismo baseado em regras de reescrita. (phpipa, wordpress todos usam). Comando para habilita-lo:

A página que vimos ao abri o ip do nosso servidor no navegador fica no diretório /var/www/html, isso está sendo informado no arquivo default do apache que fica em /etc/apache2/sites-enabled/000-default.conf, e para que nosso mod_rewrite funcione corretamente será necessário adicionar alguma linhas.

Adicione abaixo de “DocumentRoot /var/www/html” o seguinte:

Para você aprender mais como o apache funciona recomendo: Como ter diversos sub/domínios no mesmo servidor

Por segurança remova a assinatura do apache e reinicie o apache2 para que tenha efeito as nossas alterações.

http://[SERVER_IP]

:: Instalação do MariaDB 10.5 ::

Por padrão o pacote MaraiDB no Debian usa unix_socket para autenticar o login do usuário, o que basicamente significa que você pode usar o nome de usuário e a senha do sistema operacional para efetuar login no console do MariaDB.
Assim, você pode logar diretamente sem fornecer a senha root do MariaDB. Mais a frente vou ensinar como definir uma senha, não farei agora pois se você alterar nesse momento ao instalar o phpMyAdmin terá um erro.

:: Instalação do PHP 7.4 ::

Para instalação do PHP vou incluir algumas extensões que são as mais utilizada, mas seu preferir você pode optar em não instalar, as necessárias são libapache2-mod-php php php-mysql php-cli.

É necessário reiniciar o apache para que o php tenha efeito.

Consultado informações de versão:

Você pode criar um arquivo php com a função phpinfo() para mostrar todas as informações.

http://[SERVER_IP]/phpinfo.php

:: phpMyAdmin ::

Adivinha quem voltou para o repositório? Sim! phpmyadmin está de volta!

Selecione Apache2

Sim

Informe a senha para o banco de dados do phpmyadmin. http://senhasegura.remontti.com.br/

Aguarde finalizar… Se você é um menino que seguiu a risca não vai ter o erro seguinte, então pode pular esta parte.

POSSÍVEL ERRO!
Este erro acontece quando o usuário root do mariaDB está com senha. Caso isso acontecer, selecione IGNORAR e siga os passos a baixo.


SE OCORRER O ERRO: SIGAS ESTES PASSOS PARA RESOLUÇÃO DO PROBLEMA ACIMA.
Como o usuário root já tem senha e o script de instalção não sabe qual é a senha ele ele acaba apresentando esse erro ao criar o banco de dados bem como as tabelas do phpmyadmin, então vamos ter que criar na mão.
Se você quiser sertificar qual a senha digitou na instalação do phpmyadmin basta olhar o arquivo:

Agora entre no mariadb e vamos criar o banco bem como o usuário phpmyadmin (Use a mesma senha que está no config-db.php, ou altere também no config-db.php)

Não esqueça de alterar a SUPER_SENHA.

Importe as tabelas:

Pronto erro solucionado!


Para acessar o phpmyadmin:http://[SERVER_IP]/phpmyadmin/
Caso seu phpmyadmin não abrir, certifique-se que o arquivo phpmyadmin.conf está lincado em /etc/apache2/conf-enabled/


Caso não esteja execute o comando, e reinicie o apache:

Agora tente novamente.,

Por segurança eu sempre fecho o acesso ao phpmyadmin para os IPs da administração, assim evito que uma possível vulnerabilidade venha me afetar. Para isso edite:

Se deseja deixar o atalho para o phpmyadmin restrito apenas aos seus IP de gerencia faça da seguinte forma. Lembre-se de alterar os IPs 200.200.200.0/26 2001:db8:cafe:d0ce::/64 para os seus.

Reinicie o Apache.

:: Definindo senha para o 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.

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!

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

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.

Abraço!

Rudimar Remontti

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

Você pode gostar...

2 Resultados

  1. Robson Dantas disse:

    E agora, como faço para instalar o WordPress neste servidor criado?
    É só para aprender a usar o WordPress antes de colocar num servidor pago.
    Quem pode tirar essa dúvida minha?

    Grato.

Deixe um comentário

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