Migrando do OpenWebMail+SendMail para Zimbra
Tive este ótimo desafio de migrar do OpenWebMail para o Zimbra. Sempre estive de olho no que o Zimbra poderia oferecer para usuários finais sem falar para o administrador . OpenWebMail também pode ser bem potente porem precisa de um administrador mais encima do servidor controlando.
1 - Problemas com: OpenWebMail+SendMail+Outros
O grande problema que estava tendo com o antigo servidor era basicamente as caixas dos usuários serem maiores que 1GB então para o OpenWebMail abrir estas caixas era um custo de CPU muito grande alem da antiga maquina ser uma maquina virtual que não ajudava muito com operação I.O.(Acho que seja um problema bem comum de sistemas que usam mbox). Com o SendMail não tenho reclamação fazia seu trabalho com rapidez .
Outro problema que estava tendo era com SPAM, não tinha forma simples de fazer um treinamento com as mensagens que eram ou não eram SPAM e com o Zimbra somente com um único click os próprios usuários podem realizar este treinamento do que é Spam e não é. O servidor antigo tinha ate o SpamAssassin instalado porem para fazer algo parecido como o Zimbra no treinamento de Spam tinha que tentar fazer uma padronização de pastas com usuarios e fazer eles moverem as mensagens para as pastas e fazer um crontab para rodar sempre o SpamAssassin nestas pastas de todos usuários para ele aprender o que seria SPAM ou não.
Outra coisa que me incomodava era que o antigo servidor não tem suporte a IMAP e usava um servido POP que somente buscava os mbox de um lugar.
2 - Desafio: Migrando caixas de e-mail
Não tem segredo. O Zimbra tem uma ótima documentação de qual ferramenta usar para a migração de emails: http://wiki.zimbra.com/index.php?title=User_Migration
As caixas de email do antigo servidor eram organizadas das seguintes formas:
- /mail/usuario
- /home/horizontes/usuario/mail
Com isso teria que fazer uma escolha de um servidor de IMAP que tivesse suporte a multiplas caixas. Outro problema que tive era o pouco tempo para fazer migração de 80 GB de email e não podia parar um servidor para fazer a migração, tinha que fazer a migração em HOT e com isso vem o grande problema, como fazer o controle de senhas ? Quero dizer que não podia mudar a senha do servidor original para poder fazer a autenticação no IMAP pois assim o usuário não ia conseguir olhar seus emails. Acabei descobrindo que o dovecot tem uma solução simples e rápido para isso.
2.1 - dovecot
O dovecot tem opção de usar o "modulo" passwd-file que tem a possibilidade de você informar, em um arquivo de texto simples, usuário e senha:
user2:{plain}password2
E automaticamente ele busca informações do /etc/passwd do diretorio Home do usuario, precisava disso pois configurei o dovecot para ler os mbox da seguinte forma:
Para configuração do devecot olhar o link acima que é muito bem documentado.
Resolvi colocar como senha para os usuários os 3 primeiro dígitos do CPF e os 3 últimos dígitos, com isso resolvi o problema de usuário e senha durante a migração. Agora é buscar a ferramenta para migração dos e-mails.
2.2 - imapsync e criação de usuário.
Agora com os problemas da senha resolvido bastava fazer um script simples para fazer a migração e criação dos usuário no zimbra, o script abaixo foi executado na maquina que o zimbra foi instalado.
while read LINHA
do
email=`echo $LINHA |cut -d: -f1`
nome=`echo $LINHA |cut -d: -f2`
senha=`echo $LINHA |cut -d: -f3`
echo "/opt/zimbra/bin/zmprov ca $email $senha displayName $nome zimbraCOSid 1c6d4f62-e622-4370-8082-fab43b41e4b5"
/opt/zimbra/bin/zmprov ca $email $senha displayName "$nome" zimbraCOSid 1c6d4f62-e622-4370-8082-fab43b41e4b5
echo "/opt/zimbra/bin/zmprov listaGeralEmail@empresa.com $email"
/opt/zimbra/bin/zmprov adlm listaGeralEmail@empresa.com $email
nomeantigo=`echo $email |cut -d "@" -f1`
imapsync --buffersize 8192000 --nosyncacls --subscribe --noauthmd5 --syncinternaldates --host1 192.168.20.87 --user1 $nomeantigo.nh --password1 $senha --host2 localhost --user2 $email --password2 $senha
done < listausuarios
O parametro zimbraCOSid é ID da sua "Class of Service" e para obter este numero basta entrar na área administrativa e clicar na sua COS padrão para os usuários.
No arquivo "listausuarios" ele esta no seguinte formato:
Lembrando que o password são os 3 primeiro dígitos do CPF e os 3 últimos dígitos. Antes de executar o script é importante você entrar na área administrativa do Zimbra ir em "Global Settings>IMAP" e selecionar "Enable clear text login" senão vai dar erro durante a migração. Basta executar os scripts que ele vai criar o usuário e migrar as contas de e-mail.
Dica: noip2 port
Comecei a usar o shorewall em servidores proxy e comecei a ter o seguinte problema com o noip2:
A solução é que o noip2 usar a port 8245 para fazer comunicação com o servidor dele, então o jeito foi liberar esta port no shorewall
Migrando do OpenSuse para Debian
Tive que realizar uma pequena migração de OpenSuse para Debian, coisa fácil quando usado o rsync porem os usuario que foram migrados não queriam autenticar no Debian, fui pesquisar o motivo e descobrir que o OpenSuse usa o algoritmo Blowfish para fazer criptografia de senha e o Debian esta no MD5 por padrão. Como a migração do servidores era do Samba não podia simplesmente ignorar os grupos e usuários tive que utilizar o diff e pach para realizar esta migração. Vamos ao passo a passo do trabalho realizado.
1 - Vamos configurar o Debian para utilizar o Blowfish para autenticação no PAM
- apt-get install libpam-unix2
- Substituir "pam_unix.so" por "pam_unix2.so" nos seguintes arquivos:
- /etc/pam.d/common-auth
- /etc/pam.d/common-account
- /etc/pam.d/common-session
- /etc/pam.d/common-password
- Substituir "md5" por blowfish no arquivo:
- /etc/pam.d/common-password
Para a senha de root funcionar você tem que mudar a senha para funcionar perfeitamente com o novo algoritimo de cryp. Porem estava tendo mais um problema, como juntar os arquivos passwd e groups sem dar conflito de ID dos serviços principais do Debian, o jeito foi usar o path como foi falando acima. Fiz o seguinte codigo abaixo para fazer todo processo do path pois minha intenção e somente ativar o servidor de Backup quando o primario falhar, sim esta ativação tem que ser manual.
echo "Iniciando Samba de backup"
echo "Fazendo bkp dos arquivos importantes /etc/original202/"
mkdir -p /etc/original202/
cp /etc/passwd /etc/original202/
cp /etc/shadow /etc/original202/
cp /etc/group /etc/original202/
echo "Juntando arquivo de passwd para manter usuarios"
cd /tmp
cp /etc/passwd passwd.old
cp /etc/bkp/passwd passwd.new
diff -c passwd.old passwd.new > passwd.patch
patch < passwd.patch
cp passwd.old /etc/passwd
cp /etc/shadow shadow.old
cp /etc/bkp/shadow shadow.new
diff -c shadow.old shadow.new > shadow.patch
patch < shadow.patch
cp shadow.old /etc/shadow
cp /etc/group group.old
cp /etc/bkp/group group.new
diff -c group.old group.new > group.patch
patch < group.patch
cp group.old /etc/group
Quantos % de software non-free você tem em sua maquina ?
Sei que é uma pergunta que não vai mudar a vida de ninguém e que sinceramente não vai fazer diferença alguma ao usuário final, porem tem pessoas que gosta de saber destas coisas. Bom o jeito facil de responder esta pergunta é usando o programa chamado "vrms" no Ubuntu. Rodando o comando ele vai gerar o resultado abaixo:
Non-free packages installed on fnh-rurilinux
fglrx-modaliases Identifiers supported by the ATI graphics driver
linux-generic Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.28 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
nvidia-173-modaliases Modaliases for the NVIDIA binary X.Org driver
nvidia-180-modaliases Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases Modaliases for the NVIDIA binary X.Org driver
opera The Opera Web Browser
tangerine-icon-theme Tangerine Icon theme
unrar Unarchiver for .rar files (non-free version)
Reason: Modifications problematic
Contrib packages installed on fnh-rurilinux
flashplugin-installer Adobe Flash Player plugin installer
flashplugin-nonfree Adobe Flash Player plugin installer (transitional pack
gstreamer0.10-pitfdll GStreamer plugin for using MS Windows binary codecs
nvidia-common Find obsolete NVIDIA drivers
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts
11 non-free packages, 0.8% of 1440 installed packages.
5 contrib packages, 0.3% of 1440 installed packages.
No total tenho 1% de pacotes "não livres" em minha maquina, porem sem alguns deles conserteza a utilização do Hardware ou da propria internet não teria tanta graça.
Vencido pelo Mono
Antes de mais nada, para quem não sabe o que é Mono: Mono é um projecto liderado pela Novell (anteriormente pela Ximian) para criar um conjunto de ferramentas compatível com a plataforma .NET, conforme às normas Ecma, incluindo, entre outras, um compilador C# e um CLR. O Mono pode ser executado nos sistemas operativos Linux, BSD, UNIX, Mac OS X, Solaris e Windows.
Lembro de quando o Mono foi lançado e começou a sair muitos aplicativos, lembro que tinha pavor de qualquer programa que fosse feito em Mono, época que era Xiita, porem no fundo eu tinha razão de torcer o nariz, vamos a lista dos problemas:
- Primeiras versões do Banshee travava mesmo escutando musica, sem explicação;
- Primeiras versões do F-Spot travava sem explicação;
- Grande maioria dos programas em Mono antigamente comia muita memoria da maquina;
- OpenSuse fez a cagada favor de utilizar Mono no seu gerenciador de pacotes;
Depois disso resolvi nunca mais usar nenhum aplicativo feito em Mono. Mas hoje fui olhar minha lista de processos e vi que estava voltando usar aplicativo feito em Mono com uma qualidade muito boa tais como:
E com isso resolvi tentar novamente o Banshee 1.5 (Beta), muito bem feito o programa, coloquei minha pasta de musica e ele automaticamente começou a buscar as capas que estavam faltando para minha coleção de MP3 e fez integração automática com o Last.Fm. A parte de sync com meu Ipod é muito bem feita e com uma interface bastante legal, faltando somente funcionar os sync de PodCast correctamente. BUG #140489.
Voltei a usar o F-Spot para gerenciamento das minhas fotos e posso dizer que ele é simples porem me atende super bem.
Com isso posso dizer que fui vencido pelo Mono que durante bons 5 anos foi criando maturidade e aparecendo software com qualidades.
O que me deixa triste é isso (Processos EXE no Linux):
3377 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
3380 ? S 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
3400 ? Ss 0:00 /usr/bin/seahorse-agent --execute x-session-manager
3498 ? Sl 6:26 /usr/bin/cli /usr/lib/gnome-do/Do.exe
3526 ? S 0:00 /usr/lib/gvfs/gvfsd-trash --spawner :1.5 /org/gtk/gvfs/exec_spaw/0
3550 ? S 0:00 /usr/lib/gvfs/gvfsd-burn --spawner :1.5 /org/gtk/gvfs/exec_spaw/1
4642 ? Sl 40:02 banshee-1 /usr/lib/banshee-1/Banshee.exe --redirect-log --play-enqueued
7918 ? S 0:00 /usr/lib/gvfs/gvfsd-http --spawner :1.5 /org/gtk/gvfs/exec_spaw/2
23996 ? Sl 0:05 tangerine /usr/lib/tangerine/tangerine-daemon.exe
24473 pts/0 R+ 0:00 grep exe
Interessante pare fechar o Post estava buscando Link interessante sobre o Mono e achei uma pagina falando que The Sims 3 usa Mono, será que vamos ter uma versão para Linux deste Jogo. Interessante. Fonte