BEM VINDO AO BLOG DO MARCOS CARRARO CRIADOR DO "CARRARO DASHBOARD". MUITO MAIS QUE UM SIMPLES BLOG.

segunda-feira, 17 de outubro de 2011

Mysql + phpMyadmin gerenciando múltiplos domínios

Salve salve galera,

Após ficar uma semana, em cima do servidor, lendo, entendendo como funciona, o mysql, o phpmyadmin, entendendo os arquivos de configuração, e na internet não tem nada para ajudar, so algumas coisas na wiki, vou mostrar para vocês com o é fácil fácil!

vim /etc/hosts


172.16.1.252 servidor1.dominio servidor1
172.16.1.251 servidor2.dominio servidor1

======================================================
O mysql deve estar escutando na porta 3306 em qualquer ip então
======================================================

vim /etc/my.cnf
Adicione dentro de [mysqld] as seguintes linhas!

#bind-address=172.16.1.251
port=3306

======================================================
Agora é hora de criar os usuários para o mysql, lembre de ter instalado o mesmo yum install mysql-server -y
======================================================
// Importante são duas linhas

CREATE USER 'root'@'172.16.1.252' IDENTIFIED BY 'senhaservidor1';

GRANT ALL PRIVILEGES ON * . * TO 'root'@'172.16.1.252' IDENTIFIED BY 'senhaservidor1' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

=======================================================

CREATE USER 'root'@'172.16.1.251' IDENTIFIED BY 'senhaservidor2';

GRANT ALL PRIVILEGES ON * . * TO 'root'@'172.16.1.252' IDENTIFIED BY 'senhaservidor2' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

=======================================================
Depois de criado os usuários, pode até testar para verificar se esta conectando,

mysql -u root -h 172.16.1.251 -p

Phpmyadmin Agora é que vem o pulo do gato HEHEHHE.
Download do mesmo
========================================================
cd /var/www/

wget http://sourceforge.net/projects/phpmyadmin/files%2FphpMyAdmin%2F3.4.6%2FphpMyAdmin-3.4.6-all-languages.tar.gz

tar -xvsf phpMyAdmin-3.4.6-all-languages.tar.gz

mv phpMyAdmin-3.4.6-all-languages phpmyadmin

========================================================
No apache criar os alias, mais os virtuais

cd /etc/httpd/conf.d/

# servidor1.conf
listen 172.16.1.252:80
Alias /servidor1 /mnt/500/servidor1
<VirtualHost 172.16.1.252>
<Directory /mnt/500/servidor1/>
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>

#servidor2.conf
listen 172.16.1.251:80
Alias /servidor1 /mnt/500/servidor2
<VirtualHost 172.16.1.251>
<Directory /mnt/500/servidor2/>
Order Deny,Allow
Allow from All
</Directory>
</VirtualHost>

#phpmyadmin.conf
Alias /phpMyAdmin /var/www/phpmyadmin
Alias /phpmyadmin /var/www/phpmyadmin

<Directory /var/www/phpmyadmin/>
   Order Deny,Allow
   Deny from All
   Allow from All 
#127.0.0.1
   Allow from ::1
</Directory>

<Directory /var/www/phpmyadmin/setup/>
   Order Deny,Allow
   Deny from All
   Allow from All
#127.0.0.1
   Allow from ::1
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /var/www/phpmyadmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /var/www/phpmyadmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /var/www/phpmyadmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#<IfModule mod_security.c>
#    <Directory /usr/share/phpMyAdmin/>
#        SecRuleInheritance Off
#    </Directory>
#</IfModule>

================================================================
Reiniciar apache

/etc/init.d/httpd restart

================================================================

Agora devemos configurar o config.inc.php do phpmyadmin.


<?php
/* Servers configuration */
$i = 0;

//senha secreta
$cfg['blowfish_secret']='root';

/* Server [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'servidor1';
$cfg['Servers'][$i]['host'] = '172.16.1.251';
$cfg['Servers'][$i]['port'] = 3306;
$cfg['Servers'][$i]['socket'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = true;
$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* Server:  [2] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'servidor2';
$cfg['Servers'][$i]['host'] = '172.16.1.252';
$cfg['Servers'][$i]['port'] = 3306;
$cfg['Servers'][$i]['socket'] = '3306';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = true;
$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* End of servers configuration */

$cfg['DisplayServersList']    = TRUE;
$cfg['DefaultLang'] = 'pt_BR';
$cfg['ServerDefault'] = 0;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>

======================================================

Vualá, pode acessar pela web, que o phpmyadmin já esta gerenciando os outros servidores, pode reparar que ele vai cair numa tela, com algumas informações, perceba que ele mostrará dois links um para o servidor1 e outro para o servidor2, lá você vai ter que se logar com usuário root e a senha criada para cada dominio.

Espero que seja útil para mais alguém, pois para mim foi de grande ajuda, assim não precisei virtualizar quase nada.

Abraços a todos.
Marcos Carraro


Nenhum comentário:

Postar um comentário

Posts que a turma mais esta lendo...

Posts que a turma mais esta lendo...

Marcos Carraro