Introduzione
L'ottimizzazione dell'infrastruttura ufficio e il deployment di nuovi posti di lavoro rappresentano una sfida seria per le aziende di ogni tipo e dimensione. La soluzione ideale per un nuovo progetto è l'affitto delle risorse nel cloud e l'acquisto di licenze che possono essere utilizzate sia dal fornitore che nel proprio data center. Una delle soluzioni per questo scenario è , che consente di creare una piattaforma per la collaborazione e le comunicazioni aziendali dell'impresa sia in ambiente cloud che sulla propria infrastruttura.

La soluzione è progettata per uffici di qualsiasi dimensione e presenta due principali scenari di distribuzione: con fino a 3000 caselle di posta e senza elevate esigenze di tolleranza ai guasti, si può utilizzare l'installazione in modalità single-server, mentre l'installazione multi-server supporta un funzionamento affidabile e reattivo per decine e centinaia di migliaia di caselle di posta. In tutti i casi, l'utente ha accesso a email, documenti e messaggi tramite un'unica interfaccia web dal proprio posto di lavoro con qualsiasi SO, senza dover installare e configurare software aggiuntivo, o tramite applicazioni mobili per iOS e Android. È possibile utilizzare i client familiari Outlook e Thunderbird.
Per la distribuzione del progetto, il partner Zextras — ha scelto Yandex.Cloud, poiché la sua architettura è simile a quella di AWS e supporta lo storage compatibile con S3, il che consente di ridurre i costi di archiviazione di grandi volumi di email, messaggi e documenti e migliora la tolleranza ai guasti della soluzione.
Nell'ambiente Yandex.Cloud, per l'installazione single-server si utilizzano gli strumenti di base per la gestione delle macchine virtuali e le funzionalità per la gestione delle reti virtuali . Per l'installazione multi-server, oltre ai mezzi specificati, è necessario utilizzare tecnologie , se necessario (a seconda della scala del sistema) – anche , e bilanciatori di carico .
Storage oggetti compatibile S3 può essere utilizzato in entrambe le varianti di installazione ed è anche collegabile a sistemi distribuiti on-premise per una gestione economica e resistente ai guasti dei dati del server di posta in Yandex.Cloud.
Per un'installazione su server singolo, a seconda del numero di utenti e/o caselle di posta, sono necessari: per il server principale 4-12 vCPU, 8-64 GB vRAM (i valori specifici di vCPU e vRAM dipendono dal numero di caselle di posta e dal carico effettivo), almeno 80 GB di spazio su disco per il sistema operativo e le applicazioni, oltre a ulteriore spazio su disco per l'archiviazione delle email, degli indici, dei log, ecc., che dipende dal numero e dalla dimensione media delle caselle di posta e che può variare dinamicamente durante l'uso del sistema; per i server ausiliari Docs: 2-4 vCPU, 2-16 GB vRAM, 16 GB di spazio su disco (i valori specifici delle risorse e il numero di server dipendono dal carico effettivo); potrebbe anche essere necessario un server TURN/STUN (la necessità come server separato e le risorse dipendono dal carico effettivo). Per le installazioni su più server, il numero e la destinazione delle macchine virtuali di ruolo e le risorse assegnate sono definiti individualmente in base alle esigenze dell'utente.
Obiettivo dell'articolo
Descrizione del deployment nel contesto di Yandex.Cloud dei prodotti Zextras Suite basati sul server di posta Zimbra in configurazione single-server. L'installazione ottenuta può essere utilizzata in ambiente produttivo (gli utenti esperti possono effettuare le necessarie configurazioni e aggiungere risorse).
Il sistema Zextras Suite/Zimbra comprende:
- Zimbra — email aziendale con possibilità di condividere caselle di posta, calendari e rubriche (elenco contatti).
- Zextras Docs — pacchetto office integrato basato su LibreOffice online per la creazione e collaborazione su documenti, fogli di calcolo e presentazioni.
- Zextras Drive – archiviazione file personale che consente di modificare, conservare e condividere file e cartelle con altri utenti.
- Zextras Team – messaggero con supporto per videochiamate e conferenze audio. Disponibile in versione Team Basic, che consente solo comunicazioni 1:1, e Team Pro, che supporta conferenze multiautore, canali, condivisione dello schermo, scambio di file e altre funzionalità.
- Zextras Mobile – supporto per dispositivi mobili tramite Exchange ActiveSync per sincronizzare la posta con dispositivi mobili con funzionalità di gestione MDM (Mobile Device Management). Consente l'utilizzo di Microsoft Outlook come client di posta.
- Zextras Admin – implementazione dell'amministrazione multi-tenant del sistema con delega degli amministratori per gestire gruppi di clienti e classi di servizi.
- Zextras Backup - backup e ripristino dei dati in tempo reale e completo
- Zextras Powerstore — archiviazione gerarchica degli oggetti del sistema di posta con supporto per classi di elaborazione dei dati, con la possibilità di memorizzare i dati localmente o in archivi cloud con architettura S3, inclusa Yandex Object Storage.
Al termine dell'installazione, l'utente riceve un sistema funzionante nell'ambiente Yandex.Cloud.
Condizioni e limitazioni
- Non viene descritta l'allocazione dello spazio disco per le caselle di posta, gli indici e altri tipi di dati, poiché Zextras Powerstore supporta vari tipi di archiviazione. Il tipo e la dimensione delle archiviazioni dipendono dalle esigenze e dai parametri del sistema. Se necessario, ciò può essere fatto successivamente durante il processo di migrazione dell'installazione descritta in ambiente di produzione.
- Per semplificare l'installazione, non si considera l'uso di un server DNS gestito dall'amministratore per la risoluzione di nomi di dominio interni (non pubblici) e si utilizza il server DNS standard di Yandex.Cloud. In un ambiente di produzione, si raccomanda di utilizzare un server DNS che è già presente nell'infrastruttura aziendale.
- Si suppone che venga utilizzato un account in Yandex.Cloud con le impostazioni predefinite (in particolare, accedendo alla 'Console' del servizio esiste solo un catalogo nella lista 'Cloud disponibili' chiamato default). Gli utenti esperti nell'utilizzo di Yandex.Cloud possono, a loro discrezione, creare un catalogo separato per l'ambiente di test o utilizzare uno esistente.
- L'utente deve avere una zona DNS pubblica, a cui deve avere accesso amministrativo.
- L'utente deve avere accesso alla directory nella «Console» di Yandex.Cloud con almeno il ruolo di «editor» (il «Proprietario del cloud» ha tutti i diritti necessari per impostazione predefinita; per concedere accesso ad altri utenti al cloud, ci sono guide: , , )
- Questo articolo non descrive l'installazione di certificati X.509 personalizzati utilizzati per proteggere le comunicazioni di rete tramite meccanismi TLS. Al termine dell'installazione verranno utilizzati certificati autofirmati, permettendo l'accesso al sistema installato tramite browser. In genere, questi mostrano un avviso sulla mancanza di un certificato verificabile da parte del server, ma consentono di continuare l'operazione. Prima di installare certificati verificabili dai dispositivi Client (firmati da enti di certificazione pubblici e/o aziendali), le applicazioni per dispositivi mobili potrebbero non funzionare con il sistema installato. Pertanto, l'installazione di detti certificati in un ambiente di produzione è necessaria e avviene dopo il completamento dei test in conformità alle politiche aziendali di sicurezza.
Descrizione del processo di installazione del sistema Zextras/Zimbra nella variante "single-server"
1. Preparazione preliminare
Prima di iniziare l'installazione è necessario garantire:
a) Modifiche alla zona DNS pubblica (creazione di un record A per il server Zimbra e di un record MX per il dominio email gestito).
b) Configurazione dell'infrastruttura di rete virtuale in Yandex.Cloud.
Tuttavia, dopo aver apportato modifiche alla zona DNS, è necessario del tempo affinché queste modifiche si propaghino; d'altra parte, non è possibile creare un record A senza conoscere l'indirizzo IP ad esso associato.
Pertanto, le azioni vengono eseguite nella seguente sequenza:
1. Riservare un indirizzo IP pubblico in Yandex.Cloud
1.1 Nella «Console di Yandex.Cloud» (se necessario selezionando il catalogo in «cloud disponibili»), accedere alla sezione Virtual Private Cloud, sotto-sezione Indirizzi IP, quindi fare clic sul pulsante «Riserva indirizzo», scegliere la zona di disponibilità preferita (oppure accettare il valore suggerito; questa zona di disponibilità dovrà essere utilizzata in tutte le azioni descritte successivamente in Yandex.Cloud, se nei relativi moduli è possibile selezionare la zona di disponibilità), nella finestra di dialogo che si apre, se si desidera, ma non è obbligatorio, selezionare l'opzione «Protezione DDoS», e fare clic sul pulsante «Riserva» (vedi anche ).

