Zimbra é o nosso tudo

Aconteceu aqui, de alguma forma, transferi esse milagre de uma máquina de ferro para uma virtual. A situação é francamente deprimente - o antigo Debian com versões do kernel 2 e a realocação do Zimbra 6.0.4 foram planejados para o CentOS 7 e o ZImbra 8.8.

Devo dizer imediatamente que, para concluir este evento, você deve amar completamente o BDSM, e não ser leve, mas hardcore com hits abaixo do cinturão. Caso contrário, nada funcionará para você e tudo ficará no meio do caminho.

Então, vamos colocá-lo em ordem.

Inicialmente, precisávamos implantar uma versão do Zimbra idêntica ao servidor antigo; no meu caso, era o Zimbra 6.0.4 para CentOS 5; infelizmente, era a versão mais avançada do sistema operacional para esse software na época.

Baixe aqui zimbra.

wget https://files2.zimbra.com/downloads/6.0.4_GA/zcs-6.0.4_GA_2038.RHEL5_64.20091214192925.tgz 

E descompacte:

 tar -xvf https://files2.zimbra.com/downloads/6.0.4_GA/zcs-6.0.4_GA_2038.RHEL5_64.20091214192925.tgz 

Antes de instalá-lo, configure o CentOS. Na versão 5, desative o Selinux, Postfix / Sendmail (qualquer um) e configure os nabos para o yum.

 vi /etc/sysconfig/selinux 

Aqui, definimos o valor:

 SELINUX=disabled 

Paramos e desligamos os serviços para que durante a instalação e atualização eles não interfiram conosco:

 service iptables stop chkconfig iptables off service sendmail stop chkconfig sendmail off service postfix stop chkconfig postfix off 

Montamos nabos para yum. Neste arquivo, você precisa # comentar as linhas que começam com espelho:

 vi /etc/yum.repos.d/CentOS-Base.repo 

E editar

 'baseurl=' 

Em vez de 5.11, definimos nossa versão.

 baseurl=http://vault.centos.org/5.11/os/$basearch/ 

Em seguida, atualize o CentOS

 yum update 

Depois de atualizar o sistema operacional, resta fazer apenas uma configuração, porque O zimbra tem muita inveja do DNS, essa é uma configuração muito importante e, sem ela, o processo de instalação simplesmente não funciona.

 vi /etc/hosts 

Nele registramos seu ip e o nome completo do servidor - IP FQNS NS.

Tudo está nessa ordem, caso contrário, novamente um erro. No meu caso, o servidor foi chamado srvmail (ou melhor, seu registro mx).

 192.168.0.2 srvmail.domail.local srvmail 

Em seguida, você pode prosseguir com a instalação, acessar o diretório com o zimbra descompactado previamente e executar:

 ./install.sh --platform-override 

Flag

 "--platform-override" 

informa ao instalador o que instalar em qualquer caso (reescreva a plataforma à força).

Outro sinalizador útil é "-s" indica ao instalador que queremos instalar apenas pacotes executáveis ​​e não configurar.

Em seguida, o instalador iniciará a instalação e, se tudo tiver sido feito corretamente, não haverá erros. No final da instalação, verificamos o status do serviço zimbra:

 zmcontrol status 

Se todos os serviços estiverem no status Em Running , tudo estará OK e siga em frente.

Pare o nosso zimbru:

 zmcontrol stop 

Após a instalação do zimbra, precisamos transferir o banco de dados, bem como o arquivo de configuração do servidor zimbra antigo para o novo.

Precisamos de pastas

 db data index 

localizado em

 /opt/zimbra 

bem como arquivo

 /opt/zimbra/conf/localconfig.xml 

Os dados da pasta no novo servidor podem ser excluídos ou fazer backup.

Como as pastas e arquivos durante a transferência podem alterar o host (permissões), precisamos corrigir o seguinte:

 chown -R zimbra.zimbra /opt/zimbra /opt/zimbra/libexec/zmfixperms 

Além disso, antes de executar um teste, é necessário verificar se há erros no banco de dados sql, você pode fazer isso usando o utilitário padrão

 mysqlcheck 

ou usando o utilitário Zimbro embutido

 zmdbintegrityreport 

Execute o mysql e execute o script:

 /opt/zimbra/bin/mysql.server start /opt/zimbra/libexec/zmdbintegrityreport /opt/zimbra/libexec/zmdbintegrityreport -r 

A primeira linha verifica erros e a segunda verifica e tenta imediatamente ser reparada.

