Zimbra est notre tout

Il est arrivé ici que je transfère ce miracle d'une machine à repasser à une machine virtuelle. La situation est franchement déprimante - l'ancienne version de Debian avec le noyau 2 et la relocalisation de Zimbra 6.0.4 étaient prévues pour CentOS 7 et ZImbra 8.8.

Je dois dire tout de suite que pour terminer cet événement, il faut aimer pleinement le BDSM, et pas léger, mais hardcore avec des hits en dessous de la ceinture. Sinon, rien ne fonctionnera pour vous et tout se tiendra au milieu du chemin.

Alors mettons-le dans l'ordre.

Au départ, nous devions déployer une version de Zimbra identique à l'ancien serveur, dans mon cas c'était Zimbra 6.0.4 pour CentOS 5, malheureusement c'était la version la plus avancée de l'OS pour ce logiciel à l'époque.

Téléchargez ici zimbra.

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

Et déballer:

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

Avant de l'installer, configurez CentOS. Dans la version 5, désactivez Selinux, Postfix / Sendmail (non plus) et configurez des navets pour yum.

 vi /etc/sysconfig/selinux 

Là, nous définissons la valeur:

 SELINUX=disabled 

Nous arrêtons et désactivons les services afin que lors de l'installation et de la mise à jour, ils n'interfèrent pas avec nous:

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

Nous avons mis en place des navets pour miam. Dans ce fichier, vous devez # commenter les lignes commençant par miroir:

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

Et éditez

 'baseurl=' 

Au lieu de 5.11, nous avons défini notre version.

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

Ensuite, mettez à jour CentOS

 yum update 

Après avoir mis à jour le système d'exploitation, il ne reste plus qu'un seul réglage, car zimbra est très jaloux du DNS, c'est un paramètre très important et sans lui le processus d'installation ne fonctionnera tout simplement pas.

 vi /etc/hosts 

Nous y enregistrons votre adresse IP et le nom complet du serveur - IP FQNS NS.

Tout est dans cet ordre, sinon encore une erreur. Dans mon cas, le serveur s'appelait srvmail (ou plutôt, son enregistrement mx).

 192.168.0.2 srvmail.domail.local srvmail 

Ensuite, vous pouvez procéder à l'installation, aller dans le répertoire avec le zimbra décompressé à l'avance et exécuter:

 ./install.sh --platform-override 

Drapeau

 "--platform-override" 

indique au programme d'installation quoi installer dans tous les cas (réécrivez la plate-forme de force).

Un autre indicateur utile est "-s" cet indicateur indique au programme d'installation que nous voulons installer uniquement les packages exécutables et non configurer.

Ensuite, le programme d'installation commencera l'installation et si tout a été fait correctement, il n'y aura pas d'erreurs. A la fin de l'installation, nous vérifions l'état du service zimbra:

 zmcontrol status 

Si tous les services sont en état de fonctionnement, alors tout est OK, puis continuez.

Arrêtez notre zimbru:

 zmcontrol stop 

Une fois le zimbra installé, nous devons transférer la base de données, ainsi que le fichier de configuration de l'ancien serveur zimbra vers le nouveau.

Nous avons besoin de dossiers

 db data index 

situé dans

 /opt/zimbra 

ainsi que le fichier

 /opt/zimbra/conf/localconfig.xml 

Les données de dossier sur le nouveau serveur peuvent être supprimées ou sauvegardées.

Étant donné que les dossiers et les fichiers pendant le transfert pourraient changer l'hôte (autorisations), nous devons résoudre ce problème:

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

De plus, avant un test, il est nécessaire de vérifier la base de données sql pour les erreurs, vous pouvez le faire en utilisant l'utilitaire standard

 mysqlcheck 

ou en utilisant l'utilitaire Zimbro intégré

 zmdbintegrityreport 

Exécutez mysql et exécutez le script:

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

La première ligne vérifie les erreurs et la seconde vérifie et essaie immédiatement d'être réparée.

Si aucune erreur ne s'est produite, alors applaudissez et regardez ci-dessous, si des erreurs:

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

Ensuite, vous devez effectuer les opérations suivantes:

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

Si ce dernier se termine sans erreur, arrêtez mysql et continuez.

 /opt/zimbra/bin/mysql.server stop 

Maintenant, nous devons changer les mots de passe en base LDAP. Nous commençons ldap:

 ldap start 

Dans la première version avec le drapeau «r», nous changeons le mot de passe pour l'utilisateur root, et dans la deuxième ligne pour l'utilisateur zimbra, nous arrêtons à nouveau ldap:

 zmldappasswd -r newrootpass zmldappasswd newpass ldap stop 

Si vous aimez le BDSM et l'occultisme, lisez attentivement le paragraphe suivant. Sinon, n'hésitez pas à sauter.

Pour les fans de BDSM
Maintenant un peu étranglé)) Je comprends que vous êtes déjà assez fatigué et que cette matité est un peu agaçante, mais laissez-moi vous expliquer quelque chose. Lorsque nous avons transféré les bases (ldap et sql), nous avons également transféré leurs accès (utilisateurs et mots de passe), lorsque nous avons défini un nouveau zimbru, il a généré automatiquement des mots de passe pour les bases et ils sont stockés dans le fichier /opt/zimbra/conf/localconfig.xml. Et si nous essayions de simplement transférer les bases et de démarrer immédiatement les services Zimbra, ils nous enverraient nafig et ne démarreraient pas, car les mots de passe ne correspondraient pas. En principe, vous pouvez aller dans l'autre sens sans copier le fichier de paramètres, mais vous devez ensuite comparer les paramètres avec l'ancien serveur pour les modifier sur le nouveau. Il existe une commande spéciale zmlocalconfig pour cela.