Dopo la chiusura del dialogo, verrà reso disponibile un indirizzo IP statico dedicato dal sistema, che può essere copiato e utilizzato nel passaggio successivo.

1.2 Nella zona DNS 'diretta', creare un record A per il server Zimbra, puntando all'indirizzo IP dedicato precedentemente, un record A per il server TURN, puntando allo stesso indirizzo IP, e un record MX per il dominio e-mail gestito. Nel nostro esempio, questi saranno mail.testmail.svzcloud.ru (server Zimbra), turn.testmail.svzcloud.ru (server TURN) e testmail.svzcloud.ru (dominio e-mail) rispettivamente.
1.3 In Yandex.Cloud, nella zona di disponibilità scelta per la subnet che sarà utilizzata per il dispiegamento delle macchine virtuali, abilitare NAT su Internet.
Per far ciò, nella sezione Virtual Private Cloud, sotto-sezione 'Reti Cloud', selezionare la rete cloud corrispondente (di default è disponibile solo la rete default), scegliere la zona di disponibilità appropriata e nelle sue impostazioni selezionare l'opzione 'Abilita NAT su Internet'.

Lo stato verrà aggiornato nell'elenco delle subnet:

Per maggiori dettagli, consultare la documentazione: e .
2. Creazione di macchine virtuali
2.1. Creazione di una macchina virtuale per Zimbra
Procedura da seguire:
2.1.1 Nel 'Console di Yandex.Cloud', vai alla sezione Compute Cloud, sotto-sezione 'Macchine virtuali', fai clic sul pulsante 'Crea VM' (per ulteriori dettagli sulla creazione di VM, vedere ).

2.1.2 Lì è necessario specificare:
- Nome – a scelta (in base al formato supportato da Yandex.Cloud)
- Zona di disponibilità – deve corrispondere a quella precedentemente scelta per la rete virtuale.
- In 'Immagini pubbliche' selezionare Ubuntu 18.04 lts
- Per i dischi, impostare il disco di avvio con una dimensione di almeno 80 GB. Per scopi di test, è sufficiente il tipo HDD (e anche per un utilizzo produttivo a condizione che alcuni tipi di dati siano trasferiti su dischi di tipo SSD). Se necessario, è possibile aggiungere dischi aggiuntivi dopo la creazione della VM.
In 'Risorse di calcolo' impostare:
- vCPU: almeno 4.
- Quota garantita di vCPU: durante l'esecuzione delle azioni descritte nell'articolo, almeno il 50%; dopo il completamento dell'installazione, se necessario, sarà possibile ridurre.
- RAM: si raccomandano 8 GB.
- Sottorete: scegliere la sottorete per la quale, durante la fase di preparazione, è stata abilitata la NAT per Internet.
- Indirizzo pubblico: selezionare dall'elenco un indirizzo IP precedentemente utilizzato per creare un record A nel DNS.
- Utente: a propria discrezione, ma diverso dall'utente root e dagli account di sistema di Linux.
- È necessario impostare una chiave SSH pubblica (aperta).
→
Vedi anche Allegato 1. Creazione di chiavi SSH in openssh e putty e conversione delle chiavi da formato putty a openssh.
2.1.3 Al termine della configurazione, fare clic su "Crea VM".
2.2. Creazione di una macchina virtuale per Zextras Docs
Procedura da seguire:
2.2.1 Nel 'Console di Yandex.Cloud', vai alla sezione Compute Cloud, sotto-sezione 'Macchine virtuali', fai clic sul pulsante 'Crea VM' (per ulteriori dettagli sulla creazione di VM, vedere ).

