A instalação do phpMyadmin descrita neste post foi testada numa máquina com Debian 10 (buster).
1. Instalar pacotes recomendados
# apt update
# apt-get install php7.3-cgi php7.3-gd php7.3-zip php7.3-mbstring libapache2-mod-php7.3 php7.3-common php-pear mariadb-server php7.3-mysql
2. Baixar o phpMyadmin
Os releases do phpMyAdmin estão disponíveis para download em sua página oficial. Baixar a versão mais recente, que no momento deste post foi realizado através da seguinte maneira:
$ wget https://files.phpmyadmin.net/phpMyAdmin/5.1.3/phpMyAdmin-5.1.3-all-languages.tar.gz
3. Extrair o arquivo baixado
$ tar xvf phpMyAdmin-5.1.3-all-languages.tar.gz
4. Mover o resultado para a pasta /usr/share/phpmyadmin
O camando abaixo moverá todos os arquivos e subdiretórios para o destino:
# mv phpMyAdmin-*/ /usr/share/phpmyadmin
5. Criar a pasta para arquivos temporários do phpMyAdmin
# mkdir -p /var/lib/phpmyadmin/tmp
# chown -R www-data:www-data /var/lib/phpmyadmin
6. Criar a pasta os arquivos de configuração do phpMyAdmin
# mkdir /etc/phpmyadmin/
7. Criar o arquivo de configuração phpMyAdmin
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
8. Editar o arquivo de configuração /usr/share/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
$cfg['Servers'][$i]['pmadb'] = 'bdmyadmin';
observações:
- o valor para pmadb a ser escolhido deve corresponder ao nome da base de dados que vamos criar mais adiante neste script.
- a sequência de 32 caracteres não é uma senha que precise ser lembrada, a qual será apenas utilizada internamente pelo algoritmo AES.
- caso a sequência inserida contiver menos de 32 caracteres, ocasionará cookies criptografados menos seguros. Mais de 32 caracteres não causará nenhum dano.
9. Configurar Apache web Server
Criar o seguinte arquivo em /etc/apache2/conf-available/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>
Deve ter sido criado o seguinte link simbólico em /etc/apache2/conf-enabled
:
phpmyadmin.conf -> ../conf-available/phpmyadmin.conf
Em seguida, usar os seguintes comandos:
# a2enconf phpmyadmin.conf
# systemctl reload apache2
10. Visitar a interface web phpMyAdmin
Com o navegador, acessar a interface web do phpMyAdmin em http://localhost/phpmyadmin
A seguinte página deve ser obtida:
11. Criar usuário no banco de dados MySQL
# mysql -u root
MariaDB [(none)]> SELECT user,password FROM mysql.user;
MariaDB [(none)]> CREATE USER usuario_myadmin@localhost IDENTIFIED BY 'senha_usuario';
MariaDB [(none)]> CREATE DATABASE bdmyadmin CHARACTER SET utf8mb4 COLLATE utf8mb4_swedish_ci;
MariaDB [(none)]> GRANT ALL PRIVILEGES on bdmyadmin.* to 'usuario_myadmin'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;
Observações:
- o nome da base (aqui escolhido como bdmyadmin) e o nome do usuário (aqui escolhido como usuario_myadmin) são meros exemplos. Mas deve corresponder ao que fora definido antes na configuração do arquivo
/usr/share/phpmyadmin/config.inc.php
. - Ao fazer a autenticação no aplicativo, o acesso a base de dados bdmyadmin já estará disponível. Se o usuário tiver acesso a outras bases de dados, estas também estarão disponíveis simultaneamente.
- Para fazer a autenticação no aplicativo, utilize as credenciais escolhidas:
- usuario: usuario_myadmin
- senha: senha_usuario
Neste caso, a página inicial após fazer autenticação estará da seguinte forma (cujas bases de dados de trabalho estarão sendo mostradas à esquerda):
Referências:
1- How To Install phpMyAdmin on Debian 11/Debian 10
2- Como instalar o phpMyAdmin no Debian 10