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