2.2.2 Lì è necessario specificare:
- Nome – a scelta (in base al formato supportato da Yandex.Cloud)
- Zona di disponibilità – deve corrispondere a quella precedentemente scelta per la rete virtuale.
- In 'Immagini pubbliche' selezionare Ubuntu 18.04 lts
- Per i dischi, impostare il disco di avvio con una dimensione di almeno 80 GB. Per scopi di test, è sufficiente il tipo HDD (e anche per un utilizzo produttivo a condizione che alcuni tipi di dati siano trasferiti su dischi di tipo SSD). Se necessario, è possibile aggiungere dischi aggiuntivi dopo la creazione della VM.
In 'Risorse di calcolo' impostare:
- vCPU: almeno 2.
- Quota garantita di vCPU: durante l'esecuzione delle azioni descritte nell'articolo, almeno il 50%; dopo il completamento dell'installazione, se necessario, sarà possibile ridurre.
- RAM: almeno 2 GB.
- Sottorete: scegliere la sottorete per la quale, durante la fase di preparazione, è stata abilitata la NAT per Internet.
- Indirizzo pubblico: senza indirizzo (questo server non necessita di accesso da Internet, solo accesso in uscita da questo server a Internet, garantito dall'opzione "NAT a Internet" della subnet utilizzata).
- Utente: a propria discrezione, ma diverso dall'utente root e dagli account di sistema di Linux.
- È necessario impostare una chiave SSH pubblica (aperta), è possibile utilizzare la stessa chiave del server Zimbra, oppure generare una coppia di chiavi separata, poiché la chiave privata per il server Zextras Docs dovrà essere collocata nel disco del server Zimbra.
Vedi anche Allegato 1. Creazione di chiavi SSH in openssh e putty e conversione delle chiavi da formato putty a openssh.
2.2.3 Al termine della configurazione, fare clic su "Crea VM".
2.3 Le macchine virtuali create saranno disponibili nell'elenco delle macchine virtuali, dove verranno mostrati, tra l'altro, il loro stato e gli indirizzi IP utilizzati, sia pubblici che interni. Le informazioni sugli indirizzi IP saranno necessarie nei passi successivi dell'installazione.

3. Preparazione del server Zimbra per l'installazione
3.1 Installazione degli aggiornamenti
È necessario accedere al server Zimbra tramite il suo indirizzo IP pubblico utilizzando il client ssh da voi preferito, con la chiave privata ssh e utilizzando il nome utente specificato durante la creazione della macchina virtuale.
Dopo aver effettuato l'accesso, eseguire i comandi:
sudo apt update
sudo apt upgrade(quando eseguite l'ultimo comando, rispondete “y” alla domanda se siete sicuri di voler installare l'elenco degli aggiornamenti proposto)
Dopo l'installazione degli aggiornamenti, è possibile (ma non obbligatorio) eseguire il comando:
sudo apt autoremoveE alla fine di questo passaggio eseguire il comando
sudo shutdown –r now3.2 Installazione di applicazioni
È necessario installare il client NTP per la sincronizzazione dell'ora di sistema e l'applicazione screen con il seguente comando:
sudo apt install ntp screen(quando eseguite l'ultimo comando, rispondete “y” alla domanda se siete sicuri di voler installare l'elenco dei pacchetti proposto)
È possibile installare anche utilità aggiuntive per facilitare la gestione del sistema. Ad esempio, Midnight Commander può essere installato con il comando:
sudo apt install mc3.3. Modifica della configurazione di sistema
3.3.1 Nel file /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg modificare il valore del parametro manage_etc_hosts c true con false.
Nota: l'editor per modificare questo file deve essere eseguito con i diritti dell'utente root, ad esempio, “sudo vi /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg” oppure, se il pacchetto mc è installato, si può utilizzare il comando «sudo mcedit /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg»
3.3.2 Modificare /etc/hosts come segue, sostituendo nella riga che definisce il FQDN dell'host, l'indirizzo 127.0.0.1 con l'indirizzo IP interno di questo server, e il nome – da un nome completo nella zona .internal a un nome pubblico del server, come indicato in precedenza nel record A della zona DNS, e modificando di conseguenza il nome breve dell'host (se diverso dal nome breve dell'host del record A del DNS pubblico).
Ad esempio, nel nostro caso il file hosts era così composto:

Dopo la modifica, apparve così:

Nota: l'editor per modificare questo file deve essere eseguito con i diritti dell'utente root, ad esempio, “sudo vi /etc/hosts” oppure, se il pacchetto mc è installato, si può utilizzare il comando «sudo mcedit /etc/hosts»
3.4 Impostare la password dell'utente
Questo è necessario poiché in seguito verrà configurato il firewall e, in caso di problemi, se l'utente possiede la password, sarà possibile accedere alla macchina virtuale utilizzando la console seriale dalla console web di Yandex.Cloud per disattivare il firewall e/o correggere l'errore. Quando si crea una macchina virtuale, l'utente non ha una password, pertanto l'accesso è possibile solo tramite SSH utilizzando l'autenticazione con chiavi.
Per impostare una password è necessario eseguire il comando:
sudo passwdAd esempio, nel nostro caso il comando sarà “sudo passwd user”.
4. Installazione di Zimbra e Zextras Suite
4.1. Download dei pacchetti di Zimbra e Zextras Suite
4.1.1 Download del pacchetto di Zimbra
Procedura da seguire:
1) Accedi al browser all'URL e compila il modulo. Ti verrà inviata un'email con i link per scaricare Zimbra per diversi sistemi operativi.
2) Seleziona la versione attuale del pacchetto per Ubuntu 18.04 LTS e copia il link
3) Scarica il pacchetto di Zimbra sul server Zimbra e decomprimilo. A tal fine, nella sessione SSH del server Zimbra esegui i comandi
cd ~
mkdir zimbra
cd zimbra
wget
tar –zxf(nel nostro esempio è “tar –zxf zcs-9.0.0_OSE_UBUNTU18_latest-zextras.tgz”)
4.1.2 Download del pacchetto Zextras Suite
Procedura da seguire:
1) Accedi al browser all'URL
2) Compila il modulo inserendo i dati richiesti e premi il pulsante “DOWNLOAD NOW”

3) Si aprirà la pagina di download

