«

»

mar 02

Imprimir Post

Instalando o PhpMyAdmin com o Banco de Dados em outra máquina

Prezados colegas,

Primeiramente saudações pinguianas a todos!

Há três dias atrás, um estimado colega de profissão solicitou minha ajuda para executar uma tarefa curiosa. Ele precisava instalar o PhpMyAdmin em um servidor que não tinha o MySQL Server instalado (e nem podia instalar) para gerenciar um outro servidor de banco de dados com MySQL.

Achei no mínimo estranho, pois afinal de contas, qual seria esse propósito? Então ele me falou que na empresa em que trabalha a regra é assim: Eles tem um servidor físico dedicado (um tanto quanto “parrudo”) APENAS para o MySQL Server. Nada poderia ser instalado nele (apache, php, etc) e tudo que precisasse de banco de dados com MySQL, o banco deveria estar rodando nessa máquina.

Então, com uma olhada na rápida na documentação do PhpMyAdmin, resolvi ajudá-lo e colocar a mão na massa.

O cenário era esse:

Servidor de Banco de Dados MySQL – CentOS 7 – IP 172.16.255.197
Servidor que vai rodar o PhpMyAdmin – Debian 8 – IP 172.16.255.195

Comecei então a preparar o Debian para aplicação PhpMyAdmin, instalando e configurando suas dependências: Apache e PHP. Instalei com o gerenciador de pacotes mesmo, usando o comando abaixo:

# apt-get install -y apache2 php5 php5-mysql zip unzip

Depois, foi necessário adicionar a extensão mysqli ao PHP. Fiz isso editando o arquivo “/etc/php5/apache2/php.ini”, conforme mostrado abaixo:

# vim /etc/php5/apache2/php.ini

Inseri a linha abaixo na seção “Dynamic Extensions”, dentro desse arquivo (por critério de organização), mas você pode inserir em qualquer lugar abaixo da primeira linha ([PHP]).

extension=mysqli.so

Depois disso, salvei e reiniciei o apache com o comando abaixo:

# /etc/init.d/apache2 restart

Logo após isso, acessei o site do PhpMyAdmin (https://www.phpmyadmin.net/) em busca do link para o download e baixei o arquivo no próprio servidor com o comando abaixo:

# wget -c https://files.phpmyadmin.net/phpMyAdmin/4.6.6/phpMyAdmin-4.6.6-all-languages.zip -O /tmp/phpmyadmin.zip

Depois, descompactei o arquivo com o comando abaixo:

# unzip /tmp/phpmyadmin.zip -d /tmp/

O próximo passo foi excluir o arquivo de index que vem por padrão no apache2:

# rm -rf /var/www/html/index.html

Depois eu movi os arquivos descompactados do PhpMyAdmin para dentro do diretório do apache:

# mv -f /tmp/phpMyAdmin*/* /var/www/html/

Depois eu precisei preparar o arquivo de configuração básico, com base em um modelo que veio no pacote:

# mv /var/www/html/config.sample.inc.php /var/www/html/config.inc.php

Então eu fiz os ajustes necessários no arquivo de configuração! Editei o arquivo “/var/www/html/config.inc.php” com o comando abaixo:

# vim /var/www/html/config.inc.php

Agora, atenção para os ajustes que fiz, ok?

Preenchi as aspas simples da linha abaixo com caracteres aleatórios. Eu resolvi preencher com “12345678910abcdefghijlmnopqrstuvxz.

$cfg[‘blowfish_secret’] = ‘12345678910abcdefghijlmnopqrstuvxz‘;

Na linha abaixo, substituí o “localhost” pelo endereço de Ip do servidor de banco de dados:

$cfg[‘Servers’][$i][‘host’] = ‘172.16.255.197‘;

Depois eu descomentei (removi o // da frente) o bloco abaixo e deixei assim:

/* User used to manipulate with storage */
$cfg[‘Servers’][$i][‘controlhost’] = ‘172.16.255.197‘;
$cfg[‘Servers’][$i][‘controlport’] = ‘3306‘;
$cfg[‘Servers’][$i][‘controluser’] = ‘phpmyadmin‘;
$cfg[‘Servers’][$i][‘controlpass’] = ‘p4pMy@d1m1n‘;

Explicando as linhas:

  • $cfg[‘Servers’][$i][‘controlhost’] – Ip do Servidor MySQL
  • $cfg[‘Servers’][$i][‘controlport’] – Porta do serviço MySQL
  • $cfg[‘Servers’][$i][‘controluser’] – Usuário que tem a gerencia do banco phpmyadmin
  • $cfg[‘Servers’][$i][‘controlpass’] – Senha do usuário

Depois, eu descomentei o bloco abaixo:

/* Storage database and tables */
$cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;
$cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;
$cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
$cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;
$cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;
$cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;
$cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;
$cfg[‘Servers’][$i][‘history’] = ‘pma__history’;
$cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;
$cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;
$cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;
$cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;
$cfg[‘Servers’][$i][‘favorite’] = ‘pma__favorite’;
$cfg[‘Servers’][$i][‘users’] = ‘pma__users’;
$cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’;
$cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’;
$cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’;
$cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’;
$cfg[‘Servers’][$i][‘designer_settings’] = ‘pma__designer_settings’;
$cfg[‘Servers’][$i][‘export_templates’] = ‘pma__export_templates’;

Então eu salvei e saí do modo de edição do arquivo.

Após isso, ajustei as permissões dos arquivos com o comando abaixo:

# chown -R www-data:www-data /var/www/html/*

Depois copiei o arquivo sql com o esquema de tabelas para o servidor MySQL:

# scp /var/www/html/sql/create_tables.sql 172.16.255.197:/tmp/

Esse foi o ultimo passo que precisei fazer no servidor que vai rodar o PhpMyAdmin. Depois disso, fiz as configurações necessárias no servidor de banco de dados.

O primeiro passo foi conectar nele:

# ssh -p 22 -l root -v 172.16.255.197

Depois, acessei o MySQL Server logando como administrador:

# mysql -u'root' -p'S3nh@D3R00t@aqui'

Logo após, criei o banco de dados para o PhpMyAdmin com o seguinte comando:

mysql> CREATE DATABASE phpmyadmin;

Depois, criei o usuário para gerenciar o banco, setando a respectiva senha:

mysql> CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'p4pMy@d1m1n';

Depois defini a permissão desse usuário para acessar apenas o banco “phpmyadmin”:

mysql> GRANT ALL PRIVILEGES ON phpmyadmin . * TO 'phpmyadmin'@'%';

Por ultimo, rodei o comando de atualização para aplicar os privilégios:

mysql> FLUSH PRIVILEGES;

Depois, saí do MySQL com o comando abaixo:

mysql> quit;

Por ultimo, importei o arquivo sql com o esquema de tabelas para o servidor já usando as credencias criadas:

# mysql -u'phpmyadmin' -p'p4pMy@d1m1n' phpmyadmin < /tmp/create_tables.sql

Depois disso foi só acessar e ser feliz:

http://172.16.255.195/

Espero ter ajudado!

Esse artigo foi útil? Colabore com o nosso projeto para podermos continuar escrevendo mais artigos como esse!

Projeto Aprendendo Linux

Comentários do Facebook

Comentários

Link permanente para este artigo: https://www.aprendendolinux.com/instalando-o-phpmyadmin-com-o-banco-de-dados-em-outra-maquina/

Deixe uma resposta