Zimbra es nuestro todo

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

.

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


All Articles