Sulla quale ci sono due URL di interesse: uno nella parte superiore della pagina per Zextras Suite, che ci servirà ora, e l'altro in fondo nel blocco Docs Server per Ubuntu 18.04 LTS, che ci servirà più tardi per installare Zextras Docs sulla VM per Docs.
4) Scarica il pacchetto Zextras Suite sul server Zimbra e decomprimilo. Per fare ciò, durante la sessione SSH sul server zimbra, esegui i comandi
cd ~
mkdir zimbra
cd zimbra(se la directory corrente non è cambiata dopo il passo precedente – i comandi sopra possono non essere eseguiti)
wget http://download.zextras.com/zextras_suite-latest.tgz
tar –zxf zextras_suite-latest.tgz4.2. Installazione di Zimbra
Sequenza di azioni
1) Passa alla directory in cui i file sono stati estratti nel passo 4.1.1 (puoi visualizzarli con il comando ls, trovandoti nella directory ~/zimbra).
Nel nostro esempio sarà:
cd ~/zimbra/zcs-9.0.0_OSE_UBUNTU18_latest-zextras/zimbra-installer2) Avvia l'installazione di Zimbra con il comando
sudo ./install.sh3) Rispondi alle domande dell'installatore
Per rispondere alle domande dell'installatore, puoi rispondere “y” (corrisponde a «sì»), “n” (corrisponde a «no») oppure lasciare la proposta dell'installatore invariata (egli offre opzioni, visualizzandole tra parentesi quadre, ad esempio, “[Y]” o “[N]”).
Sei d'accordo con i termini del contratto di licenza del software? – sì.
Usare il repository dei pacchetti di Zimbra? – di default (sì).
“Installare zimbra-ldap?”, “Installare zimbra-logger?”, “Installare zimbra-mta?” – di default (sì).
Installare zimbra-dnscache? – no (il sistema operativo include già un server DNS caching di default, quindi ci sarà conflitto con questo pacchetto a causa delle porte utilizzate).
Installare zimbra-snmp? – facoltativo, puoi mantenere l'opzione di default (sì) oppure non installare questo pacchetto. Nel nostro esempio è stata mantenuta l'opzione di default.
“Installare zimbra-store?”, “Installare zimbra-apache?”, “Installare zimbra-spell?”, “Installare zimbra-memcached?”, “Installare zimbra-proxy?” – di default (sì).
Installare zimbra-snmp? – no (il pacchetto non è effettivamente supportato ed è funzionalmente sostituito da Zextras Drive).
Installare zimbra-imapd? – di default (no).
Installare zimbra-chat? – no (sostituito funzionalmente da Zextras Team).
Dopo di che l'installatore chiederà se si desidera continuare con l'installazione.

Rispondiamo «sì» se è possibile continuare, altrimenti rispondiamo «no» e avremo la possibilità di modificare le risposte date a domande precedenti.
Dopo aver accettato di continuare, l'installatore procederà con l'installazione dei pacchetti.
4.) Rispondiamo alle domande del configuratore iniziale
4.1) Poiché nel nostro esempio ci sono differenze tra il nome DNS del server di posta (nome della registrazione A) e il nome del dominio di posta gestito (nome della registrazione MX), il configuratore mostra un avviso e propone di inserire il nome del dominio di posta gestito. Accettiamo la sua proposta e inseriamo il nome della registrazione MX. Nel nostro esempio appare come segue:

Nota: è possibile impostare un dominio di posta gestito diverso dal nome del server anche se per il nome del server esiste un record MX omonimo.
4.2) Il configuratore mostra il menu principale.

Dobbiamo impostare la password dell'amministratore Zimbra (voce di menu 6 nel nostro esempio), senza la quale non è possibile proseguire con l'installazione, e modificare l'impostazione di zimbra-proxy (voce di menu 8 nel nostro esempio; questa impostazione può essere cambiata anche dopo l'installazione se necessario).
4.3) Modifica delle impostazioni di zimbra-store
Nella richiesta del configuratore inseriamo il numero della voce di menu e premiamo Invio. Accediamo al menu di configurazione dello storage:

dove nel prompt del configuratore inseriamo il numero della voce di menu Admin Password (nel nostro esempio 4), premiamo Invio, dopo di che il configuratore offre una password generata casualmente, alla quale possiamo acconsentire (ricordandola) oppure inserire la nostra. In entrambi i casi, alla fine dobbiamo premere Invio, dopo di che dal punto «Admin Password» verrà rimosso il segno di attesa per l'input dell'utente:

Torniamo al menu precedente (acconsentendo alla proposta del configuratore).
4.4) Modifica delle impostazioni di zimbra-proxy
Analogamente al passo precedente, nel menu principale selezioniamo il numero della voce «zimbra-proxy» e lo inseriamo nel prompt del configuratore.

Nel menu Proxy configuration aperto, selezioniamo il numero della voce «Proxy server mode» e lo inseriamo nel prompt del configuratore.

Il configuratore ci chiederà di scegliere una delle modalità, inseriamo nel suo prompt “redirect” e premiamo Invio.
Dopo di che torniamo al menu principale (acconsentendo alla proposta del configuratore).
4.5) Avvio della configurazione
Per avviare la configurazione, inseriamo «a» nel prompt del configuratore. Successivamente, verrà chiesto se si desidera salvare la configurazione inserita in un file (che può essere utilizzato per una reinstallazione) – è possibile accettare l'opzione predefinita, e se il salvataggio verrà effettuato, verrà chiesto in quale file salvare la configurazione (è anche possibile accettare l'opzione predefinita o inserire un proprio nome di file).

A questo punto è ancora possibile rinunciare a continuare e apportare modifiche alla configurazione, accettando la risposta predefinita alla domanda «Il sistema sarà modificato – continuare?».
Per iniziare l'installazione, è necessario rispondere «Yes» a questa domanda, dopodiché il configuratore applicherà per un certo tempo le impostazioni precedentemente inserite.
4.6) Completamento dell'installazione di Zimbra
Prima di completare, l'installer chiederà se notificare Zimbra dell'installazione effettuata. È possibile accettare l'opzione predefinita oppure rifiutare (rispondendo «No») di inviare una notifica.
Dopo di che, l'installer continuerà a eseguire le operazioni finali per un po' e mostrerà un avviso al termine della configurazione del sistema, offrendo di premere un tasto per uscire dall'installer.

