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 BDSMAgora, 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.
.