Se nenhum erro ocorreu, bata palmas e veja abaixo, se houver erros:

 mysql.general_log Error : You can't use locks with log tables. mysql.slow_log Error : You can't use locks with log tables. 

Então você precisa fazer o seguinte:

 cd /opt/zimbra/db/data/mysql ls -al *log.frm mv *log.frm /tmp/ /opt/zimbra/libexec/zmdbintegrityreport 

Se o último for concluído sem erros, pare o mysql e siga em frente.

 /opt/zimbra/bin/mysql.server stop 

Agora precisamos alterar as senhas para a base ldap. Começamos o ldap:

 ldap start 

Na primeira versão com o sinalizador "r", alteramos a senha do usuário root e, na segunda linha, para o usuário zimbra, paramos o ldap novamente:

 zmldappasswd -r newrootpass zmldappasswd newpass ldap stop 

Se você gosta de BDSM e ocultismo, leia o próximo parágrafo com atenção. Caso contrário, fique à vontade para pular.

Para os fãs de BDSM
Agora, um pouco de otimização)) Eu entendo que você já está bastante cansado e essa estupidez é um pouco chata, mas deixe-me explicar uma coisa para você. Quando transferimos as bases (ldap e sql), também transferimos seus acessos (usuários e senhas). Quando definimos um novo zimbru, ele gerou automaticamente senhas para as bases e elas são armazenadas no arquivo /opt/zimbra/conf/localconfig.xml. E se tentássemos apenas transferir as bases e iniciar imediatamente os serviços do Zimbra, eles nos enviariam nafig e não iniciariam, porque as senhas não correspondiam. Em princípio, você pode seguir o outro caminho sem copiar o arquivo de configurações, mas é necessário comparar as configurações com o servidor antigo para alterá-las no novo. Existe um comando zmlocalconfig especial para isso.

Observamos as configurações, por exemplo, ldap:

 zmlocalconfig -s | grep ldap 

Nós os usamos no novo servidor:

 zmlocalconfig -e < >=< > 

O mais importante é alterar as senhas para todos os ldap e mysql.

Com o mysql, tudo é muito mais complicado, você precisa iniciar o serviço com a tabela de privilégios redefinida e depois aplicar a senha igual às configurações antigas do zimbra:

 vi /opt/zimbra/bin/mysql.server 

encontre a linha lá

 (--ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 &) 

E mude para

 (--ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 --skip-grant-tables &) 

Verifique se o mysql está rodando, se sim, nós o apagamos

 /opt/zimbra/bin/mysql.server stop 

Em seguida, execute a maçã do rosto em um novo

 mysql.server start 

Em seguida, vá para o mysql sem uma senha (mysql) e defina senhas iguais ao zimbra antigo (!!! você precisa executar no zimbra antigo !!!!!!!!!!)

 zmlocalconfig -s | grep mysql_root_password zmlocalconfig -s | grep zimbra_mysql_password 

 mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; ----> Root user. mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='zimbra'; ----> Zimbra user 


Nós escrevemos as mudanças e saímos

 FLUSH PRIVILEGES; exit; 

Em seguida, reinicie a maçã do rosto parando e iniciando

 mysql.server stop  mysql.server start 

Verifique a manutenção

 mysql zimbra 

se ficar sem erros, então se regozije.

pare o mysql

 /opt/zimbra/bin/mysql.server stop 


Em seguida, novamente zimbra, mysql, ldap que os serviços zimbra, mysql, ldap não estejam em execução:

 ps -aux |grep slapd ps -aux |grep sql zmcontrol status 

Se algo estiver subitamente em execução, você precisará matar ou parar.

Bem, chegou o momento de seu primeiro lançamento de um novo servidor. Dobramos os dedos com uma cruz e não o soltamos até que esteja totalmente lançado, se você precisar usar um pandeiro à mão:

 zmcontrol start 

Existem 2 opções para o desenvolvimento de eventos:

Na inicialização, o figdit quebra e dobra o LDAP
Verifique a senha do zimbra e root novamente. Ou, no lançamento, o ldap já estava em execução e você simplesmente perdeu o gado desatento .

Ao iniciar o figachit breaks e o mysql dobras, veja o ponto 1
Bem, a opção quando mailboxd não inicia

Então, você precisa gerar um novo certificado:

Antes disso, você precisa excluir o keystore antigo, caso contrário FAIL espera por você:

 rm -rf /opt/zimbra/mailboxd/etc/keystone cd /opt/zimbra/bin ./zmcertmgr createca -new ./zmcertmgr createcrt -new -days 1825 ./zmcertmgr deploycrt self ./zmcertmgr deployca 