4.3. Installazione di Zextras Suite
Ulteriori informazioni sull'installazione di Zextras Suite sono disponibili qui. .
Procedura da seguire:
1) Passa alla directory in cui sono stati estratti i file nel passaggio 4.1.2 (puoi visualizzarli con il comando ls, mentre ti trovi nella directory ~/zimbra).
Nel nostro esempio sarà:
cd ~/zimbra/zextras_suite2) Avvia l'installazione di Zextras Suite con il comando
sudo ./install.sh all3) Rispondi alle domande dell'installatore
Il funzionamento dell'installer è simile a quello dell'installer di Zimbra, ad eccezione dell'assenza di un configuratore. Puoi rispondere alle domande dell'installer con 'y' (corrisponde a 'sì'), 'n' (corrisponde a 'no') o lasciare l'offerta dell'installer invariata (offrendo opzioni, mostrandole tra parentesi quadre, ad esempio, '[Y]' o '[N]'.
Per avviare il processo di installazione, devi rispondere 'sì' alle seguenti domande in successione:
Sei d'accordo con i termini del contratto di licenza del software?
Desideri che Zextras Suite scarichi, installi e aggiorni automaticamente la ZAL Library?
Dopo di che, verrà visualizzato un messaggio che offre di premere Invio per continuare:

Dopo aver premuto Enter, inizierà il processo di installazione, talvolta interrotto da domande a cui risponderemo con un consenso alle proposte predefinite ("sì"), ovvero:
Zextras Suite Core sarà ora installato. Procedere?
Desideri fermare l'applicazione web Zimbra (cassetta postale)?
Il Zextras Suite Zimlet sarà ora installato. Procedere?
Prima dell'ultima parte dell'installazione verrà visualizzato un avviso sulla necessità di configurare il filtro DOS, con l'invito a premere Enter per continuare. Dopo aver premuto Enter inizia l'ultima parte dell'installazione, alla fine verrà visualizzato un avviso finale e il lavoro dell'installatore si concluderà.

4.4. Configurazione iniziale e determinazione dei parametri di configurazione LDAP
1) Tutte le azioni successive verranno eseguite come utente zimbra. Per fare ciò, è necessario eseguire il comando
sudo su - zimbra2) Modifichiamo la configurazione del filtro DOS con il comando
zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 1503) Per installare Zextras Docs è necessaria l'informazione su alcuni parametri di configurazione di Zimbra. A tal fine, puoi eseguire il comando:
zmlocalconfig –s | grep ldapNel nostro esempio, verranno visualizzate le seguenti informazioni:

Per il proseguimento dell'uso, saranno necessari ldap_url, zimbra_ldap_password (e zimbra_ldap_userdn, anche se l'installatore Zextras Docs di solito fornisce le giuste ipotesi per il nome utente LDAP).
4) Terminare la sessione come utente zimbra eseguendo il comando
logout
5. Preparazione del server Docs per l'installazione
5.1. Caricamento della chiave privata SSH sul server Zimbra e accesso al server Docs
È necessario posizionare sul server Zimbra la chiave privata della coppia di chiavi SSH, il cui pubblico è stato utilizzato al passo 2.2.2 p.2.2 durante la creazione della macchina virtuale Docs. Può essere caricato sul server tramite SSH (ad esempio, tramite sftp) o incollato tramite appunti (se supportato dal client SSH utilizzato e dall'ambiente di esecuzione).
Si presume che la chiave privata sia stata posizionata nel file ~/.ssh/docs.key e che l'utente utilizzato per accedere al server Zimbra sia il suo proprietario (se il caricamento/creazione di questo file è avvenuto sotto questo utente, è diventato automaticamente il suo proprietario).
È necessario eseguire una volta il comando:
chmod 600 ~/.ssh/docs.keyIn futuro, per accedere al server Docs, sarà necessario seguire la seguente sequenza di azioni:
1) Accedere al server Zimbra
2) Eseguire il comando
ssh -i ~/ .ssh / docs.key user@Dove il valore può essere trovato nella «Console di Yandex.Cloud», ad esempio, come mostrato nel punto 2.3.
5.2. Installazione degli aggiornamenti
Dopo essere entrati nel server Docs, eseguire i comandi in modo simile a quelli per il server Zimbra:
sudo apt update
sudo apt upgrade(quando eseguite l'ultimo comando, rispondete “y” alla domanda se siete sicuri di voler installare l'elenco degli aggiornamenti proposto)
Dopo l'installazione degli aggiornamenti, è possibile (ma non obbligatorio) eseguire il comando:
sudo apt autoremoveE alla fine di questo passaggio eseguire il comando
sudo shutdown –r now5.3. Installazione di applicazioni
È necessario installare il client NTP per la sincronizzazione dell'ora di sistema e l'applicazione screen, in modo simile a quanto fatto per il server Zimbra, utilizzando il seguente comando:
sudo apt install ntp screen(quando eseguite l'ultimo comando, rispondete “y” alla domanda se siete sicuri di voler installare l'elenco dei pacchetti proposto)
È possibile installare anche utilità aggiuntive per facilitare la gestione del sistema. Ad esempio, Midnight Commander può essere installato con il comando:
sudo apt install mc5.4. Modifica della configurazione di sistema
5.4.1. Nel file /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg, come per il server Zimbra, modificare il valore del parametro manage_etc_hosts da true a false.
Nota: l'editor per modificare questo file deve essere eseguito con i diritti dell'utente root, ad esempio, “sudo vi /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg” oppure, se il pacchetto mc è installato, si può utilizzare il comando «sudo mcedit /etc/cloud/cloud.cfg.d/95-yandex-cloud.cfg»
5.4.2. Modificare /etc/hosts aggiungendo il FQDN pubblico del server Zimbra, ma con l'indirizzo IP interno assegnato da Yandex.Cloud. Se c'è un server DNS interno gestito dall'amministratore, utilizzato dalle macchine virtuali (ad esempio, in un ambiente di produzione), in grado di risolvere il FQDN pubblico del server Zimbra con l'indirizzo IP interno quando si riceve una richiesta dalla rete interna (per le richieste da Internet, il FQDN del server Zimbra dovrebbe risolvere l'indirizzo IP pubblico, e il server TURN dovrebbe sempre risolvere l'indirizzo IP pubblico, anche quando si accede da indirizzi interni), questa operazione non è necessaria.
Ad esempio, nel nostro caso il file hosts era così composto:

Dopo la modifica, apparve così:

