--- categories: mail title: Howto Zimbra ... * Documentation : [Zimbra](https://www.zimbra.com) est un logiciel de messagerie et de Groupware (gestion des agendas, carnets d'adresses, etc.). Il possède une interface web (versions AJAX, HTML ou mobile), une version riche (Zimbra Desktop), une synchronisation Activesync pour les mobiles (iPhone, Android, Windows Phone, Nokia) et un plugin pour Microsoft Outlook (>=2003). Il existe en version *Network Edition* (version propriétaire nécessitant des licences payantes) et *Open Source Edition* (version gratuite mais avec des fonctionnalités en moins comme la synchronisation Activesync et le plugin pour Microsoft Outlook). ## Comprendre les licences Zimbra Zimbra a été racheté successivement par Yahoo, VMware, Telligent puis Synacor. C'est l'une des raisons pour laquelle le système de licences a souvent changé et qu'il est difficile à comprendre. La licence conseillée est la PROFESSIONNAL car elle inclut les fonctionnalités intéressantes comme la synchronisation Activesync et le plugin pour Microsoft Outlook, voir Cela inclut notamment un support STANDARD : par le portail et par téléphone en heures ouvrées, voir Pour acheter des licences en France, vous devez passer par un revendeur comme STARXPERT ou SCC, qui passe lui-même par COMMEO (revendeur officiel). En terme de tarif, comptez environ 20 EUR par compte par an pour la licence PROFESSIONNAL (la quantité minimale étant de 25), voir Attention, méfiez-vous de la licence perpétuelle : elle n'inclut pas les mises à jour majeures de Zimbra ! ## Installation Prérequis : * Avoir au moins 2 Go de RAM. * Avoir un _/etc/hosts_ propre, contenant par exemple (avec zimbra.example.com résolvant vraiment vers 192.0.32.10) : ~~~ 127.0.0.1 localhost.localdomain localhost 192.0.32.10 zimbra.example.com zimbra ~~~ Installation de Zimbra 8 sous Ubuntu 14.04 LTS 64bits : ~~~ # aptitude remove lsb-invalid-mta # aptitude install libgmp10 libperl5.18 libaio1 unzip resolvconf $ wget http://files2.zimbra.com/downloads/8.6.0_GA/zcs-NETWORK-8.6.0_GA_1153.UBUNTU14_64.20141215151218.tgz $ tar xvf zcs-NETWORK-8.6.0_GA_1153.UBUNTU14_64.20141215151218.tgz ~~~ ~~~ # cd zcs-NETWORK-8.6.0_GA_1153.UBUNTU14_64.20141215151218 # ./install.sh Operations logged to /tmp/install.log.4467 Checking for existing installation... zimbra-ldap...NOT FOUND zimbra-logger...NOT FOUND zimbra-mta...NOT FOUND zimbra-snmp...NOT FOUND zimbra-store...NOT FOUND zimbra-apache...NOT FOUND zimbra-spell...NOT FOUND zimbra-convertd...NOT FOUND zimbra-memcached...NOT FOUND zimbra-proxy...NOT FOUND zimbra-archiving...NOT FOUND zimbra-cluster...NOT FOUND zimbra-core...NOT FOUND VMWARE END USER LICENSE AGREEMENT IMPORTANT-READ CAREFULLY: BY DOWNLOADING, INSTALLING, OR USING THE [...] Do you agree with the terms of the software license agreement? [N] y Checking for prerequisites... FOUND: NPTL FOUND: netcat-openbsd-1.89-4ubuntu1 FOUND: sudo-1.8.3p1-1ubuntu3.4 FOUND: libidn11-1.23-2 FOUND: libpcre3-8.12-4 FOUND: libgmp3c2-2:4.3.2+dfsg-2ubuntu1 FOUND: libexpat1-2.0.1-7.2ubuntu1.1 FOUND: libstdc++6-4.6.3-1ubuntu5 FOUND: libperl5.14-5.14.2-6ubuntu2.3 Checking for suggested prerequisites... FOUND: pax FOUND: perl-5.14.2 FOUND: sysstat FOUND: sqlite3 Prerequisite check complete. Checking for installable packages Found zimbra-core Found zimbra-ldap Found zimbra-logger Found zimbra-mta Found zimbra-snmp Found zimbra-store Found zimbra-apache Found zimbra-spell Found zimbra-convertd Found zimbra-memcached Found zimbra-proxy Found zimbra-archiving Select the packages to install Install zimbra-ldap [Y] Install zimbra-logger [Y] Install zimbra-mta [Y] Install zimbra-snmp [Y] Install zimbra-store [Y] Install zimbra-apache [Y] Install zimbra-spell [Y] Install zimbra-convertd [Y] Install zimbra-memcached [N] Install zimbra-proxy [N] Install zimbra-archiving [N] Checking required space for zimbra-core checking space for zimbra-store Installing: zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-convertd The system will be modified. Continue? [N] y Removing /opt/zimbra Removing zimbra crontab entry...done. Cleaning up zimbra init scripts...done. Cleaning up /etc/ld.so.conf...done. Cleaning up /etc/security/limits.conf...done. Finished removing Zimbra Collaboration Suite. Installing packages zimbra-core......zimbra-core_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-ldap......zimbra-ldap_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-logger......zimbra-logger_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-mta......zimbra-mta_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-snmp......zimbra-snmp_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-store......zimbra-store_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-apache......zimbra-apache_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-spell......zimbra-spell_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done zimbra-convertd......zimbra-convertd_7.0.0_GA_3077.UBUNTU10_64_amd64.deb...done Operations logged to /tmp/zmsetup.03012011-104432.log Installing LDAP configuration database...done. DNS ERROR resolving MX for zimbra.example.com It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes] No done. Checking for port conflicts Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: admin@zimbra.example.com ******* +Admin Password UNSET +Anti-virus quarantine user: virus-quarantine.tqiruegf6wsr88vv@zimbra.example.com +Enable automated spam training: yes +Spam training user: spam.qrs78szfr87wr@zimbra.example.com +Non-spam(Ham) training user: ham.xagwfg7g37jkk@zimbra.example.com +SMTP host: zimbra.example.com +Web server HTTP port: 80 +Web server HTTPS port: 443 +Web server mode: http +IMAP server port: 143 +IMAP server SSL port: 993 +POP server port: 110 +POP server SSL port: 995 +Use spell check server: yes +Spell server URL: +Configure for use with mail proxy: FALSE +Configure for use with web proxy: FALSE +Enable version update checks: TRUE +Enable version update notifications: TRUE +Version update notification email: admin@zimbra.example.com +Version update source email: admin@zimbra.example.com ******* +License filename: UNSET 4) zimbra-mta: Enabled 5) zimbra-snmp: Enabled 6) zimbra-logger: Enabled 7) zimbra-spell: Enabled 8) zimbra-convertd: Enabled 9) Default Class of Service Configuration: 10) Enable default backup schedule: yes r) Start servers after configuration yes s) Save config to file x) Expand menu q) Quit Address unconfigured (**) items (? - help) [...] ~~~ Il vous reste au minimum à configurer le mot de passe admin et à contacter votre revendeur pour acheter des licences Zimbra. ~~~ *** CONFIGURATION COMPLETE - press 'a' to apply Select from menu, or press 'a' to apply config (? - help) a Save configuration data to a file? [Yes] Save config in file: [/opt/zimbra/config.11297] Saving config in /opt/zimbra/config.11297...done. The system will be modified - continue? [No] yes Operations logged to /tmp/zmsetup.03012011-104432.log Setting local config values...done. Setting up CA...done. Deploying CA to /opt/zimbra/conf/ca ...done. Creating SSL certificate...done. Installing mailboxd SSL certificates...done. Initializing ldap...done. Setting replication password...done. Setting Postfix password...done. Setting amavis password...done. Setting nginx password...done. Creating server entry for zimbra.example.com...done. Saving CA in ldap ...done. Saving SSL Certificate in ldap ...done. Setting spell check URL...done. Setting service ports on zimbra.example.com...done. Adding zimbra.example.com to zimbraMailHostPool in default COS...done. Installing webclient skins... lake...done. lemongrass...done. carbon...done. tree...done. steel...done. waves...done. bare...done. pebble...done. hotrod...done. oasis...done. twilight...done. lavender...done. bones...done. sky...done. beach...done. smoke...done. sand...done. Finished installing webclient skins. Setting zimbraFeatureTasksEnabled=TRUE...done. Setting zimbraFeatureBriefcasesEnabled=TRUE...done. Setting convertd URL...done. Setting MTA auth host...done. Setting TimeZone Preference...done. Initializing mta config...done. Setting services on zimbra.example.com...done. Creating domain zimbra.example.com...done. Setting default domain name...done. Setting up default domain admin UI components..done. Granting group zimbraDomainAdmins@zimbra.example.com domain right +domainAdminConsoleRights on zimbra.example.com...done. Granting group zimbraDomainAdmins@zimbra.example.com global right +domainAdminZimletRights...done. Setting up global distribution list admin UI components..done. Granting group zimbraDLAdmins@zimbra.example.com global right +adminConsoleDLRights...done. Granting group zimbraDLAdmins@zimbra.example.com global right +listAccount...done. Creating domain zimbra.example.com...already exists. Creating admin account admin@zimbra.example.com...done. Creating root alias...done. Creating postmaster alias...done. Creating user spam.r4nd0m@zimbra.example.com... done. Creating user ham.r4nd0m@zimbra.example.com... done. Creating user virus-quarantine.r4nd0m@zimbra.example.com... done. Setting spam training and Anti-virus quarantine accounts...done. Initializing store sql database...done. Setting zimbraSmtpHostname for zimbra.example.com...done. Configuring SNMP...done. Checking for default IM conference room...not present. Initializing default IM conference room...done. Setting up syslog.conf...done. Setting default backup schedule...Done Looking for valid license to install...license installed. Starting servers...done. Installing common zimlets... com_zimbra_srchhighlighter...done. com_zimbra_cert_manager...done. com_zimbra_attachmail...done. com_zimbra_social...done. com_zimbra_attachcontacts...done. com_zimbra_phone...done. com_zimbra_bulkprovision...done. com_zimbra_webex...done. com_zimbra_linkedin...done. com_zimbra_url...done. com_zimbra_email...done. com_zimbra_date...done. com_zimbra_dnd...done. com_zimbra_adminversioncheck...done. Finished installing common zimlets. Installing network zimlets... com_zimbra_backuprestore...done. com_zimbra_license...done. com_zimbra_mobilesync...done. com_zimbra_hsm...done. com_zimbra_delegatedadmin...done. com_zimbra_convertd...done. Finished installing network zimlets. Restarting mailboxd...done. Setting up zimbra crontab...done. Moving /tmp/zmsetup.03012011-104432.log to /opt/zimbra/log ~~~ ## Configuration Activer HTTPS en plus de HTTP : ~~~ # su zimbra zimbra$ /opt/zimbra/bin/zmtlsctl redirect Setting ldap config zimbraMailMode redirect for zimbra.example.com...done. Rewriting config files for cyrus-sasl, webxml and mailboxd...done. # /etc/init.d/zimbra restart Host zimbra.example.com Stopping stats...Done. Stopping mta...Done. Stopping spell...Done. Stopping snmp...Done. Stopping cbpolicyd...Done. Stopping archiving...Done. Stopping antivirus...Done. Stopping antispam...Done. Stopping imapproxy...Done. Stopping memcached...Done. Stopping mailbox...Done. Stopping convertd...Done. Stopping logger...Done. Stopping zmconfigd...Done. Stopping ldap...Done. Host zimbra.example.com Starting ldap...Done. Starting zmconfigd...Done. Starting logger...Done. Starting convertd...Done. Starting mailbox...Done. Starting antispam...Done. Starting antivirus...Done. Starting snmp...Done. Starting spell...Done. Starting mta...Done. Starting stats...Done. ~~~ Pour autoriser un certificat non reconnu par Sun/Java (par exemple pour accéder à un annuaire extérieur en LDAP pour la GAL), on suivra les instructions décrites sur : ~~~ $ wget http://blogs.sun.com/andreas/resource/InstallCert.java $ /opt/zimbra/jdk1.6.0_22/bin/javac InstallCert.java $ /opt/zimbra/jdk1.6.0_22/bin/java InstallCert secure.example.com # cp jssecacerts /opt/zimbra/jdk1.6.0_22/jre/lib/security/ # /etc/init.d/zimbra restart ~~~ ## Administration ### Via l'interface web Accessible sur le port 7071 : + ssh -L 7071:127.0.0.1:7071 zimbra.example.com ### En ligne de commande avec ZMPROV ~~~ # su zimbra $ export PATH=$PATH:/opt/zimbra/bin Get all conf / global settings $ zmprov gacf Get domain $ zmprov gd Get account $ zmprov ga Get default COS $ zmprov gc default Get COS $ zmprov gc Modify global conf $ zmprov mcf Modify domain $ zmprov md Modify account $ zmprov ma Search GAL $ zmprov sg ~~~ Voici ainsi l'application de certaines modifications via la COS : ~~~ Commencer la semaine ouvrée le lundi $ zmprov mc zimbraPrefCalendarFirstDayOfWeek 1 Définir les horaires ouvrés de 9h à 18h $ zmprov mc zimbraPrefCalendarWorkingHours 1:N:0900:1800,2:Y:0900:1800,3:Y:0900:1800,4:Y:0900:1800,5:Y:0900:1800,6:Y:0900:1800,7:N:0900:1800 Afficher les numéros de semaine dans le mini-calendrier $ zmprov mc zimbraPrefShowCalendarWeek TRUE Ne PAS afficher les rappels pour les réunions dont la date est dépassée $ zmprov mc zimbraPrefCalendarShowPastDueReminders FALSE Autoriser la visualisation disponible/occupés uniquement pour les utilisateurs internes zmprov mc zimbraACE "00000000-0000-0000-0000-000000000000 all viewFreeBusy" Ne pas autoriser l'ajout automatique d'une invitation zmprov mc zimbraPrefCalendarAutoAddInvites FALSE ~~~ D'autres modifications : ~~~ Renvoyer une notification lors d'un nouveau message à l'adresse $ zmprov ma zimbraPrefNewMailNotificationAddress Envoyer les alertes pour les rendez-vous de calendrier à $ zmprov ma zimbraPrefCalendarReminderEmail ~~~ ## GAL La GAL (Global Access List) est une liste de contacts globale. Elle est accessible a priori par tous les comptes d'un domaine, elle comprend généralement les comptes eux-même et elle est utilisée pour les complétions. Sur les périphériques de type Mobile (iPhone et Android), elle est accessible d'une façon différente des contacts classiques via "Annuaire d'entreprise". La GAL pourra être interne (associé à un compte dédié...) ou externe (synchronisation avec un annuaire LDAP). ### GAL interne Dans le cas d'une GAL interne, il faut absolument utiliser un compte dédié (oui, vous avez bien lu, cela comptera pour une licence), souvent _galsync@_. En configurant la GAL interne, cela crée d'ailleurs le compte automatiquement et l'associé à une _Datasource_... et il n'est pas possible de le changer après sauf en passant en ligne de commande. Imaginons que vous changez le compte et la _Datasource_ associé, vous pouvez : 1. Supprimer le compte _galsync@example.com_ (attention, Zimbra va râler quand vous irez dans la configuration de la GAL. 2. Forcer le changement des paramètres de la GAL via : ~~~ $ zmgsautil createAccount -a galsync@example.com -n exampleGAL --domain example.com -t zimbra -p 1d $ zmgsautil fullSync -a galsync@example.com -n exampleGAL ~~~ 3. Dédoublonner le paramètre _zimbraGalAccountId_ : ~~~ $ zmprov gd example.com zimbraGalAccountId $ zmprov md example.com zimbraGalAccountId 822bac1a-5e92-48a0-8bb0-xxxxxxx ~~~ ### GAL externe Dans le cas d'un GAL externe, il "suffit" de configurer la bonne connexion au serveur LDAP. La plupart du temps, une GAL externe sera en lecture seule. Note : à voir l'intérêt d'utiliser un compte dédié dans ce cas ?? ## Configuration ### Postfix Non seulement Postfix est inclus dans le "bundle Zimbra", mais sa configuration est directement géré par Zimbra. Ainsi vous nous pouvez *pas* modifier le _main.cf_ car il est regénéré en permanence. Imaginons que vous souhaitez rajouter une source _virtual_alias_maps_, la bonne façon pour faire une modification est d'utilisation la commande suivante : Sous Zimbra 7 : ~~~ $ zmlocalconfig -e postfix_virtual_alias_maps='hash:/etc/zimbra-aliases,proxy:ldap:${zimbra_home}/conf/ldap-vam.cf' $ postfix reload ~~~ Sous Zimbra 8 : ~~~ # /opt/zimbra/postfix-2.11.1.2z/sbin/postmap lmdb:/etc/zimbra-alias $ zmprov -r -m -l ms z.example.com zimbraMtaVirtualAliasMaps 'lmdb:/etc/zimbra-alias,proxy:ldap:/opt/zimbra/conf/ldap-vam.cf' $ zmmtactl restart ~~~ Voyez également le fichier _/opt/zimbra/conf/zmmta.cf_ qui sert dans le processus de génération automatique de la configuration de Postfix. ATTENTION, sous Zimbra 8.6, l'algorithme hash n'est plus supporté : _unsupported dictionary type: hash_ Vous devez utiliser 'lmdb' et utiliser /opt/zimbra/postfix-2.11.1.2z/sbin/postmap lmdb: pour générer les .lmdb ## Administration Tester le bon fonctionnement des services : ~~~ $ zmcontrol status Host zimbra.example.com antispam Running antivirus Running convertd Running ldap Running logger Running mailbox Running mta Running snmp Running spell Running stats Running zmconfigd Running ~~~ ### Stockage des mails Zimbra ne stocke malheureusement pas les mails de façon standard : pas de Maildir, de mbox, etc. :( Il indexe les messages dans MySQL et les stocke dans des répertoires sous _/opt/zimbra/store_ : ~~~ mysql> select * from zimbra.volume; +----+------+----------+-------------------+-----------+-----------------+--------------+--------------------+----------------+-----------------------+ | id | type | name | path | file_bits | file_group_bits | mailbox_bits | mailbox_group_bits | compress_blobs | compression_threshold | +----+------+----------+-------------------+-----------+-----------------+--------------+--------------------+----------------+-----------------------+ | 1 | 1 | message1 | /opt/zimbra/store | 12 | 8 | 12 | 8 | 0 | 4096 | | 2 | 10 | index1 | /opt/zimbra/index | 12 | 8 | 12 | 8 | 0 | 4096 | +----+------+----------+-------------------+-----------+-----------------+--------------+--------------------+----------------+-----------------------+ 2 rows in set (0.00 sec) mysql> select * from mboxgroup12.mail_item limit 1 offset 250\G *************************** 1. row *************************** mailbox_id: 12 id: 756 type: 5 parent_id: 753 folder_id: 3 index_id: 756 imap_id: 756 date: 1301526232 size: 1760 volume_id: 1 blob_digest: Cv6LEbNCmYaEQXLTY4Pc05f37BB= unread: 0 flags: 0 tags: 0 sender: John Doe subject: test name: NULL metadata: d1:f0:1:s37:jdoe@example.com (John Doe)1:ve31ff mod_metadata: 1617 change_date: 1301527020 mod_content: 1610 1 row in set (0.00 sec) ~~~ Voir Gestion des volumes avec _zmvolume_, qui permet de lister les volumes et leurs propriétés, les changer : ~~~ $ zmvolume -l Volume id: 1 name: message1 type: primaryMessage path: /opt/zimbra/store compressed: false current: true Volume id: 2 name: index1 type: index path: /opt/zimbra/index compressed: false current: true $ zmvolume -e -id 1 -c true $ zmvolume -e -id 2 -c true $ zmvolume -l Volume id: 1 name: message1 type: primaryMessage path: /opt/zimbra/store compressed: true threshold: 4096 bytes current: true Volume id: 2 name: index1 type: index path: /opt/zimbra/index compressed: true threshold: 4096 bytes current: true ~~~ ### Redolog Zimbra gère des _redolog_ c'est-à-dire des journaux de transation où il conserve toutes les actions effectuées. C'est très intéressant pour la sécurité, mais un peu moins côté consommation disque. Pour les désactiver : ~~~ $ zmprov gcf zimbraRedoLogEnabled zimbraRedoLogEnabled: TRUE $ zmprov mcf zimbraRedoLogEnabled FALSE $ zmcontrol shutdown Host zimbra.example.com Stopping stats...Done. Stopping mta...Done. Stopping spell...Done. Stopping snmp...Done. Stopping cbpolicyd...Done. Stopping archiving...Done. Stopping antivirus...Done. Stopping antispam...Done. Stopping imapproxy...Done. Stopping memcached...Done. Stopping mailbox...Done. Stopping convertd...Done. Stopping logger...Done. Stopping zmconfigd...Done. Stopping ldap...Done. $ zmcontrol startup Host zimbra.example.com Starting ldap...Done. Starting zmconfigd...Done. Starting logger...Done. Starting convertd...Done. Starting mailbox...Done. Starting antispam...Done. Starting antivirus...Done. Starting snmp...Done. Starting spell...Done. Starting mta...Done. Starting stats...Done. $ rm -f /opt/zimbra/redolog/archive/*log /opt/zimbra/redolog/redo.log ~~~ ### Sauvegardes Note : les sauvegardes incrémentales nécessitent l'activation du Redolog (voir ci-dessus). Les sauvegardes sont réalisées via des crons qui effectuent des sauvegardes complètes, incrémentales et des nettoyages. On peut gérer ces tâches via la commande _zmschedulebackup_ : ~~~ $ zmschedulebackup Current Schedule: f 0 1 * * 6 -a all --mail-report i 0 1 * * 0-5 --mail-report ~~~ On peut remettre le planning par défaut ainsi : ~~~ $ zmschedulebackup -D Default schedule set Current Schedule: f 0 1 * * 6 -a all --mail-report i 0 1 * * 0-5 --mail-report d 1m 0 0 * * * --mail-report ~~~ On peut ajouter des sauvegardes ainsi : ~~~ $ zmschedulebackup -A f "0 1 * * 6" -a all --mail-report $ zmschedulebackup -A i "0 1 * * 0-5" --mail-report ~~~ Pour modifier le planning des sauvegardes, par exemple pour effacer les sauvegardes au bout de 20 jours : ~~~ $ zmschedulebackup -R f "0 1 * * 6" -a all i "0 1 * * 0-5" --mail-report --mail-report d 20d "0 0 * * *" --mail-report Schedule replaced Current Schedule: f 0 1 * * 6 -a all --mail-report i 0 1 * * 0-5 --mail-report d 20d 0 0 * * * --mail-report ~~~ Pour supprimer immédiatement les sauvegardes datant de plus de 15 jours ou 1 jour : ~~~ $ zmbackup -del 15d $ zmbackup -del 1d ~~~ Les sauvegardes sont stockées dans `/opt/zimbra/backup` : On retrouvera notamment la liste des comptes dans `/opt/zimbra/backup/accounts.xml`. Et les sauvegardes complètes dans `/opt/zimbra/backup/tmp/full-20XXXXXX.NNN`. > ATTENTION : les sauvegardes ne sont utilisables qu'entre des versions identiques de Zimbra ! Cela n'est donc pas utilisable pour des migrations de données de versions différentes. ### SSH Attention, Zimbra utilise l'accès SSH au compte zimbra pour divers paramètres. Si l'on met des restrictions de type _AllowUsers_ on veillera à garder l'autorisation pour le compte zimbra. ### Gestion des licences Le plus simple est de le gérer en ligne de commande. Pour afficher la licence actuelle : ~~~ $ zmlicense -p ~~~ En théorie, la licence actuelle se trouve dans _/opt/zimbra/conf/ZCSLicense.xml_. Pour installer une nouvelle licence (en cas de renouvellement par exemple) : ~~~ $ zmlicense -i ZCSLicense.xml ~~~ Puis dans l'interface web d'admin, aller dans _Global Settings_ puis _License_ et cliquer sur _Activate license_. On peut aussi l'activer via _zmlicense_ (mais cela dysfonctionne souvent avec les anciennes versions de Zimbra). ~~~ $ zmlicense -a ~~~ Autre possibilité, générer un fichier d'activation activation.xml via puis l'activer via l'interface web ou en ligne de commande : ~~~ $ zmlicense -A activation.xml ~~~ Autres possibilités : ~~~ # Voir le fingerprint de la license $ zmlicence -f ~~~ ### Gestion des certificats Si vous obtenez des erreurs du type : ~~~ Unable to determine enabled services from ldap. Enabled services read from cache. Service list may be inaccurate. ERROR: service.FAILURE (system failure: ZimbraLdapContext) (cause: javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed) ~~~ C'est que le certificat interne de Zimbra a expiré ! Pour le renouveler (autosigné), lire et faire : ~~~ # zmcertmgr createca -new # zmcertmgr createcrt -new -days 1000 # zmcertmgr deploycrt self # zmcertmgr deployca # zmcertmgr viewdeployedcrt ~~~ Reste un point important à gérer : les _Java KeyStore_ ... et attention car il peut en avoir plusieurs à gérer : par exemple: cacerts et jssecacerts dans /opt/zimbra/java/jre/lib/security/ ET /opt/zimbra/jdk1.6.0_22/jre/lib/security/ On peut éventuellement les gérer bas niveau avec avec keytool : ~~~ KEYSTORE_PATH=/opt/zimbra/jdk1.6.0_22/jre/lib/security/jssecacerts (version 7) KEYSTORE_PATH=/opt/zimbra/jdk-1.7.0_60/jre/lib/security/cacerts (version 8.6) # /opt/zimbra/java/bin/keytool -list -keystore $KEYSTORE_PATH -storepass changeit # /opt/zimbra/java/bin/keytool -delete -keystore $KEYSTORE_PATH -storepass changeit # /opt/zimbra/java/bin/keytool -import -alias my_ca -keystore $KEYSTORE_PATH -storepass changeit -file /tmp/ca.pem ~~~ MAIS il est conseillé d'utiliser _zmcertmgr_. Par exemple, pour autoriser les connexions LDAPS vers un certificat SSL de chez StartSSL, on importe les certificats : ~~~ # zmcertmgr addcacert /opt/zimbra/ssl/zimbra/ca/ca.pem ** Importing certificate /opt/zimbra/ssl/zimbra/ca/ca.pem to CACERTS as zcs-user-ca.pem...done. ** NOTE: mailboxd must be restarted in order to use the imported certificate. # zmcertmgr addcacert startssl-ca.pem ** Importing certificate startssl-ca.pem to CACERTS as zcs-user-startssl-ca.pem...done. ** NOTE: mailboxd must be restarted in order to use the imported certificate. # zmcertmgr addcacert sub.class1.server.ca.pem ** Importing certificate sub.class1.server.ca.pem to CACERTS as zcs-user-sub.class1.server.ca.pem...done. ** NOTE: mailboxd must be restarted in order to use the imported certificate. ~~~ Enfin, on doit redémarrer Zimbra. Pour installer un certificat externe, vous devez : * Générer un fichier CSR : ~~~ $ zmcertmgr createcsr comm -new ~~~ * Générer le certificat via ce CSR * Installer le certificat obtenu (par exemple z.example.com.crt) + chaîne de certification : ~~~ $ /opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/z.example.com.crt /tmp/ca.crt ** Verifying /tmp/z.example.com.crt against /opt/zimbra/ssl/zimbra/commercial/commercial.key Certificate (/tmp/z.example.com.crt) and private key (/opt/zimbra/ssl/zimbra/commercial/commercial.key) match. Valid Certificate: /tmp/z.example.com.crt: OK ** Copying /tmp/z.example.com.crt to /opt/zimbra/ssl/zimbra/commercial/commercial.crt ** Appending ca chain /tmp/ca.crt to /opt/zimbra/ssl/zimbra/commercial/commercial.crt ** Importing certificate /opt/zimbra/ssl/zimbra/commercial/commercial_ca.crt to CACERTS as zcs-user-commercial_ca...done. ** NOTE: mailboxd must be restarted in order to use the imported certificate. ** Saving server config key zimbraSSLCertificate...done. ** Saving server config key zimbraSSLPrivateKey...done. ** Installing mta certificate and key...done. ** Installing slapd certificate and key...done. ** Installing proxy certificate and key...done. ** Creating pkcs12 file /opt/zimbra/ssl/zimbra/jetty.pkcs12...done. ** Creating keystore file /opt/zimbra/mailboxd/etc/keystore...done. ** Installing CA to /opt/zimbra/conf/ca...done. ~~~ Attention, le fichier ca.crt doit comprendre l'ensemble de la chaîne de certification, souvent certificat racine puis certificat intermédiaire. ### Commandes diverses ~~~ # Redémarrer Amavis $ zmamavisdctl restart # Redémarrer ClamAV $ zmantivirusctl restart # Dump LDAP $ ./openldap/sbin/slapcat -F /opt/zimbra/data/ldap/config $ /opt/zimbra/libexec/zmslapcat /tmp $ /opt/zimbra/libexec/zmslapcat -c /tmp # Gestion LDAP $ ldap status slapd running pid: 24709 $ ldap stop $ ldap start # Restaurer l'ensemble des paramètres via LDAP $ ldap stop $ rm -f data/ldap/hdb/db/__db.* data/ldap/hdb/db/*.bdb data/ldap/hdb/db/alock data/ldap/hdb/logs/* $ ./openldap/sbin/slapadd -F /opt/zimbra/data/ldap/config -b "" -q -l /tmp/ldap.bak _#################### 100.00% eta none elapsed none fast! Closing DB... $ vim conf/localconfig.xml $ ldap start # /etc/init.d/zimbra restart $ zmlocalconfig -s zimbra_ldap_userdn $ zmlocalconfig -s zimbra_ldap_password # Transfert des sauvegardes des données des comptes (uniquement pour des versions identiques) $ scp -r /opt/zimbra/backup/sessions/full-20120428.NNN newserver.example.com:/opt/zimbra/backup/sessions/ $ scp -r /opt/zimbra/backup/accounts.xml newserver.example.com:opt/zimbra/backup/ # Corriger les permissions # /opt/zimbra/libexec/zmfixperms # Détails d'un compte $ zmprov ga COMPTE # Changer le mot de passe d'un compte (dont admin) $ zmprov sp COMPTE PASSWORD ~~~ ## Stockage des données Des informations sont stockées dans MySQL (bases mboxgroup*) et dans les répertoires *store/* et *index/*. Pour un utilisateur donné, on peut déduire la base utilisée : ~~~ $ zmprov getMailboxInfo jdoe@z.example.com mailboxId: 42 ~~~ Les données de cet utilisateur seront dans la mboxgroup* (il suffit de faire mailboxId % 100). ### Candendrier ~~~ MariaDB [(none)]> use mboxgroup42 MariaDB [mboxgroup42]> select * from appointment where uid='XXXX'; MariaDB [mboxgroup42]> select * from appointment where metadata LIKE ='XXXX'; MariaDB [mboxgroup42]> select * from mail_item where index_id=NNNN; ~~~ NNN étant l'item_id de la table appointment. ## Mises à jour / migration Il faut mettre régulièrement à jour Zimbra, particulièrement lors des mises-à-jour critiques car des failles peuvent exister. Attention, vous devez avoir au moins 5 Go d'espace libre. ## Changement de serveur (en gardant la même version de Zimbra) Si vous utilisez strictement la même version d'OS (64 bits, etc.), vous pouvez : * Installer votre OS puis un Zimbra vierge * Couper Zimbra sur l'ancien et le nouveau serveur * Transférer /opt/zimbra * Mettre à jour l'IP dans /etc/hosts * Mettre à jour l'UID/GID dans /opt/zimbra/conf/localconfig.xml * Redémarrer Zimbra * Mettre à jour l'IP dans l'admin Zimbra (restrictions MRA) * Redémarrer Zimbra ### Mise-à-jour mineure de Zimbra (7.0.0 vers 7.2.6) sous Ubuntu 10.04 LTS 64bits ~~~ $ wget http://files2.zimbra.com/downloads/7.2.6_GA/zcs-NETWORK-7.2.6_GA_2926.UBUNTU10_64.20131203120019.tgz $ tar xvf zcs-NETWORK-7.2.6_GA_2926.UBUNTU10_64.20131203120019.tgz # cd zcs-NETWORK-7.2.6_GA_2926.UBUNTU10_64.20131203120019 # ./install.sh Operations logged to /tmp/install.log.8252 Checking for existing installation... zimbra-ldap...FOUND zimbra-ldap-7.0.0_GA_3077.UBUNTU10_64 zimbra-logger...FOUND zimbra-logger-7.0.0_GA_3077.UBUNTU10_64 zimbra-mta...FOUND zimbra-mta-7.0.0_GA_3077.UBUNTU10_64 zimbra-snmp...FOUND zimbra-snmp-7.0.0_GA_3077.UBUNTU10_64 zimbra-store...FOUND zimbra-store-7.0.0_GA_3077.UBUNTU10_64 zimbra-apache...FOUND zimbra-apache-7.0.0_GA_3077.UBUNTU10_64 zimbra-spell...FOUND zimbra-spell-7.0.0_GA_3077.UBUNTU10_64 zimbra-convertd...FOUND zimbra-convertd-7.0.0_GA_3077.UBUNTU10_64 zimbra-memcached...NOT FOUND zimbra-proxy...NOT FOUND zimbra-archiving...NOT FOUND zimbra-cluster...NOT FOUND zimbra-core...FOUND zimbra-core-7.0.0_GA_3077.UBUNTU10_64 ZCS upgrade from 7.0.0 to 7.2.6 will be performed. Checking for available license file... Current Users=14 Licensed Users=15 Saving existing configuration file to /opt/zimbra/.saveconfig ZIMBRA NE END USER LICENSE AGREEMENT [...] Do you agree with the terms of the software license agreement? [N] y Checking for prerequisites... FOUND: NPTL FOUND: netcat-openbsd-1.89-3ubuntu2 FOUND: sudo-1.7.2p1-1ubuntu5.6 FOUND: libidn11-1.15-2 FOUND: libpcre3-7.8-3build1 FOUND: libgmp3c2-2:4.3.2+dfsg-1ubuntu1 FOUND: libexpat1-2.0.1-7ubuntu1.1 FOUND: libstdc++6-4.4.3-4ubuntu5.1 FOUND: libperl5.10-5.10.1-8ubuntu2.3 Checking for suggested prerequisites... FOUND: perl-5.10.1 FOUND: sysstat FOUND: sqlite3 Prerequisite check complete. Checking current number of databases... Checking for a recent backup Do you want to verify message store database integrity? [Y] Verifying integrity of message store databases. This may take a while. mysqld is alive Database errors found. /opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --auto-repair --password=XXXXXXX mysql.general_log Error : You can't use locks with log tables. mysql.slow_log Error : You can't use locks with log tables. Checking for installable packages Found zimbra-core Found zimbra-ldap Found zimbra-logger Found zimbra-mta Found zimbra-snmp Found zimbra-store Found zimbra-apache Found zimbra-spell Found zimbra-convertd Found zimbra-memcached Found zimbra-proxy Found zimbra-archiving The Zimbra Collaboration Suite appears already to be installed. It can be upgraded with no effect on existing accounts, or the current installation can be completely removed prior to installation for a clean install. Do you wish to upgrade? [Y] Select the packages to install Upgrading zimbra-core Upgrading zimbra-ldap Upgrading zimbra-logger Upgrading zimbra-mta Upgrading zimbra-snmp Upgrading zimbra-store Upgrading zimbra-apache Upgrading zimbra-spell Upgrading zimbra-convertd Install zimbra-memcached [N] Install zimbra-proxy [N] Install zimbra-archiving [N] Checking required space for zimbra-core checking space for zimbra-store Installing: zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-convertd The system will be modified. Continue? [N] y Shutting down zimbra mail Backing up the ldap database...done. Removing existing packages zimbra-ldap...done zimbra-logger...done zimbra-mta...done zimbra-snmp...done zimbra-store...done zimbra-spell...done zimbra-convertd...done zimbra-apache...done Removing deployed webapp directories Installing packages zimbra-core......zimbra-core_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-ldap......zimbra-ldap_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-logger......zimbra-logger_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-mta......zimbra-mta_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-snmp......zimbra-snmp_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-store......zimbra-store_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-apache......zimbra-apache_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-spell......zimbra-spell_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done zimbra-convertd......zimbra-convertd_7.2.6_GA_2926.UBUNTU10_64_amd64.deb...done Setting defaults from saved config in /opt/zimbra/.saveconfig/config.save HOSTNAME=z.example.com LDAPHOST=z.example.com LDAPPORT=389 SNMPTRAPHOST=z.example.com SMTPSOURCE=admin@z.example.com SMTPDEST=admin@z.example.com SNMPNOTIFY=yes SMTPNOTIFY=yes LDAPROOTPW=XXX LDAPZIMBRAPW=XXX LDAPPOSTPW=XXX LDAPREPPW=XXX LDAPAMAVISPW=XXX LDAPNGINXPW=XXX Restoring existing configuration file from /opt/zimbra/.saveconfig/localconfig.xml...done Operations logged to /tmp/zmsetup.01092014-000043.log Upgrading from 7.0.0_GA_3077 to 7.2.6_GA_2926 Stopping zimbra services...done. Verifying /opt/zimbra/conf/my.cnf Starting mysql...done. This appears to be 7.0.0_GA Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...already running. Redolog version update required. Thu Jan 9 00:01:23 2014: Verified redolog version 1.30. Thu Jan 9 00:01:23 2014: Updating Redolog schema version from 1.30 to 1.31. Redolog version update finished. Stopping mysql...done. Updating from 7.0.1_GA Updating from 7.1.0_GA Updating from 7.1.1_GA Updating from 7.1.2_GA Updating from 7.1.3_GA Updating from 7.1.4_GA Updating from 7.2.0_GA Updating from 7.2.1_GA Updating from 7.2.2_GA Updating from 7.2.3_GA Updating from 7.2.4_GA Updating from 7.2.5_GA Updating from 7.2.6_GA Updating global config and COS's with attributes introduced after 7.0.0_GA...done. Stopping ldap...done. Upgrade complete. Running bdb db_recover...done. Running zmldapapplyldif...done. Checking ldap status....already running. Setting defaults...done. Setting defaults from existing config...done. Checking for port conflicts Setting defaults from ldap...done. Saving config in /opt/zimbra/config.11327...done. Operations logged to /tmp/zmsetup.01092014-000043.log Setting local config values...done. Setting up CA...done. Deploying CA to /opt/zimbra/conf/ca ...done. Warning: No valid SSL certificates were found. New self-signed certificates will be generated and installed. Creating SSL certificate...done. Creating SSL certificate...done. Creating SSL certificate...done. Installing mailboxd SSL certificates...done. Setting replication password...done. Setting Postfix password...done. Setting amavis password...done. Setting nginx password...done. Creating server entry for z.example.com...already exists. Saving CA in ldap ...done. Saving SSL Certificate in ldap ...done. Setting spell check URL...done. Setting service ports on z.example.com...done. Adding z.example.com to zimbraMailHostPool in default COS...done. Installing webclient skins... lake...done. lemongrass...done. carbon...done. tree...done. steel...done. waves...done. bare...done. pebble...done. hotrod...done. oasis...done. twilight...done. lavender...done. bones...done. sky...done. beach...done. smoke...done. sand...done. Finished installing webclient skins. Setting Keyboard Shortcut Preferences...done. Setting zimbraFeatureTasksEnabled=TRUE...done. Setting zimbraFeatureBriefcasesEnabled=TRUE...done. Setting MTA auth host...done. Setting TimeZone Preference...done. prov> Initializing mta config...done. Setting services on z.example.com...done. Creating user spam.r4nd0m@z.example.com...already exists. Creating user ham.r4nd0m@z.example.com...already exists. Creating user virus-quarantine.r4nd0m@z.example.com...already exists. Setting spam training and Anti-virus quarantine accounts...done. Configuring SNMP...done. Checking for default IM conference room...already initialized. Setting up syslog.conf...Failed Looking for valid license to install...license already installed. Activating license...license activated. Starting servers...done. Checking for deprecated zimlets...done. Installing common zimlets... com_zimbra_viewmail...done. com_zimbra_srchhighlighter...done. com_zimbra_cert_manager...done. com_zimbra_attachmail...done. com_zimbra_social...done. com_zimbra_attachcontacts...done. com_zimbra_phone...done. com_zimbra_bulkprovision...done. com_zimbra_webex...done. com_zimbra_linkedin...done. com_zimbra_url...done. com_zimbra_email...done. com_zimbra_date...done. com_zimbra_dnd...done. com_zimbra_adminversioncheck...done. Finished installing common zimlets. Installing network zimlets... com_zimbra_backuprestore...done. com_zimbra_license...done. com_zimbra_smime_cert_admin...done. com_zimbra_mobilesync...done. com_zimbra_hsm...done. com_zimbra_delegatedadmin...done. com_zimbra_smime...done. com_zimbra_convertd...done. Finished installing network zimlets. Getting list of all zimlets...done. Updating non-standard zimlets... com_zimbra_webex...done. Finished updating non-standard zimlets. Restarting mailboxd...done. Setting up zimbra crontab...done. Moving /tmp/zmsetup.01092014-000043.log to /opt/zimbra/log Configuration complete - press return to exit ~~~ ### Mise à jour majeure de Zimbra (7.2 vers 8.6) Attention : pour une mise à jour majeure, assurez-vous d'avoir une licence non perpétuelle (car les mises à jour majeures ne sont pas supportées !) Les méthodes recommandées par le support Zimbra sont : et En résumé, la mise à jour se fait en réinstallant Zimbra (install.sh). Par exemple, pour passer de Ubuntu 10.04/ZCS 7.2 en Ubuntu 14.04/ZCS 8.6 il faut : * Sous Ubuntu 10.04, passer de ZCS 7.2 à ZCS 8.0.9 * Passer de Ubuntu 10.04 en Ubuntu 12.04 * Sous Ubuntu 12.04, passer de ZCS 8.0.9 en 8.6 * Passer de Ubuntu 12.04 en Ubuntu 14.04 * Réinstaller ZCS 8.6 avec les packages pour Ubuntu 14.04 ~~~ # cd zcs-NETWORK-8.0.9_GA_6191.UBUNTU10_64.20141103151643 # ./install.sh -a /root/activation.xml [...] The Zimbra Collaboration Server appears already to be installed. It can be upgraded with no effect on existing accounts, or the current installation can be completely removed prior to installation for a clean install. Do you wish to upgrade? [Y] [...] Upgrading from 7.2.6_GA_2926 to 8.0.9_GA_6191 Stopping zimbra services...done. This appears to be 7.2.6_GA Starting mysql...done. Upgrading ldap data...done. Upgrading LDAP configuration database...done. Loading database...done. Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...not running. Starting ldap...done. Checking ldap status...already running. Running mysql_upgrade...done. Redolog version update required. Thu May 19 12:20:18 2016: Verified redolog version 1.31. Thu May 19 12:20:18 2016: Updating Redolog schema version from 1.31 to 1.42. Redolog version update finished. Schema upgrade required from version 65 to 92. Running /opt/zimbra/libexec/scripts/migrate20120611_7to8_bundle.pl Thu May 19 12:20:22 2016: Verified schema version 65. Thu May 19 12:20:23 2016: Adding device information columns to ZIMBRA.MOBILE_DEVICES table... Thu May 19 12:20:24 2016: Adding ZIMBRA.PENDING_ACL_PUSH table... Thu May 19 12:20:24 2016: Adding TAG table... ............ Thu May 19 12:20:35 2016: Adding TAGGED_ITEM table... ............ Thu May 19 12:20:46 2016: Adding version and last_purge_at columns to ZIMBRA.MAILBOX table... Thu May 19 12:20:47 2016: Adding/Modifying columns in mail_item, mail_item_dumpster, revision, revision_dumpster tables... ............ ............ ............ ............ Thu May 19 12:22:09 2016: Dropping IM tables... Thu May 19 12:22:11 2016: Verified schema version 65. Thu May 19 12:22:11 2016: Updating DB schema version from 65 to 90. Running /opt/zimbra/libexec/scripts/migrate20120410-BlobLocator.pl Thu May 19 12:22:14 2016: Verified schema version 90. Thu May 19 12:24:22 2016: Verified schema version 90. Thu May 19 12:24:22 2016: Updating DB schema version from 90 to 91. Running /opt/zimbra/libexec/scripts/migrate20121009-VolumeBlobs.pl Thu May 19 12:24:26 2016: Verified schema version 91. Thu May 19 12:24:28 2016: Verified schema version 91. Thu May 19 12:24:28 2016: Updating DB schema version from 91 to 92. Stopping mysql...done. Updating from 7.2.7_GA Updating from 7.2.8_GA Updating from 8.0.0_BETA1 Adding dynamic group configuration Stopping ldap...done. Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...not running. Starting ldap...done. Stopping ldap...done. Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...not running. Starting ldap...done. Updating from 8.0.0_BETA2 Starting mysql...done. Stopping mysql...done. Updating from 8.0.0_BETA3 Updating from 8.0.0_BETA4 Stopping ldap...done. Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...not running. Starting ldap...done. Stopping ldap...done. Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...not running. Starting ldap...done. Stopping ldap...done. Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...not running. Starting ldap...done. Stopping ldap...done. Checking ldap status...not running. Running zmldapapplyldif...done. Checking ldap status...not running. Starting ldap...done. Updating from 8.0.0_BETA5 Updating from 8.0.0_GA Updating from 8.0.1_GA Updating from 8.0.2_GA Updating from 8.0.3_GA Updating from 8.0.4_GA Updating from 8.0.5_GA Updating from 8.0.6_GA Updating from 8.0.7_GA Updating from 8.0.8_GA Updating from 8.0.9_GA Updating global config and COS's with attributes introduced after 7.2.6_GA...done. Stopping ldap...done. Upgrade complete. [...] # do-release-upgrade # apt-get install libperl5.14 unzip # cd zcs-NETWORK-8.6.0_GA_1153.UBUNTU12_64.20141215195643 # ./install.sh -s --skip-activation-check [...] Do you want to verify message store database integrity? [Y] No [...] Software Installation complete! # ./install.sh [...] ZCS upgrade from 8.6.0 to 8.6.0 will be performed. [...] [...] Do you want to verify message store database integrity? [Y] Yes [...] Updating from 8.5.0_BETA1 Updating from 8.5.0_BETA2 Updating from 8.5.0_BETA3 Updating from 8.5.0_GA Updating from 8.5.1_GA Updating from 8.6.0_BETA1 Updating from 8.6.0_BETA2 Updating from 8.6.0_GA Updating global config and COS's with attributes introduced after 8.0.9_GA...done. [...] # do-release-upgrade # apt install libperl5.18 # cd zcs-NETWORK-8.6.0_GA_1153.UBUNTU14_64.20141215151218 # ./install.sh -s --skip-activation-check [...] Do you want to verify message store database integrity? [Y] No [...] # ./install.sh [...] Do you want to verify message store database integrity? [Y] Yes [...] # /opt/zimbra/libexec/zmfixperms # reboot ~~~ ### Migration de données En dehors des sauvegardes (pour des versions de Zimbra identiques) et des mises à jour majeures, il existe des outils plus ou fonctionnels pour migrer des données : * l'outil zmztozmig : attention, pas mal de choses ne sont pas conservées, comme les préférences utilisateur, les items partagés et parfois une partie des données :( voir ~~~ [INFO|main:1| 05/18/2016 03:29:05]: ****************SUMMARY************************** [INFO|main:1| 05/18/2016 03:29:05]: Total Accounts processed : 12 [INFO|main:1| 05/18/2016 03:29:05]: Successfull Accounts : 12 [INFO|main:1| 05/18/2016 03:29:05]: Failed accounts : 0 [INFO|main:1| 05/18/2016 03:29:05]: Total Migration Time(seconds) : 2791.538 [INFO|main:1| 05/18/2016 03:29:05]: ************************************************* ~~~ * l'outil _zmmailbox getRestURL/postRestURL_ : zmmailbox -z -m ACCOUNT getRestURL "/?fmt=tgz" > /tmp/ACCOUNT.tgz voir * requête sur l'interface REST directement : voir Exemples : ~~~ $ wget --no-check-certificate https://USER:PASS@zimbra.example.com/service/home/USER/calendar?fmt=ics $ wget --no-check-certificate https://USER:PASS@zimbra.example.com/service/home/USER/contacts?fmt=csv $ wget --no-check-certificate https://USER:PASS@zimbra.example.com/service/home/USER/contacts?fmt=vcf ~~~ et l'on peut réinjecter les données de façon similaire. ## FAQ ### Il manque des menus dans l'interface d'admin C'est probablement que les zimlets par défaut ne sont pas installés. Vérifier avec la commande `zmzimletctl listZimlets`. Si aucun zimlets n'est présent on les installera à la main (en théorie ça devrait être installé automatiquement…) : ~~~ $ cd /opt/zimbra/zimlets $ for i in *.zip; do zmzimletctl deploy $i; done$ $ cd ../zimlets-network/ $ for i in *.zip; do zmzimletctl deploy $i; done ~~~ ### Failles de sécurité Il est important de mettre à jour régulièrement Zimbra. Il y a notamment _des remote exploits_ qui permettent à n'importe qui de prendre la main sur votre Zimbra si vous n'êtes pas à jour ! Voir Citons notamment la faille de décembre 2013 décrite sur qui permet d'avoir accès au localconfig.xml contenant plusieurs mots de passe critiques via : ### Erreurs Java SSL Java est strict avec le SSL... difficile d'ignorer les erreurs. En cas de certificat expiré, chaîne de certification invalide (_unable to find valid certification path to requested target_), Java va vous jeter. Vous devez donc avoir un certificat valide, et une chaîne de certification correcte (en ajoutant manuellement les certificats CA si besoin, voir [HowtoZimbra#Gestiondescertificats]() ### GAL LDAP externe cassée Si vous n'avez plus de GAL via LDAP sur votre smartphone et que vous obtenez "ldap search failure" lors d'une recherche dans la GAL via l'interface web, la solution (à confirmer) est d'importer votre certificat dans le keytool : ~~~ # openssl s_client -connect ldap.example.com:636 > EXTERNAL-LDAP-CERT-FILE # /opt/zimbra/java/bin/keytool -import -alias EXTERNAL-LDAP -keystore /opt/zimbra/java/jre/lib/security/cacerts -storepass changeit -file /tmp/EXTERNAL-LDAP-CERT-FILE Certificate was added to keystore # /etc/init.d/zimbra stop # /etc/init.d/zimbra start ~~~ ### Purge d'une boîte mail Par exemple de la boîte d'admin : ~~~ $ zmmailbox -z -m admin@z.example.com emptyFolder /Inbox ~~~ ### Erreur ssl_error_weak_server_ephemeral_dh_key sous Firefox/Thunderbird Il faut désactiver certains ciphers : ~~~ $ zmprov mcf +zimbraSSLExcludeCipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA $ zmprov mcf +zimbraSSLExcludeCipherSuites TLS_DHE_RSA_WITH_AES_256_CBC_SHA $ zmprov mcf +zimbraSSLExcludeCipherSuites SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA $ zmmailboxdctl restart Stopping mailboxd...done. Starting mailboxd...done. ~~~ Voir ### Installation de nouveaux modules Zimbra Pour ajouter de nouveaux modules (par exemple, certains modules sont nécessaires **avant** de faire une upgrade, notamment *zimbra-proxy* et *zimbra-memcached* doivent être installés avant d'upgrader en Zimbra 8.8), il faut ré-exécuter le script `install.sh` original et choisir d'installer ces nouveaux modules. ### Quotas d'envois de courriels Il faut de prime abord configurer cpolicyd: https://wiki.zimbra.com/wiki/Cluebringer_Policy_Daemon Par la suite il faut définir un "policy" qui correspond aux comptes à qui s’applique le quota, déclarer la nature du quota et puis préciser les limites du quota.