Nous regardons les paramètres par exemple ldap:

 zmlocalconfig -s | grep ldap 

Nous les utilisons sur le nouveau serveur:

 zmlocalconfig -e < >=< > 

La chose la plus importante est de changer les mots de passe pour tous les ldap et mysql.

Avec mysql, tout est beaucoup plus compliqué, vous devez démarrer le service avec la réinitialisation de la table de privilèges puis appliquer le mot de passe égal aux anciennes configurations de zimbra:

 vi /opt/zimbra/bin/mysql.server 

trouver la ligne là-bas

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

Et changez-le en

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

Vérifiez si mysql fonctionne, si oui nous l'éteignons

 /opt/zimbra/bin/mysql.server stop 

Ensuite, exécutez la pommette sur un nouveau

 mysql.server start 

Ensuite, accédez à mysql sans mot de passe (mysql) et définissez des mots de passe égaux à l'ancien zimbra (!!! vous devez exécuter l'ancien zimbra !!!!!!!!!!!)

 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 


Nous écrivons les modifications et sortons

 FLUSH PRIVILEGES; exit; 

Ensuite, redémarrez la pommette en arrêtant et en démarrant

 mysql.server stop  mysql.server start 

Vérifier le bon fonctionnement

 mysql zimbra 

si cela se passe sans erreurs, réjouissez-vous.

arrêtez mysql

 /opt/zimbra/bin/mysql.server stop 


Ensuite, nous nous assurons à nouveau que les services zimbra, mysql, ldap ne fonctionnent pas:

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

Si quelque chose tourne soudainement, vous devez tuer ou arrêter.

Eh bien, le moment est venu pour votre premier lancement d'un nouveau serveur. Nous plions les doigts avec une croix et ne la lâchons pas jusqu'à ce qu'elle soit complètement lancée, si vous avez besoin d'utiliser un tambourin à portée de main:

 zmcontrol start 

Il existe 2 options pour le développement d'événements:

Au démarrage, figdit casse et plie LDAP
Vérifiez à nouveau le zimbra et le mot de passe root. Ou au lancement, ldap fonctionnait déjà et vous venez de manquer quelque chose au bétail inattentif .

Lors du démarrage des pauses figachit et des virages mysql, voir le point 1
Eh bien, l'option lorsque mailboxd ne démarre pas

Vous devez donc générer un nouveau certificat:

Avant cela, vous devez supprimer l'ancien magasin de clés, sinon FAIL vous attend:

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

Arrêtez et exécutez zimbra d'une nouvelle manière:

 zmcontrol stop zmcontrol start 

Si vous avez vu SUKES, alors sautez et profitez (tous les services doivent être en mode Running).

Vous pouvez essayer de vous écraser sur le WEB, s'il ne se charge pas, ne désespérez pas, C'EST NORMAL.

Ces problèmes sont éliminés par une mise à niveau vers la même version !!!
Attention, les services Zimbra doivent être démarrés lors de la mise à niveau, sinon ECHEC!


Nous allons dans le dossier avec le zimbra téléchargé et saisissons:

 ./install.sh --platform-override 

Zimbra demandera plusieurs fois si nous voulons une mise à jour, nous disons oui et continuons. Soit dit en passant, il récupérera les paramètres du système dans le fichier localconfig.xml que nous avons déplacé. Considérez-le comme un petit hack :-)

Après l'installation, vérifiez l'état de l'expéditeur:

 zmcontrol status 

Si tout va bien, vous pouvez vous connecter à WEB et vous connecter en tant que n'importe quel utilisateur de l'ancien serveur, les mots de passe seront les mêmes.

De plus, comme sur le pouce, téléchargez la dernière version 7.x.x.x, déballez-la et encore:

 ./install.sh --platform-override 

À ce stade, nous sommes prêts à classer notre système d'exploitation à la prochaine étape.

Mais vous devez d'abord vérifier notre base de données pour la corruption:

 /opt/zimbra/libexec/zmdbintegrityreport 

S'il n'y a pas d'erreurs, alors allez-y, si les erreurs 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! 

alors vous devez mettre à jour la version de la base de données:

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

En ce moment passionnant, prenez un tambourin dans votre main droite et priez ...

Après la mise à jour, nous vérifions à nouveau les bases de données et les corrigeons si nécessaire:

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

Si à nouveau l'erreur de verrouillage générale et lente, voyez ci-dessus comment y remédier.

Eh bien, la dernière chose à faire avant de mettre à niveau le système d'exploitation est:

charger des variables zimbra:

 source /opt/zimbra/bin/zmshutil zmsetvars 

sauvegarde 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 l'erreur revient, alors l'option ci-dessous:

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

sauvegarde ldap:

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

Ensuite, nous transférons à nouveau les dossiers db, data, index, localconfig.xml ainsi que les sauvegardes
 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/fr474164/


All Articles