Nota: l'editor per modificare questo file deve essere eseguito con i diritti dell'utente root, ad esempio, “sudo vi /etc/hosts” oppure, se il pacchetto mc è installato, si può utilizzare il comando «sudo mcedit /etc/hosts»
6. Installazione di Zextras Docs
6.1. Accedi al server Docs
Le modalità di accesso al server Docs sono descritte al punto 5.1.
6.2. Download del pacchetto Zextras Docs
Procedura da seguire:
1) Dalla pagina da cui è stato scaricato il pacchetto Zextras Suite al punto 4.1.2, copiare l'URL per la build di Docs per Ubuntu 18.04 LTS (se non è stato copiato in precedenza).
2) Scarica il pacchetto Zextras Suite sul server Zimbra e decomprimilo. Per fare ciò, durante la sessione SSH sul server zimbra, esegui i comandi
cd ~
mkdir zimbra
cd zimbra
wget(nel nostro caso si esegue il comando «wget »)
tar –zxf(nel nostro caso si esegue il comando «tar –zxf zextras-docs-ubuntu18.tgz»)
6.3. Installazione di Zextras Docs
Per ulteriori informazioni sull'installazione e la configurazione di Zextras Docs, vedere .
Procedura da seguire:
1) Passa alla directory in cui i file sono stati estratti nel passo 4.1.1 (puoi visualizzarli con il comando ls, trovandoti nella directory ~/zimbra).
Nel nostro esempio sarà:
cd ~/zimbra/zextras-docs-installer2) Avviare l'installazione di Zextras Docs con il comando
sudo ./install.sh3) Rispondi alle domande dell'installatore
Per le domande dell'installatore, è possibile rispondere “y” (corrisponde a «sì»), “n” (corrisponde a «no») o lasciare l'opzione dell'installatore invariata (egli propone le opzioni, visualizzandole tra parentesi quadre, ad esempio, “[Y]” o “[N]”).
Il sistema verrà modificato, desidera procedere? – accettiamo l'opzione predefinita («sì»).
Dopo questo, inizierà l'installazione delle dipendenze: l'installatore mostrerà quali pacchetti desidera installare e chiederà conferma per la loro installazione. In tutti i casi, accettiamo le proposte predefinite.
Ad esempio, potrebbe chiedere «python2.7 non trovato. Vuoi installarlo?», «python-ldap non trovato. Vuoi installarlo?» e così via.
Dopo aver installato tutti i pacchetti necessari, l'installatore chiede il consenso per installare Zextras Docs:
Vuoi installare Zextras DOCS? – accettiamo l'opzione predefinita («sì»).
Dopo di che, ci sarà un periodo di installazione dei pacchetti, di Zextras Docs e si passerà alle domande del configuratore.
4) Rispondiamo alle domande del configuratore
Il configuratore chiede uno alla volta i parametri di configurazione, in risposta vengono inseriti i valori ottenuti al passo 3 nel punto 4.4. Ottimizzazione iniziale della configurazione e definizione dei parametri di configurazione LDAP.
Nel nostro esempio, le impostazioni sono le seguenti:

5) Completamento dell'installazione di Zextras Docs
Dopo aver risposto alle domande del configuratore, l'installatore completa la configurazione locale di Docs e registra il servizio installato sul server principale Zimbra, installato in precedenza.
Per un'installazione su un singolo server, di solito è sufficiente, ma in alcuni casi (se i documenti non si aprono in Docs nel client web nella scheda Drive) potrebbe essere necessario eseguire un'azione obbligatoria per l'installazione su più server: nel nostro esempio, sul server principale di Zimbra è necessario eseguire il comando come utente Zimbra. /opt/zimbra/libexec/zmproxyconfgen e zmproxyctl restart.
7. Configurazione iniziale di Zimbra e Zextras Suite (escluso Team)
7.1. Accesso iniziale alla console di amministrazione
Accedere tramite browser all'URL: https://:7071
Se desiderato, è possibile accedere al client web all'URL: https://
All'accesso, i browser mostrano un avviso di connessione non sicura a causa dell'impossibilità di verificare il certificato. È necessario informare il browser di accettare di proseguire verso il sito nonostante questo avviso. Questo è dovuto al fatto che dopo l'installazione viene utilizzato un certificato X.509 Autofirmato per le connessioni TLS, che può successivamente (in utilizzo produttivo – deve essere) sostituito con un certificato commerciali o un altro certificato riconosciuto dai browser utilizzati.
Nella forma di autenticazione, inserisci il nome utente nel formato admin@ e la password dell'amministratore Zimbra, impostata durante l'installazione del server Zimbra al passo 4.3 del punto 4.2.
Nel nostro esempio appare come segue:
Console dell'amministratore:

Web client:

Nota 1. Se non viene specificato il dominio email fornito durante l'accesso alla console dell'amministratore o al web client, gli utenti saranno autenticati nel dominio email creato durante l'installazione del server Zimbra. Dopo l'installazione, questo sarà l'unico dominio email esistente su questo server, ma durante l'operatività del sistema potrebbero essere aggiunti domini email aggiuntivi, e quindi la specifica del dominio nel nome utente avrà importanza.
Nota 2. Quando accedi al web client, il browser potrebbe chiedere il permesso di visualizzare le notifiche da questo sito. È necessario acconsentire a ricevere notifiche da questo sito.
Nota 3. Dopo l'accesso alla console di amministrazione, potrebbe apparire una notifica con messaggi per l'amministratore, solitamente un promemoria per configurare Zextras Backup e/o la necessità di acquistare una licenza Zextras prima della scadenza della licenza di prova impostata per impostazione predefinita. Queste azioni possono essere effettuate in un secondo momento, quindi i messaggi visualizzati al momento dell'accesso possono essere ignorati e/o contrassegnati come letti nel menu Zextras: Notifiche Zextras.

Nota 4. È importante sottolineare che nel monitor dello stato del server, lo stato del servizio Docs viene visualizzato come «non disponibile» anche se Docs funziona correttamente nel client web:

Questa è una caratteristica della versione di prova e può essere risolta solo dopo l'acquisto della licenza e il contatto con il supporto tecnico.
7.2. Distribuzione dei componenti di Zextras Suite
Nel menu Zextras: Core è necessario fare clic sul pulsante «Distribuisci» per tutti i zimlet che si prevede di utilizzare.

Durante la distribuzione dei zimlet viene visualizzata una finestra di dialogo con il risultato dell'operazione nel seguente formato:

Nel nostro esempio, viene effettuata l'installazione di tutti i moduli Zextras Suite, dopodiché il modulo Zextras: Core avrà il seguente aspetto:

