Replicar banco de login do Myauth 3

Publicado por Vinícius de Oliveira Almeida em 02/09/2010

[ Hits: 14.173 ]

 


Replicar banco de login do Myauth 3



Este texto relata um dos problemas que enfrentei quando fui trabalhar com o sistema Myauth 3, do Patrick Brandao. O software é muito bom para quem quer administrar provedor de acesso, porém existem suas limitações, e uma delas foi 2 ou mais autenticadores funcionarem com a mesma base de dados.

Primeiro baixe o fonte do phpMyAdmin no site:

# wget http://sourceforge.net/settings/mirror_choices?projectname=phpmyadmin&filename=phpMyAdmin/3.3.5.1/phpMyAdmin-3.3.5.1-all-languages.tar.gz

Descompacte o arquivo:

# tar -zxvf phpMyAdmin-3.3.5.1-all-languages.tar.gz

Mova a pasta descompactada para o diretório, renomeando para mysql:

# mv phpMyAdmin-3.3.5.1 /admin/htdocs/mysql

Entre na pasta mysql e verifique o arquivo config.inc.php.

Cheque se estes parâmetros estão de acordo:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Após feito entre no link:

http://IPMYAUTH:1881/mysql/

Entre com usuário e senha do root do localhost mysql.

Configurando PhpMyadmin

Entre na url do phpmyadmin:

http://ipmyauth:1881/mysql/

Após o login em modo root, vamos às configurações que irão permitir que o segundo servidor se conecte ao primeiro:

Abra a o menu "Privilégios" e clique em "Adicionar novo usuário".

Preencha os campos da seguinte forma:
  • Nome do usuário: auth2
  • Servidor: IP do myauth cliente
  • Senha: <Sua senha>

Privilégios globais: marque todas e clique em executar.
Linux: Replicar banco de login do Myauth 3
Logo após esta configuração, devemos liberar no servidor mysql conexões remotas.

Segue o parâmetro:

# vi /etc/rc.d/rc.mysqld

Retire a palavra SKIP:

- /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysq l.pid $SKIP&

Ficando assim:

/usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysql/mysq l.pid &

Salve e reinicie seu servidor mysql.

# /etc/rc.d/rc.mysqld restart

Configurando script para replicar tabela login

Setadas as permissões de conexão, entre no servidor configurado a ser replicado.

Crie e edite o arquivo com seguinte apelido:

# touch /usr/local/bin/replica_banco.sh
# edit /usr/local/bin/replica_banco.sh


Insira o seguinte conteúdo no arquivo:

echo Apagando tabelas
rm -rf /tmp/drop.sql
echo "use admin;" >> /tmp/drop.sql
echo "DROP TABLE login;" >> /tmp/drop.sql
echo "DROP TABLE clientes;" >> /tmp/drop.sql
echo "DROP TABLE groups;" >> /tmp/drop.sql
mysql --user=root --password=senhalocal < /tmp/drop.sql
sleep 2
echo Criando banco.sql
rm -rf /tmp/banco.sql
echo "use admin;" > /tmp/banco.sql ; mysqldump --host=IPDOSERVERPRINCIPAL --user=auth2 --password=senharemota --opt admin clientes login groups >> /tmp/banco.sql
echo Importando dados......
mysql --user=root --password=senhalocal < /tmp/banco.sql
echo Sucesso!!!

Salve o arquivo e crie permissão de execução:

# chmod 777 /usr/local/bin/replica_banco.sh

Agora iremos colocar a importação de forma automática utilizando o crontab do Linux:

# crontab -e

Coloque estes parâmetros no cron:

00 8 * * * /usr/local/bin/replica_banco.sh
00 10 * * * /usr/local/bin/replica_banco.sh
00 15 * * * /usr/local/bin/replica_banco.sh
00 19 * * * /usr/local/bin/replica_banco.sh
00 21 * * * /usr/local/bin/replica_banco.sh

Pronto, teste manualmente seu script ou aguarde a execução do crond...

Caso apareça alguma mensagem de erro na hora da execução do script, verifique as permissões do phpmyadmin remoto.

Abraços.

Dúvidas: valmeida@idea-planejamento.com

Outras dicas deste autor

Myauth 3 - Dois servidores utilizando o mesmo banco de dados

Reduzindo o tempo de carregamento de seu site

Sincronizando senhas de e-mail com Myauth 3

Dúvidas para compilar um kernel?

Instalando placa de rede Agere Systems ET131x PCI-E no Linux

Leitura recomendada

A diferença entre grep, egrep e fgrep

Utilizando chaves públicas no SSH e SCP

Plymouth: Temas para Gentoo/Funtoo

O comando "nice"

Iniciando o GNU/Linux sem medo (Funciona!)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts