Sucedió aquí de alguna manera transfiero este milagro de una máquina de hierro a una virtual. La situación es francamente deprimente: el antiguo Debian con versiones del kernel 2 y Zimbra 6.0.4 Relocation se planeó para CentOS 7 y ZImbra 8.8.
Debo decir de inmediato que para completar este evento, debes amar completamente el BDSM, y no la luz, sino el hardcore con éxitos debajo del cinturón. De lo contrario, nada funcionará para usted y todo se interpondrá en el medio del camino.
Así que vamos a ponerlo en orden.
Inicialmente, necesitábamos implementar una versión de Zimbra idéntica al servidor anterior, en mi caso era Zimbra 6.0.4 para CentOS 5, desafortunadamente era la versión más avanzada del sistema operativo para este software en ese momento.
Descargar desde aquí zimbra.
wget https://files2.zimbra.com/downloads/6.0.4_GA/zcs-6.0.4_GA_2038.RHEL5_64.20091214192925.tgz 
Y desempaquetar:
 tar -xvf https://files2.zimbra.com/downloads/6.0.4_GA/zcs-6.0.4_GA_2038.RHEL5_64.20091214192925.tgz 
Antes de instalarlo, configure CentOS. En la versión 5, desactive Selinux, Postfix / Sendmail (cualquiera) y configure los nabos para yum.
 vi /etc/sysconfig/selinux 
Allí establecemos el valor:
 SELINUX=disabled 
Paramos y apagamos los servicios para que durante la instalación y actualización no interfieran con nosotros:
 service iptables stop chkconfig iptables off service sendmail stop chkconfig sendmail off service postfix stop chkconfig postfix off 
Preparamos nabos para ñam. En este archivo necesita # comentar las líneas que comienzan con espejo:
 vi /etc/yum.repos.d/CentOS-Base.repo 
Y editar
 'baseurl=' 
En lugar de 5.11, configuramos nuestra versión.
 baseurl=http://vault.centos.org/5.11/os/$basearch/ 
A continuación, actualice CentOS
 yum update 
Después de actualizar el sistema operativo, queda solo hacer una configuración, porque zimbra está muy celoso de DNS, esta es una configuración muy importante y sin ella el proceso de instalación simplemente no funcionará.
 vi /etc/hosts 
En él registramos su ip y el nombre completo del servidor - IP FQNS NS.
Todo está en ese orden, de lo contrario nuevamente es un error. En mi caso, el servidor se llamaba srvmail (o más bien, su registro mx).
 192.168.0.2 srvmail.domail.local srvmail 
A continuación, puede continuar con la instalación, ir al directorio con el zimbra desempaquetado de antemano y ejecutar:
 ./install.sh --platform-override 
Bandera
 "--platform-override" 
le dice al instalador qué instalar en cualquier caso (reescriba la plataforma a la fuerza).
Otro indicador útil es 
"-s" este indicador le dice al instalador que queremos instalar solo paquetes ejecutables y no configurar.
A continuación, el instalador comenzará la instalación y, si todo se realizó correctamente, no habrá errores. Al final de la instalación, verificamos el estado del servicio zimbra:
 zmcontrol status 
Si todos los servicios están en el estado En 
Running , entonces todo está bien, luego continúe.
Detener nuestro zimbru:
 zmcontrol stop 
Después de instalar el zimbra, necesitamos transferir la base de datos, así como el archivo de configuración del antiguo servidor de zimbra al nuevo.
Necesitamos carpetas
 db data index 
ubicado en
 /opt/zimbra 
así como archivo
 /opt/zimbra/conf/localconfig.xml 
Los datos de la carpeta en el nuevo servidor se pueden eliminar o hacer una copia de seguridad.
Dado que las carpetas y los archivos durante la transferencia podrían cambiar el host (permisos), debemos solucionar esto:
 chown -R zimbra.zimbra /opt/zimbra /opt/zimbra/libexec/zmfixperms 
Además, antes de ejecutar una prueba, es necesario verificar si hay errores en la base de datos SQL, puede hacerlo utilizando la utilidad estándar
 mysqlcheck 
o usando la utilidad incorporada de Zimbro
 zmdbintegrityreport 
Ejecute mysql y ejecute el script:
 /opt/zimbra/bin/mysql.server start /opt/zimbra/libexec/zmdbintegrityreport /opt/zimbra/libexec/zmdbintegrityreport -r 
La primera línea verifica si hay errores, y la segunda verifica e inmediatamente intenta ser reparada.
Si no se han producido errores, aplaude y mire a continuación, si hay errores:
 mysql.general_log Error : You can't use locks with log tables. mysql.slow_log Error : You can't use locks with log tables. 
Entonces debes hacer lo siguiente:
 cd /opt/zimbra/db/data/mysql ls -al *log.frm mv *log.frm /tmp/ /opt/zimbra/libexec/zmdbintegrityreport 
Si este último se completa sin errores, detenga mysql y continúe.
 /opt/zimbra/bin/mysql.server stop 
Ahora necesitamos cambiar las contraseñas a la base ldap. Comenzamos ldap:
 ldap start 
En la primera versión con el indicador "r", cambiamos la contraseña para el usuario root, y en la segunda línea para el usuario zimbra, detenemos ldap nuevamente:
 zmldappasswd -r newrootpass zmldappasswd newpass ldap stop 
Si amas el BDSM y el ocultismo, lee el siguiente párrafo detenidamente. Si no, siéntase libre de saltar.
Para los fanáticos de BDSMAhora un poco de estrangulamiento)) Entiendo que ya estás bastante cansado y que este aburrimiento es un poco molesto, pero déjame explicarte algo. Cuando transferimos las bases (ldap y sql) también transferimos sus accesos (usuarios y contraseñas), cuando configuramos un nuevo zimbru, generaba automáticamente contraseñas para las bases y se almacenaban en el archivo /opt/zimbra/conf/localconfig.xml. Y si intentáramos simplemente transferir las bases e inmediatamente comenzar los servicios de Zimbra, nos enviarían nafig y no comenzarían, porque las contraseñas no coincidirían. En principio, puede ir hacia otro lado sin copiar el archivo de configuración, pero luego debe comparar la configuración con el servidor anterior para cambiarlos en el nuevo. Hay un comando especial zmlocalconfig para esto.
Nos fijamos en la configuración, por ejemplo, ldap:
 zmlocalconfig -s | grep ldap 
Los usamos en el nuevo servidor:
 zmlocalconfig -e < >=< > 
Lo más importante es cambiar las contraseñas para todos los ldap y mysql.
Con mysql, todo es mucho más complicado, debe iniciar el servicio con el restablecimiento de la tabla de privilegios y luego aplicar la contraseña igual a las configuraciones antiguas de zimbra:
 vi /opt/zimbra/bin/mysql.server 
encuentra la línea allí
 (--ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 &) 
Y cambiarlo a
 (--ledir=${mysql_directory}/libexec < /dev/null > /dev/null 2>&1 --skip-grant-tables &) 
Compruebe si mysql se está ejecutando, en caso afirmativo lo extinguimos
 /opt/zimbra/bin/mysql.server stop 
A continuación, ejecute el pómulo en un nuevo
 mysql.server start 
A continuación, vaya a MySQL sin contraseña (MySQL) y contraseñas Pedir igual Zimbru de edad (!!! necesita ejecutar en el viejo Zimbru !!!!!!!!!!)
 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 
Escribimos los cambios y salimos
 FLUSH PRIVILEGES; exit; 
Luego, reinicie el pómulo deteniéndose y comenzando
 mysql.server stop  mysql.server start 
Comprobar la capacidad de servicio
 mysql zimbra 
si no tiene errores, regocíjate.
deja de mysql
 /opt/zimbra/bin/mysql.server stop 
 Luego, nuevamente nos aseguramos de que los servicios 
zimbra, mysql, ldap no se estén ejecutando:
 ps -aux |grep slapd ps -aux |grep sql zmcontrol status 
Si algo se está ejecutando de repente, debes matar o detenerte.
Bueno, ha llegado el momento de su primer lanzamiento de un nuevo servidor. Doblamos nuestros dedos con una cruz y no lo soltamos hasta que esté completamente lanzado, si necesita usar una pandereta a mano:
 zmcontrol start 
Hay 2 opciones para el desarrollo de eventos:
Al inicio, 
figdit se rompe y dobla ldap
Verifique nuevamente la contraseña de zimbra y root. O en el lanzamiento, ldap ya se estaba ejecutando y solo el 
ganado desatento perdió algo.
Al iniciar 
figachit se rompe y se dobla mysql, vea el punto 1
Bueno, la opción cuando el buzón no comienza
Entonces necesita generar un nuevo certificado:
Antes de eso, debe eliminar el antiguo almacén de claves, de lo contrario, FAIL lo espera:
 rm -rf /opt/zimbra/mailboxd/etc/keystone cd /opt/zimbra/bin ./zmcertmgr createca -new ./zmcertmgr createcrt -new -days 1825 ./zmcertmgr deploycrt self ./zmcertmgr deployca 
Deténgase y ejecute zimbra de una nueva manera:
 zmcontrol stop zmcontrol start 
Si viste SUKES, salta y disfruta (todos los servicios deben estar en estado Running).
Puede intentar ingresar a la WEB, si no se carga, no se desespere, ESTO ES NORMAL.
¡Estos problemas se eliminan mediante una actualización A LA MISMA VERSIÓN! 
Precaución Los servicios de Zimbra deben iniciarse al actualizar, de lo contrario ¡FALLARÁ!
Vamos a la carpeta con el zimbra descargado e ingresamos:
 ./install.sh --platform-override 
Zimbra preguntará un par de veces si queremos una actualización, decimos que sí y continuamos. Por cierto, recogerá la configuración del sistema desde el localconfig.xml que movimos. Piense en ello como un pequeño truco :-)
Después de la instalación, verifique el estado del remitente:
 zmcontrol status 
Si todo está bien, puede acceder a WEB e iniciar sesión como cualquier usuario del servidor anterior, las contraseñas serán las mismas.
Además, como en el pulgar, descargue la última versión 7.x.x.x, descomprímalo y nuevamente:
 ./install.sh --platform-override 
En esta etapa, estamos listos para calificar nuestro sistema operativo para el siguiente paso.
Pero primero debe verificar nuestra base de datos en busca de corrupción:
 /opt/zimbra/libexec/zmdbintegrityreport 
Si no hay errores, continúe, si hay errores de 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! 
entonces necesita actualizar la versión de la base de datos:
 /opt/zimbra/libexec/scripts/migrate20100913-Mysql51.pl 
En este emocionante momento, toma una pandereta en tu mano derecha y reza ...
Después de la actualización, verificamos las bases de datos nuevamente y las corregimos si es necesario:
 /opt/zimbra/libexec/zmdbintegrityreport /opt/zimbra/libexec/zmdbintegrityreport -r 
Si nuevamente se produce el error de bloqueo general y lento, vea arriba cómo solucionarlo.
Bueno, lo último que debe hacer antes de actualizar el sistema operativo es:
cargar variables zimbra:
 source /opt/zimbra/bin/zmshutil zmsetvars 
copia de seguridad de 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 
Si el error regresa, entonces la opción a continuación:
 /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 respaldo:
 /opt/zimbra/libexec/zmslapcat /opt/zimbra/libexec/zmslapcat -c /opt/zimbra/libexec/zmslapcat -a 
A continuación, transferimos nuevamente las carpetas 
db, data, index, localconfig.xml y las copias de seguridad.
 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.
.