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), e o mod_headers Este módulo fornece diretivas para controlar e modificar os cabeçalhos de solicitação e resposta HTTP. 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 e headers funcione corretamente será necessário adicionar alguma linhas.
O HTTP Strict Transport Security ou HSTS (RFC 6797) é um novo padrão de segurança SSL aprovado recentemente pelo IETF. Ele traz diversas melhorias para o SSL como forçar a utilização do HTTPS impedindo que sites sejam acessados usando o protocolo HTTP ou que partes do código de um site que está usando HTTPS seja executado em servidores usando o HTTP entre outras.

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

Dica, se desejar desativar o TLS1.0 e TLS1.1 após criar um certificado um arquivo é criado /etc/letsencrypt/options-ssl-apache.conf, então edite e inclua no SSLProtocol TLSv1 -TLSv1.1

Ficando

Reinicie o Apache:

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

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

11 Resultados

  1. Frederico disse:

    Muito obrigado pela grande ajuda!

  2. fabricio disse:

    como eu testo, através do ip?

  3. Alysson disse:

    Parabéns pelo post, no php7.4.30 como que faço para rodar script de consulta snmp, tenho um que rodo normalmente no xampp, ja nesse não consegui, ja ativei a extension = snmp e não roda. $session_snmp = new SNMP(SNMP::VERSION_2c, $ip_host.”:”.$porta_host, $comunidade_host);

  4. Segui o passo a passo e no phpmyadmin quando crio um banco de dados, ao ir na guia privilégios aparece o seguinte erro: #1267 – Combinação ilegal de collations (utf8mb4_general_ci,COERCIBLE) e (utf8mb4_unicode_ci,COERCIBLE) para operação ”.

    Ja tentei várias coleções porém não resolve

  5. Mark disse:

    Fiz todos os passos, consigo logar no phpmy, crio tabelas, porem quando tento me conectar atraves da aplicação vb.net ou mysql workbech não consigo, criei usuarios com super previlegios e nada.

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

  1. 11 de fevereiro de 2022

    […] 1 – Debian 11 Bullseye – Instalação limpa 2 – WEB Apache + PHP + MariaDB + phpMyAdmin “LAMP” […]

  2. 14 de junho de 2022

    […] Debian 11 (recomendado): 1- Debian 11 Bullseye / Instalação Limpa 2- Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin phpMyAdmin :: (Opcional não […]

  3. 15 de julho de 2022

    […] Será necessário a instalação do Apache2, PHP, MySQL você pode seguir o tutorial: Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin + Let’s Encrypt no De… […]

  4. 7 de dezembro de 2022

    […] Se você tiver interesse em ter uma interface web para gerenciamento recomendo: Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin + Let’s Encrypt no De… […]

Deixe um comentário

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