7.3. Modifica delle impostazioni di accesso
7.3.1. Modifica delle impostazioni globali
Nel menu Impostazione: Impostazioni globali, sotto il sottomenu Proxy, modificare i seguenti parametri:
Modalità web proxy: redirect
Abilitare il proxy per la console di amministrazione: selezionare la casella.
Dopodiché, in alto a destra del modulo, fare clic su "Salva".
Nel nostro esempio, dopo le modifiche apportate, il modulo appare come segue:

7.3.2. Modifiche alle impostazioni del server principale di Zimbra
Nel menu Impostazione: Server: <nome del server principale di Zimbra>, sotto il sottomenu Proxy, modificare i seguenti parametri:
Modalità web proxy: fare clic sul pulsante "Ripristina ai valori predefiniti" (nel frattempo il valore stesso non cambierà, poiché era già stato impostato durante l'installazione). Abilitare il proxy per la console di amministrazione: verificare che la casella sia selezionata (il valore predefinito dovrebbe essere stato applicato; se non è stato applicato, si può fare clic sul pulsante "Ripristina ai valori predefiniti" e/o impostarlo manualmente). Dopodiché, in alto a destra del modulo, fare clic su "Salva".
Nel nostro esempio, dopo le modifiche apportate, il modulo appare come segue:

Nota: (potrebbe essere necessario un riavvio se l'accesso a questa porta non funziona)
7.4. Nuovo accesso alla console di amministrazione
Accedi alla console di amministrazione nel browser tramite l'URL: https://:9071
Utilizza questo URL per l'accesso in futuro
Nota: per un'installazione single-server, in genere è sufficiente la modifica effettuata nel passaggio precedente, ma in alcuni casi (se accedendo all'URL specificato non appare la pagina del server) potrebbe essere necessario eseguire un'azione richiesta per l'installazione multi-server – nel nostro esempio, sul server principale Zimbra sarà necessaria l'esecuzione dei comandi da parte dell'utente Zimbra /opt/zimbra/libexec/zmproxyconfgen e zmproxyctl restart.
7.5. Modifica del COS predefinito
Nel menu Configurazione: Classi di servizio, seleziona il COS con il nome "default".
Nel sottomenu "Funzionalità", deseleziona la casella per la funzione "Portfolio", quindi nell'angolo in alto a destra del modulo fai clic su "Salva".
Nel nostro esempio, dopo la configurazione, il modulo appare come segue:

Si consiglia inoltre di selezionare nel sottomenu Drive la casella per l'impostazione "Abilita condivisione di file e cartelle", quindi nell'angolo in alto a destra del modulo fai clic su "Salva".
Nel nostro esempio, dopo la configurazione, il modulo appare come segue:

Nell'ambiente di test, nella stessa classe di servizio, è possibile attivare le funzioni Team Pro, selezionando la casella corrispondente nel sottomenu Team; dopo ciò, il modulo di configurazione assumerà il seguente aspetto:

Con le funzioni Team Pro disattivate, gli utenti potranno accedere solo alle funzionalità Team Basic.
Si prega di notare che Zextras Team Pro è soggetto a licenza indipendentemente da Zextras Suite, consentendo di acquistarne una per un numero inferiore di caselle di posta rispetto a Zextras Suite; le funzioni Team Basic sono incluse nella licenza di Zextras Suite. Pertanto, nell'ambiente di produzione, potrebbe essere necessario creare una classe di servizio separata per gli utenti Team Pro, in cui saranno attivate le funzioni corrispondenti.
7.6. Configurazione del firewall
Necessario per il server Zimbra principale:
a) Consentire l'accesso da Internet alle porte ssh, http/https, imap/imaps, pop3/pop3s, smtp (porta principale e porte aggiuntive per l'uso da parte dei client di posta) e alla porta della console di amministrazione.
b) Consentire tutte le connessioni dalla rete interna (per la quale al punto 1.3 del passaggio 1 è stata attivata la NAT su Internet).
Per il server Zextras Docs non è necessario configurare il firewall, poiché non è accessibile da Internet.
A tal fine, è necessario seguire la seguente sequenza di azioni:
1) Accedere alla console testuale del server principale Zimbra. Durante l'accesso via SSH, è necessario eseguire il comando “screen” per evitare l'interruzione dell'esecuzione dei comandi a causa di temporanee perdite di connessione causate dalla modifica delle impostazioni del firewall.
2) Eseguire i comandi
sudo ufw allow 22,25,80,110,143,443,465,587,993,995,9071/tcp
sudo ufw allow from /
sudo ufw enableNel nostro esempio appare come segue:

7.7. Verifica dell'accesso al web client e alla console di amministrazione
Per controllare il funzionamento del firewall, è possibile accedere al browser tramite i seguenti URL
Console di amministrazione: https://:9071
Web client: http:// (verrà effettuato un reindirizzamento automatico a https://)
In questo caso, la console di amministrazione non dovrebbe aprirsi all'URL alternativo https://:7071.
Il web client nel nostro esempio appare come segue:

Nota. All'accesso al client web, il browser potrebbe richiedere il permesso di visualizzare le notifiche dal sito. È necessario fornire il consenso per ricevere notifiche da questo sito.
8. Garantire il funzionamento delle videoconferenze e delle audiochiamate in Zextras Team
8.1. Panoramica
L'esecuzione delle azioni descritte di seguito non è necessaria se tutti i client Zextras Team interagiscono tra loro senza l'uso di NAT (in questo caso, le interazioni con il server Zimbra possono avvenire utilizzando NAT, cioè è importante che non ci sia NAT proprio tra i client), o se viene utilizzato solo un messenger testuale.
Per garantire l'interazione dei client in modalità audio e videoconferenza:
a) È necessario installare o utilizzare un server TURN esistente.
b) Poiché il server TURN di solito ha anche la funzionalità di un server STUN, è consigliato utilizzarlo anche in questa veste (in alternativa, è possibile utilizzare server STUN pubblici, ma generalmente la sola funzionalità di STUN non è sufficiente).
In un ambiente produttivo, a causa dell'alta potenzialità di carico, è consigliabile ospitare il server TURN su una macchina virtuale separata. Per test o carichi leggeri, il server TURN può essere combinato con il server principale Zimbra.
Nel nostro esempio, consideriamo l'installazione del server TURN sul server principale Zimbra. L'installazione di TURN su un server separato è simile, con la differenza che i passaggi relativi all'installazione e configurazione del software TURN vengono eseguiti sul server TURN, mentre i passaggi per configurare il server Zimbra per utilizzare questo server sono eseguiti sul server principale Zimbra.
8.2. Installazione del server TURN
Accedendo preventivamente tramite SSH al server principale Zimbra, eseguire il comando
sudo apt install resiprocate-turn-server8.3. Configurazione del server TURN
Nota. L'editor per modificare tutti i file di configurazione specificati deve essere avviato con i privilegi dell'utente root, ad esempio, “sudo vi /etc/reTurn/reTurnServer.config” oppure, se il pacchetto mc è installato, si può utilizzare il comando «sudo mcedit /etc/reTurn/reTurnServer.config»
Creazione semplificata dell'utente
Per semplificare la creazione e il debug della connessione di test al server TURN, disabiliteremo l'uso delle password hashate nel database degli utenti del server TURN. In un ambiente di produzione, si raccomanda di utilizzare password hashate; in tal caso, la generazione degli hash delle password deve essere eseguita secondo le istruzioni contenute nei file /etc/reTurn/reTurnServer.config e /etc/reTurn/users.txt.
Procedura da seguire:
1) Modifica il file /etc/reTurn/reTurnServer.config
Cambia il valore del parametro «UserDatabaseHashedPasswords» da «true» a «false».
2) Modifica il file /etc/reTurn/users.txt
Definisci al suo interno il nome utente, la password, il realm (libero, non utilizzato durante la configurazione della connessione Zimbra) e imposta lo stato dell'account su “AUTHORIZED”.
Nel nostro esempio, il file inizialmente era così:

Dopo la modifica è diventato così:

3) Applicazione della configurazione
Eseguire il comando
sudo systemctl restart resiprocate-turn-server8.4. Impostazione del firewall per il server TURN
In questo passaggio vengono stabilite ulteriori regole del firewall necessarie per il funzionamento del server TURN. È necessario consentire l'accesso alla porta principale, su cui il server riceve le richieste, e all'intervallo dinamico di porte utilizzate dal server per gestire i flussi multimediali.
Le porte sono specificate nel file /etc/reTurn/reTurnServer.config, nel nostro caso sono:

e

Per impostare le regole del firewall, è necessario eseguire i comandi
sudo ufw allow 3478,49152:65535/udp
sudo ufw allow 3478,49152:65535/tcp8.5. Configurazione dell'uso del server TURN in Zimbra
Per la configurazione si utilizza il FQDN del server TURN, creato nel passo 1.2 punto 1, e che deve essere risolto dai server DNS con lo stesso indirizzo IP pubblico sia per le richieste da Internet che per quelle dagli indirizzi interni.
Visualizzare l'attuale configurazione della connessione "zxsuite team iceServer get", eseguita come utente zimbra.
Per maggiori dettagli sulla configurazione dell'uso del server TURN, vedere la sezione "Installazione di Zextras Team per utilizzare il server TURN" in .
Per la configurazione, è necessario eseguire i seguenti comandi sul server Zimbra:
sudo su - zimbra
zxsuite team iceServer add stun::3478?transport=udp
zxsuite team iceServer add turn::3478?transport=udp credential username
zxsuite team iceServer add stun::3478?transport=tcp
zxsuite team iceServer add turn::3478?transport=tcp credential username
zxsuite team iceServer add stun::3478
logoutCome <nome utente> e <password> si utilizzano i valori del nome utente e della password rispettivamente, definiti al passo 2 nel par. 8.3.
Nel nostro esempio appare come segue:

9. Abilitazione del passaggio della posta tramite il protocollo SMTP
Secondo il , Yandex.Cloud blocca sempre il traffico in uscita sulla porta TCP 25 verso Internet e verso le macchine virtuali Yandex Compute Cloud quando si accede tramite indirizzo IP pubblico. Questo non impedisce di verificare la ricezione della posta sul dominio di posta gestito, inviata da un altro server di posta, ma impedisce di inviare posta oltre il server Zimbra.
La documentazione indica che Yandex.Cloud può aprire la porta TCP 25 su richiesta al supporto, a condizione che si rispetti , e si riserva il diritto di bloccare nuovamente la porta in caso di violazione delle regole. Per aprire la porta, è necessario contattare il servizio di assistenza di Yandex.Cloud.
Applicazione
Creazione di chiavi SSH in openssh e putty e conversione delle chiavi dal formato putty in openssh
1. Creazione di coppie di chiavi per SSH
In Windows utilizzando putty: eseguire il comando puttygen.exe e premere il pulsante “Generate”
In Linux: eseguire il comando
ssh-keygen2. Conversione delle chiavi dal formato putty in openssh
In Windows:
Procedura da seguire:
- Eseguire il programma puttygen.exe.
- Carica la chiave privata in formato ppk utilizzando il menu File → Carica chiave privata.
- Inserisci il codice (passphrase) se richiesto per questa chiave.
- La chiave pubblica in formato OpenSSH è mostrata in puttygen con la dicitura «Chiave pubblica da incollare nel campo authorized_keys di OpenSSH»
- Per esportare la chiave privata in formato OpenSSH, seleziona nel menu principale Conversioni → Esporta chiave OpenSSH.
- Salva la chiave privata in un nuovo file.
In Linux
1. Installa il pacchetto degli strumenti PuTTY:
su Ubuntu:
sudo apt-get install putty-toolssu distribuzioni simili a Debian:
apt-get install putty-toolssu distribuzioni basate su RPM (CentOS e simili):
yum install putty2. Per convertire la chiave privata, esegui il comando:
puttygen -O private-openssh -o3. Per generare la chiave pubblica (se necessario):
puttygen -O public-openssh -oRisultato
Dopo l'installazione secondo le raccomandazioni, l'utente riceve un server di posta Zimbra con l'estensione Zextras configurato nell'infrastruttura di Yandex.Cloud per comunicazioni aziendali e collaborazione sui documenti. Le impostazioni sono state realizzate con alcune limitazioni per l'ambiente di test, ma è semplice convertire l'installazione in modalità produttiva e aggiungere opzioni per l'uso dello storage a oggetti di Yandex.Cloud e altro. Per domande relative al deploy e all'uso della soluzione, contattare il partner Zextras — o i rappresentanti .
Per qualsiasi domanda relativa a Zextras Suite, puoi contattare il rappresentante dell'azienda «Zextras», Ekaterina Triandafili, via email all'indirizzo katerina@zextras.com.
Fonte: habr.com
