Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “LAMP”


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

Vale lembrar que desde o Debian 9 o PHP foi atualizado para a versão 7 e agora para 7.3, e o MySQL foi substituído pelo seu fork MariaBD

Antes de mais nada tenha seu repositório atualizado

:: Instalação do Apache 2.4 ::

Vamos habilitar o mod_rewrite do Apache que é muito utilizado.
Este é um módulo do Apache que utiliza um mecanismo baseado em regras de reescrita.

Vamos ao 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:


Agora precisamos restartar o apache2 para que tenha efeito as alterações.

http://[SERVER_IP]/

:: Instalação do MariaDB 10.3 ::

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. Mas isso é estranho, pois minha senha do root do MariaDB é diferente do meu usuário unix.
Bom se você é meio paranoico com segurança, para alterar a senha do usuário root do MariaDB de forma bruta faça o seguinte:

:: Instalação do PHP 7.3 ::

Vou incluir algumas extensões do PHP que são normalmente utilizada

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

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/

Escolha qual versão do irá utilizar phpMyAdmin 5.x.x ou 4.x.x

Para phpMyAdmin 5 (06/04/2020)

Para phpMyAdmin 4 (06/04/2020)

Seguimos para phpMyAdmin 5 ou 4

Criaremos o arquivo de configuração do Apache.

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.

Ative a configuração e reinicie o Apache.

Na próxima etapa, vamos configurar o armazenamento de configuração do phpMyadmin (banco de dados).
Faça o login no MariaDB como usuário root:

Criamos um novo banco de dados para o chamado phpmyadmin e um usuario pma (altere para sua senha). Em seguida, concedemos as permissões do banco de dados.
Você pode gerar uma senha acessando https://senhasegura.remontti.com.br/

Carregue as tabelas do banco de dados: (Informe a senha do root do MariaDB)

Agora é necessário ajustar o arquivo de configuração do phpmyadmin.
Definir:
* senha segura (blowfish secret) que deve ter 32 caracteres. Não use o meu exemplo blowfish secreto, defina o seu próprio! Use o gerador https://senhasegura.remontti.com.br
* diretório que o PHPMyAdmin deve usar para armazenar arquivos temporários.
* Descomentar as linhas $cfg[‘Servers’]
– controlhost : localhost
– controlpass : SUA_SENHA

http://[SERVER_IP]/phpmyadmin/

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