Pare e execute o zimbra de uma nova maneira:

 zmcontrol stop zmcontrol start 

Se você viu SUKES, salte e aproveite (todos os serviços devem estar no status Running).

Você pode tentar colidir com a WEB, se não carregar, não se desespere.Isso é normal.

Esses problemas são eliminados por uma atualização para a mesma versão !!!
Cuidado Os serviços do Zimbra devem ser iniciados durante a atualização; caso contrário, FAIL!


Vamos para a pasta com o zimbra baixado e entramos:

 ./install.sh --platform-override 

O Zimbra perguntará algumas vezes se queremos uma atualização, dizemos que sim e continuamos. A propósito, ele selecionará as configurações do sistema no localconfig.xml que movemos. Pense nisso como um pequeno truque :-)

Após a instalação, verifique o status da mala direta:

 zmcontrol status 

Se tudo estiver correto, você poderá acessar a WEB e fazer login como qualquer usuário do servidor antigo. As senhas serão as mesmas.

Além disso, como no polegar, baixe a versão mais recente 7.x.x.x, descompacte-a e novamente:

 ./install.sh --platform-override 

Nesta fase, estamos prontos para classificar nosso sistema operacional na próxima etapa.

Mas primeiro você precisa verificar nosso banco de dados quanto a corrupção:

 /opt/zimbra/libexec/zmdbintegrityreport 

Se não houver erros, vá em frente, se erros do mboxgroup

  mboxgroup1.appointment error : Table upgrade required. Please do "REPAIR TABLE `appointment`" or dump/reload to fix it! mboxgroup1.data_source_item error : Table upgrade required. Please do "REPAIR TABLE `data_source_item`" or dump/reload to fix it! mboxgroup1.imap_folder error : Table upgrade required. Please do "REPAIR TABLE `imap_folder`" or dump/reload to fix it! mboxgroup1.mail_item error : Table upgrade required. Please do "REPAIR TABLE `mail_item`" or dump/reload to fix it! mboxgroup1.pop3_message ........ error : Table upgrade required. Please do "REPAIR TABLE `volume`" or dump/reload to fix it! 

então você precisa atualizar a versão do banco de dados:

 /opt/zimbra/libexec/scripts/migrate20100913-Mysql51.pl 

Neste momento emocionante, pegue um pandeiro na sua mão direita e reze ...

Após a atualização, verificamos os bancos de dados novamente e os corrigimos, se necessário:

 /opt/zimbra/libexec/zmdbintegrityreport /opt/zimbra/libexec/zmdbintegrityreport -r 

Se, novamente, o erro de bloqueio geral e lento, veja acima como corrigi-lo.

Bem, a última coisa a fazer antes de atualizar o sistema operacional é:

carregar variáveis ​​zimbra:

 source /opt/zimbra/bin/zmshutil zmsetvars 

backup MYSQL:

 /opt/zimbra/mysql/bin/mysqldump --user=root --password=$mysql_root_password --socket=$mysql_socket --all-databases --single-transaction --master-data --flush-logs > {name dump}.sql 

Se o erro retornar, a opção abaixo:

 /opt/zimbra/mysql/bin/mysqldump --user=root --password=$mysql_root_password --socket=$mysql_socket --all-databases --single-transaction --flush-logs > {name dump}.sql 

ldap de backup:

 /opt/zimbra/libexec/zmslapcat /opt/zimbra/libexec/zmslapcat -c /opt/zimbra/libexec/zmslapcat -a 

Em seguida, transferimos novamente as pastas db, data, index, localconfig.xml e também os backups
 sql  ldap</code>   ,            ,     scsi 

? / , CentOS6.

, .. , :

6 Centos zimbra 7..., , 8.0.8 8.0.0!!!

8.0.8 CentOS7 ----> 8.5.1 ----> 8.6.0 :

zmprov ms <zimbraserverhostname> zimbraReverseProxyMailEnabled TRUE zimbraReverseProxyHttpEnabled TRUE
--->8.7.9 ------> 8.8.9.

.
sql ldap</code> , , scsi

? / , CentOS6.

, .. , :

6 Centos zimbra 7..., , 8.0.8 8.0.0!!!

8.0.8 CentOS7 ----> 8.5.1 ----> 8.6.0 :

zmprov ms <zimbraserverhostname> zimbraReverseProxyMailEnabled TRUE zimbraReverseProxyHttpEnabled TRUE

--->8.7.9 ------> 8.8.9.

.

Source: https://habr.com/ru/post/pt474164/


All Articles