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:
Espero ter ajudado!
Esse artigo foi útil? Colabore com o nosso site para podermos continuar dando mais dicas como essa!
Formas de doação:
- Boleto / Cartão de crédito: https//bit.ly/AprendendoLinux
- Pix: [email protected]
- PicPay: @henrique_fagundes
- PayPal: [email protected]
- Bitcoin: bc1qtnn5z058htzy799dslwrpjcdpm0vuta3vrj28l
Favorecido: Luiz Henrique Marques Fagundes