Instalando phpMyAdmin no Servidor Ubuntu com Apache

O phpMyAdmin é uma aplicação utilizada para administrar bases de dados do MySQL e MariaDB na WEB, através de um navegador. A mesma é escrita em PHP e multiplataforma.

Nesta postagem, os procedimentos para instalação do phpMyadmin serão válidos para a instalação Linux, na distro Debian ou Ubuntu e distribuições derivadas destes.
Como pré requisitos, deverão antes estar instalados o Apache2, PHP e MySQL . Vide os links das postagens para verificar os procedimentos.

A solução melhor será instalar o phpMyAdmin manualmente direto do site oficial, e na versão mais recente. Com a opção via repositórios pode incorrer em conflitos devido a possibilidade de não haver sincronização das atualizações e versões entre os apt de PHP e o apt do phpMyadmin. 

Passos para Instalar o phpMyAdmin:

1 – Abra o terminal e prepare a instalação no servidor ou máquina local com os módulos do PHP abaixo, para poder usar o phpmyadmin e PHP com o WordPress.   

        $ sudo apt install  php-json php-curl php-gd php-mcrypt php-xml php-xmlrpc php-mbstring

2- Ativar o módulo mbstring:

        $ sudo phpenmod mbstring

3- Verificar as possíveis atualizações dos pacotes dos repositórios:

        $ sudo apt update

4- Montar a árvore de dependências e fazer o upgrade dos pacotes indicados acima:

        $ sudo apt upgrade

5- Ir no site oficial do phpMyadmin em https://www.phpmyadmin.net/downloads/  e verifica a versão estável mais recente, com a extensão tar.gz.

    No meu caso e na presente data vou baixar o arquivo:
       phpMyAdmin-5.1.3-all-languages.tar.xz   

6- Definir as variáveis abaixo na memória do sistema, para instalar a ultima versão do phpMyAdmin:

     ~$ DATA=”$(wget  https://www.phpmyadmin.net/home_page/version.txt -q -O-)” 
     ~$ URL=”$(echo $DATA | cut -d ‘ ‘ -f 3)”
     ~$ VERSION=”$(echo $DATA | cut -d ‘ ‘ -f 1)” 

7- Baixar o arquivo phpMyAdmin com a extensão tar.gz:

    ~$  wget  https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

fig033-baixando phpmyadmin

8- Desempacotar o arquivo baixado:

   ~$  tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

9- Deletar o arquivo baixado, onde ficará apenas a sua pasta desempacotada:

     $ rm phpMyAdmin-5.1.3-all-languages.tar.gz

10- Verificar arquivos do diretorio home, i.e.  ~$:

     ~$ ls -lh

11- Simplificar o nome da pasta contendo os arquivos desempacotados e mover a mesma para /usr/share/:

      $  sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin

12- Nessa pasta, duplique  o arquivo config.sample.inc.php e mude o seu nome para config.inc.php:

     $ sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

13- Edite esse arquivo duplicado:

      13.1- Criar na linha específica (num. 16) uma senha de 32 caracters “blowfish”:

              $ sudo nano /usr/share/phpmyadmin/config.inc.php
                $cfg[‘blowfish_secret’] = ‘PHMySQpl209abrazixsuropa19xxifu9’; 

      13.2 – Criar uma linha definindo a direção do diretório temp:
                $cfg[‘TempDir’] = ‘/var/lib/phpmyadmin/temp’;

           salvar ctrl o e sair ctrl x   

 

14- Criar o diretório phpmyadmin para os arquivos temporários. 
       Definir também permissões de propriedade:

          $ sudo mkdir -p /var/lib/phpmyadmin/tmp
         
sudo chown -R www-data:www-data /var/lib/phpmyadmin

15- Criar diretório para configuração do phpMyAdmin em /etc:

         $ sudo mkdir /etc/phpmyadmin/

16-Criar e configurar o arquivo de configuração do phpmyadmin em conf-enabled no Apache:

         $ sudo nano /etc/apache2/conf-enabled/phpmyadmin.conf

				
					Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    <IfModule mod_php5.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>
    <IfModule mod_php.c>
        <IfModule mod_mime.c>
            AddType application/x-httpd-php .php
        </IfModule>
        <FilesMatch ".+\.php$">
            SetHandler application/x-httpd-php
        </FilesMatch>

        php_value include_path .
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
        php_admin_value mbstring.func_overload 0
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authz_core.c>
        <IfModule mod_authn_file.c>
            AuthType Basic
            AuthName "phpMyAdmin Setup"
            AuthUserFile /etc/phpmyadmin/htpasswd.setup
        </IfModule>
        Require valid-user
    </IfModule>
</Directory>

# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
    Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
    Require all denied
</Directory>
				
			

17- Reiniciar o Apache2, para consolidar as configurações:

    $ sudo systemctl restart apache2

18- Iniciar o phpMyAdmin. Abra o navegador e digite o ip do servidor ou o nome do dominio.
   O login será feito de acordo com as configuraçoes que foram feitas na instalação do MySQL.

fig035-Tela menu phpmyadmin

19- Ao logar e entrar na tela deve-se criar um Banco de Dados phpMyAdmin, para que o mesmo possa autoadministrar as suas varáveis e parametros internos.

20- Ao instalar o Apache criei dois domínios, para poder criar páginas de sites para internet: Livraria.com e Padaria.com.
Instalei também um servidor Linux, nesse caso específico,  sendo após o modem, i.e,  interno com IP 192.168.1.201, para poder usar e administrar os arquivos e seus conteúdos fora de minha máquina, utilizando SSH.
Com esses procedimentos apliquei as diversas tecnologias para administrar o negócio, suas páginas de apresentação e o business na internet fazendo uso do Apache, PHP, MySQL, JavaScript, CSS, HTML e phpMyAdmin, entre outos, para gerir o empreendimento de forma racional e dinâmica.