56 Resultados

  1. Ulisses disse:

    Tutoria perfeito! Muito Obrigado!

  2. Hardani disse:

    thankyou for perfect tutorial !

  3. O comando # a2enconf phpmyadmin
    estava inexistente no meu. Apos algumas pesquisas encontrei esse caminho e adicionei
    export PATH=”/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin”
    Apos isso o comando # a2enconf phpmyadmin funcionou.
    Ta Show o tutorial!
    Obirgado Remontti! PARABÉNS!

  4. Opa blz?!?! estou seguindo o tutorial e me deparei com um problema. depois de tudo pronto (tive alguns problemas no meio do caminho, mas no fim consegui resolver tudo) quando tento acessar o IPDOSERVIDOR/phpmyadmin/ aparece uma pagina dizendo que eu não tenho permissão pra acessar… 403 FORBIDDEN… onde estou errando?!?! desde já agradeço e o parabenizo pelo excelente blog.

    Atenciosamente,

    Rafael.

  5. IGOR disse:

    Olá!
    estou chegando no final do tutorial mas me deparei com um erro interessante.

    o comando:
    mariadb -u root -p phpmyadmin < /usr/share/phpmyadmin/sql/create_tables.sql

    gera o resultado:
    -bash: /usr/share/phpmyadmin/sql/create_tables.sql: Arquivo ou diretório inexistente

    achei uma possível solução no stack overflow mas me deu um pressentimento de que iria falhar.

    tive de criar 2 usuários pma pois o primeiro saiu com a senha errada. (vou resolver isso depois)
    o segundo usuário está como pma01.
    tem algo a ver ?

    desde já agradeço!

  6. James disse:

    Boa Noite.
    Meu Zabbix parou de rodar apos a instalação do phpMyAdin, alguém tem ideia do que fazer?

  7. Clayton disse:

    Excelente Tutorial!
    No meu deu erro ao me autenticar….
    “Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.”
    Alguma configuração errada?

  8. Igor disse:

    Show parabéns deu tudo certo aqui, mas com phpMyAdmin 4 com 5 não sei porque não rolou

  9. FABIO MATTE disse:

    Muito bom o Artigo, está funcionando, mas ao final da pagina do PHPMyAdmin aparece duas mensagens:

    O ficheiro de configuração precisa agora de uma frase-passe secreta (blowfish_secret).


    A $cfg[‘TempDir’] (/usr/share/phpmyadmin/tmp/ 1) não se encontra acessível. phpMyAdmin não conseguirá colocar os modelos em cache e devido a isso irá ser mais lento.

    Como eu poderia resolver

    • verifica o arquivo /usr/share/phpmyadmin/config.inc.php
      No tutorial ta lá:
      Agora é necessário ajustar o arquivo de configuração do phpmyadmin.
      Definir:
      * senha segura (blowfish secret) que deve ter 32 caracteres. Não use o meu exemplo blowfish secreto, defina o seu próprio! Use o gerador https://senhasegura.remontti.com.br
      * diretório que o PHPMyAdmin deve usar para armazenar arquivos temporários.
      * Descomentar as linhas $cfg[‘Servers’]
      – controlhost : localhost
      – controlpass : SUA_SENHA

  10. José Pedro disse:

    Olá, tudo funciona certo, porém quando entro na página do phpmyadmin aparece as linhas dos códigos de vez logar na página, sabe me dizer como posso resolver?

  11. Renan Vitor disse:

    Show de Bola, 1 ano e 8 meses depois que usei pela primeira vez seu post para instalar o nextcloud, agora, novamente vim dar uma olhada se tinha algo mais atualizado e aqui estou com conteudo novo show de bola 100% funcional.

    TOp Rudimar! Parabéns!

  12. Flavio Oliveira disse:

    Tutorial 100% funcional, excelente!

    Parabéns Rudimar Remontti.

  13. João Zem disse:

    Show de bola o artigo! Parabéns!

  14. Jocimar Roberto Silva disse:

    Trabalho Excelente! Material altamente didático e muito bem detalhado. Parabéns e muito obrigado!

  15. Luciano Ribeiro disse:

    Tutorial 100% funcional, excelente!

    Parabéns Rudimar Remontti.

  16. Jemmes disse:

    Muito bom, obrigado!

  17. Edy Willian disse:

    Simplesmente espetacular seu tutorial, muito obrigado por disponibilizar esse material.

  18. Ciro Moniz disse:

    Infelizmente ainda não consegui resolver, mas já está clareando. Se colocar em /var/www/ funciona, mas meus sites q eu crio os virtual host ficam em /home/user/public_html.

    Segundo a documentação do apache:

    # Sets the default security model of the Apache2 HTTPD server. It does
    # not allow access to the root filesystem outside of /usr/share and /var/www.
    # The former is used by web applications packaged in Debian,
    # the latter may be used for local directories served by the web server. If
    # your system is serving content from a sub-directory in /srv you must allow
    # access here, or in any related virtual host.

    Options FollowSymLinks
    AllowOverride None
    Require all denied

    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted

    #
    # Options Indexes FollowSymLinks
    # AllowOverride None
    # Require all granted
    #

    Bom, mesmo colocando aí o /Directory e / ou dentro do virtualhost em /etc/apache2/sites-available/ não funciona … funciona index.html mas o php não interpreta os códigos, fica exibindo o código php … exemplo phpinfo.php agora se eu coloco em /var/www aí funciona

    Tem como clarear ? Tenho dias quebrando a cabeça

  19. Vinícius G Silva disse:

    Excelente Tutorial.
    Aos que utilizam Ubuntu 10, vai precisar de mais 1 comando para dar certo o phpMyAdmin.
    Após finalizar o procedimento acima basta aplicar essa linha.

    cp -r /usr/share/phpmyadmin/ /var/www/html/phpmyadmin

  20. Hoffman disse:

    Não consigo abrir a página do phpmyadmin, mas tudo ocorreu sem erros hehe. Obrigado Remontti!

  21. Ciro Moniz disse:

    bom dia,

    Seguindo seu tutorial tudo funciona … só tive problema com ulimit na máquina virtual mas já resolvi.

    Porém estou tendo problema ao criar os virtual host … quando crio ele não interpreta o código php, fica mostrando o código do arquivo index.php

    por exemplo: http://www.brlink.org aparece:

    • Algum pacote esta faltando, tenta reinstalar os pacotes e iniciar os serviços.

      • Ciro Moniz disse:

        Olá Rudimar

        Ainda não consegui resolver o problema, porém parece que já identifiquei mais ou menos onde esteja. Só funciona na pasta padrão /var/www … se colocar o sites lá ele interpreta o php se colocar em qq outra pasta não interpreta só aparece os códigos.

        Parece que por padrão a pasta raiz (directory /) é bloqueada (require all denied), então na documentação sugere adicionar em apache2.conf no meu caso o , porém já adicionei e sem sucesso, adicionei no apache2.conf no virtualhost, nos dois e nada.

        Poderia fazer um teste sobre isso que falei e dar um retorno a respeito ? Um exemplo de virtualhost ou /directory q funcione nos sites q eu coloque em /home/usuario/

        OBS.: Já tem o phpmyadmin 5 instalei no lugar do 4 e funcionou blz só tive q criar uma pasta /usr/share/phpmyadmin/tmp/

  22. Rina disse:

    Parabéns pelo artigo. Mesmo sem ter experiência com Linux, segui o passo-a-passo e consegui finalizar a configuração. Apenas no momento de baixar o phpMyAdmin-4.9.1-all-languages.tar.gz não consegui estabelecer a conexão. mas baixei de outra forma e deu tudo certo.
    Muito bom !!!

  23. Delvan disse:

    Meus parabéns Rudimar!
    Seus post’s são muito bem explicados.

  24. Souto disse:

    Prezado, muito obrigado por compartilhar seus conhecimentos. Tutorial muito bem explicado e detalhado. Resolveu meu problema, principalmente com o PhpMyadmin no Debian 10.

    Mais uma vez, grato!

  25. William Moreira disse:

    Remontti
    Grato pelas explicações e dicas sobre instalação e configuração de serviços Linux.
    Parabéns!

  26. Antonio Eudes disse:

    Eu estava seguindo o passo a passo, porém quando criado as configurações do apache2 o mesmo da falha no restart e não inicia, aponta erro na linha 160 porém verifiquei o mesmo e esta tudo correto conforme esta descrito aqui, poderia me dar uma luz em relação a este problema? a programação antes do erro deu tudo certo…

  27. diego rodrigo disse:

    ola o mode # a2enmod rewrite retorna como não encontrado já desinstalei a maquina 3 vezes e o erro persiste.teria alguma solução

  28. Welton C. Machado disse:

    Meus parabéns, seu blog esta ótimo, sempre acompanho você! lhe desejo tudo de bom!!!

  1. 17 de dezembro de 2019

    […] Se você tiver interesse em ter uma interface web para gerenciamento recomendo: Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “… […]

  2. 22 de janeiro de 2020

    […] […]

  3. 8 de fevereiro de 2020

    […] Requisitos: * Debian 10 (Buster) -> Instalação Limpa * Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster &… […]

  4. 13 de março de 2020
  5. 30 de março de 2020

    […] Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “LAMP” – Fonte: https://blog.remontti.com.br/3006 […]

  6. 8 de abril de 2020

    […] 10 Stretch / Instalação Limpa Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “… phpMyAdmin :: […]

  7. 22 de maio de 2020

    […] * Debian 10 (Buster) -> Instalação Limpa * Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster &… (Opcional […]

  8. 20 de agosto de 2020

    […] Debian 10: 1- Debian 10 Stretch / Instalação Limpa 2- Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “… phpMyAdmin :: […]

  9. 25 de agosto de 2020

    […] 1- Debian 10 Stretch / Instalação Limpa 2- Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “… Instalação do PHP 7.3 (Requisito) Instalação do MariaDB 10.3 (Requisito) Instalação do Apache […]

  10. 25 de agosto de 2020

    […] Vou utilizar a distribuição mais recente do Debian 10 como o tutorial LAMP, e claro que antes de mais nada você precisa ter seu DNS configurado com seus subdomínios (hosts) apontando para o IP do seu servidor WEB. logo nossos requezitos são: – Instalação Debian 10 Buster LIMPA Passo-a-passo – Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster – Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster &#8… […]

  11. 7 de setembro de 2020

    […] […]

Deixe uma resposta

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