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 (20/01/2020)

Para phpMyAdmin 4 (20/01/2020)

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

26 Resultados

  1. Luciano Ribeiro disse:

    Tutorial 100% funcional, excelente!

    Parabéns Rudimar Remontti.

  2. Jemmes disse:

    Muito bom, obrigado!

  3. Edy Willian disse:

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

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

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

  6. Hoffman disse:

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

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

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

  9. Delvan disse:

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

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

  11. William Moreira disse:

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

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

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

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

Deixe uma resposta

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