Introduzione
L'ottimizzazione dell'infrastruttura uffici e la distribuzione di nuovi posti di lavoro sono problemi seri per aziende di tutti i tipi e dimensioni. La soluzione ottimale per un nuovo progetto è l'affitto di 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 sia in ambiente cloud che sulla propria infrastruttura.

La soluzione è progettata per uffici di qualsiasi dimensione e ha due principali scenari di distribuzione: in presenza di fino a 3000 caselle di posta e senza elevate esigenze di resilienza, è possibile utilizzare l'installazione in modalità single-server, mentre l'installazione in modalità multi-server supporta un funzionamento affidabile e reattivo per decine e centinaia di migliaia di caselle di posta. In tutti i casi, l'utente accede a email, documenti e messaggi tramite un'unica interfaccia web dal posto di lavoro con qualsiasi sistema operativo senza installazione e configurazione di software aggiuntivo, o tramite applicazioni mobili per iOS e Android. È possibile utilizzare i client Outlook e Thunderbird abituali.
Per la distribuzione del progetto, il partner Zextras — ha scelto Yandex.Cloud, poiché la sua architettura è analoga a quella di AWS e supporta lo storage compatibile con S3, il che ridurrà il costo di archiviazione di un grande volume di email, messaggi e documenti e aumenterà la resilienza 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à di gestione delle reti virtuali . Per un'installazione multi-server, oltre agli strumenti menzionati, è necessario utilizzare le tecnologie , se necessario (a seconda della scala del sistema) – anche , e il bilanciatore di rete .
lo storage di oggetti compatibile con S3 può essere utilizzato in entrambe le modalità di installazione ed è anche possibile connetterlo a sistemi distribuiti on-premise per un'archiviazione economica e resiliente dei dati del server di posta in Yandex.Cloud.
Per un'installazione single-server, a seconda del numero di utenti e/o caselle di posta, è richiesto: 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 della posta, indici, 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 inoltre essere necessario un server TURN/STUN (la sua necessità come server separato e le risorse dipendono dal carico effettivo). Per le installazioni multi-server, il numero e la funzione delle macchine virtuali di ruolo e le risorse assegnate vengono determinate singolarmente in base alle esigenze dell'utente.
Obiettivo dell'articolo
Descrizione del dispiegamento nell'ambiente Yandex.Cloud dei prodotti Zextras Suite basati sul server di posta Zimbra nella modalità di installazione single-server. L'installazione risultante può essere utilizzata in un ambiente di produzione (utenti esperti possono apportare le necessarie configurazioni e aggiungere risorse).
Il sistema Zextras Suite/Zimbra include:
- Zimbra — posta elettronica aziendale con possibilità di condividere caselle di posta, calendari e rubriche.
- Zextras Docs — pacchetto office integrato basato su LibreOffice online per la creazione e la collaborazione su documenti, fogli di calcolo, presentazioni.
- Zextras Drive – archiviazione di file individuale che consente di modificare, archiviare e condividere con altri utenti file e cartelle.
- Zextras Team – messaggero con supporto per audio e videoconferenze. Sono disponibili le versioni Team Basic, che consente solo comunicazioni 1:1, e Team Pro, che supporta conferenze multiutente, canali, la possibilità di condividere lo schermo, scambiarsi file e altre funzionalità.
- Zextras Mobile – supporto per dispositivi mobili tramite Exchange ActiveSync per la sincronizzazione della posta con i dispositivi mobili con funzionalità di gestione MDM (Mobile Device Management). Consente di utilizzare Microsoft Outlook come client di posta.
- Zextras Admin – implementazione della gestione multitenant del sistema con delega degli amministratori per gestire gruppi di clienti e classi di servizi.
- Zextras Backup - backup e ripristino dei dati a ciclo completo in tempo reale
- Zextras Powerstore — archiviazione gerarchica degli oggetti del sistema di posta con supporto per le classi di elaborazione dei dati, con la possibilità di archiviare i dati localmente o in archiviazioni cloud di tipo 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'assegnazione dello spazio su 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 dai requisiti e dai parametri del sistema. Se necessario, ciò può essere fatto in seguito durante la transizione dell'installazione descritta in produzione.
- Per semplificare l'installazione, non si considera l'uso di un server DNS gestito dall'amministratore per risolvere i nomi di dominio interni (non pubblici), si utilizza il server DNS standard di Yandex.Cloud. Nell'ambiente di produzione è consigliato utilizzare un server DNS, che potrebbe già essere presente nell'infrastruttura aziendale.
- Si presume che venga utilizzato un account in Yandex.Cloud con impostazioni predefinite (in particolare, quando si accede alla "Console" del servizio, esiste solo una directory (nell'elenco "Cloud disponibili" con il nome default). Gli utenti familiarizzati con Yandex.Cloud possono a loro discrezione creare una directory separata per l'ambiente di test o utilizzare quella esistente.
- L'utente deve avere una zona DNS pubblica, alla quale 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 fornire accesso ad altri utenti nel cloud ci sono guide: , , )
- In questo articolo non viene descritta 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, consentendo l'accesso al sistema installato tramite i browser. Di solito, essi mostrano un avviso riguardo l'assenza di un certificato verificabile sul server, ma permettono di continuare a lavorare. Prima di installare certificati verificabili dai dispositivi client (firmati da autorità di certificazione pubbliche e/o aziendali), le applicazioni per dispositivi mobili potrebbero non funzionare con il sistema installato. Pertanto, l'installazione di tali certificati in un ambiente produttivo è necessaria e viene effettuata dopo il completamento del test, in conformità con le politiche aziendali di sicurezza.
Descrizione del processo di installazione del sistema Zextras/Zimbra nella modalità "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 di posta servito).
b) Configurazione dell'infrastruttura di rete virtuale in Yandex.Cloud.
Tuttavia, dopo aver apportato modifiche alla zona DNS, è necessario un certo tempo per la propagazione di tali modifiche; d'altra parte, non è possibile creare un record A senza conoscere l'indirizzo IP ad esso associato.
Pertanto, le azioni devono essere eseguite nella seguente sequenza:
1. Riservare un indirizzo IP pubblico in Yandex.Cloud
1.1 Nella "Console di Yandex.Cloud" (se necessario selezionando la cartella in "cloud disponibili"), accedere alla sezione Virtual Private Cloud, sotto-sezione Indirizzi IP, quindi premere il pulsante "Riserva indirizzo", scegliere la zona di disponibilità preferita (o accettare il valore proposto; questa zona di disponibilità deve essere utilizzata in tutte le azioni descritte in seguito in Yandex.Cloud, se nei moduli appropriati c'è la possibilità di selezionare la zona di disponibilità), nella finestra di dialogo che si apre, se desiderato, è possibile, ma non obbligatorio, selezionare l'opzione "Protezione DDoS", e premere il pulsante "Riserva" (vedi anche ).

Dopo la chiusura della finestra di dialogo, sarà disponibile un indirizzo IP statico dedicato fornito dal sistema, che potrà essere copiato e utilizzato nel passaggio successivo.

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

Lo stato cambierà nell'elenco delle sottoreti:

Per ulteriori dettagli, vedere la documentazione: e .
2. Creazione di macchine virtuali
2.1. Creazione di una macchina virtuale per Zimbra
Sequenza di azioni:
2.1.1 Nel "Pannello di controllo di Yandex.Cloud", andare alla sezione Compute Cloud, sotto-sezione "Macchine virtuali", fare clic sul pulsante "Crea VM" (per maggiori 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.
- Nei "Contenuti pubblici" selezionare Ubuntu 18.04 lts
- Nei dischi impostare un disco di avvio con una dimensione di almeno 80 GB. Per scopi di test è sufficiente un tipo HDD (e anche per utilizzo produttivo, a condizione di spostare alcuni tipi di dati su dischi SSD). Se necessario, è possibile aggiungere dischi aggiuntivi dopo la creazione della VM.
Nei "risorse di calcolo" specificare:
- vCPU: almeno 4.
- Quota garantita di vCPU: durante l'esecuzione delle azioni descritte in questo articolo, almeno il 50%, dopo il completamento dell'installazione, se necessario, sarà possibile ridurre.
- RAM: raccomandata 8 GB.
- Sottorete: selezionare la sottorete per la quale nella fase di preparazione è stato abilitato il NAT per Internet.
- Indirizzo pubblico: selezionare dall'elenco l'indirizzo IP precedentemente utilizzato per la creazione del record A nel DNS.
- Utente: a propria discrezione, ma diverso dall'utente root e dagli account di sistema Linux.
- È necessario impostare una chiave SSH pubblica (aperta).
→
Vedi anche Appendice 1. Creazione di chiavi SSH in openssh e putty e conversione di chiavi da formato putty a openssh.
2.1.3 Alla fine della configurazione, fare clic su «Crea VM».
2.2. Creazione di una macchina virtuale per Zextras Docs
Sequenza di azioni:
2.2.1 Nel "Pannello di controllo di Yandex.Cloud", andare alla sezione Compute Cloud, sotto-sezione "Macchine virtuali", fare clic sul pulsante "Crea VM" (per maggiori 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.
- Nei "Contenuti pubblici" selezionare Ubuntu 18.04 lts
- Nei dischi impostare un disco di avvio con una dimensione di almeno 80 GB. Per scopi di test è sufficiente un tipo HDD (e anche per utilizzo produttivo, a condizione di spostare alcuni tipi di dati su dischi SSD). Se necessario, è possibile aggiungere dischi aggiuntivi dopo la creazione della VM.
Nei "risorse di calcolo" specificare:
- vCPU: almeno 2.
- Quota garantita di vCPU: durante l'esecuzione delle azioni descritte in questo articolo, almeno il 50%, dopo il completamento dell'installazione, se necessario, sarà possibile ridurre.
- RAM: almeno 2GB.
- Sottorete: selezionare la sottorete per la quale nella fase di preparazione è stato abilitato il NAT per Internet.
- Indirizzo pubblico: senza indirizzo (questo dispositivo non richiede accesso da Internet, solo accesso in uscita da questa macchina verso Internet, fornito dall'opzione «NAT in Internet» della sottorete utilizzata).
- Utente: a propria discrezione, ma diverso dall'utente root e dagli account di sistema Linux.
- È necessario impostare una chiave SSH pubblica (aperta), può essere la stessa utilizzata per il server Zimbra, o si può generare una coppia di chiavi separata, poiché la chiave privata per il server Zextras Docs dovrà essere posizionata sul disco del server Zimbra.
Consultare anche l'Appendice 1. Creazione di chiavi SSH in openssh e putty e conversione di chiavi da formato putty a openssh.
2.2.3 Alla fine della configurazione, fare clic su «Crea VM».
2.3 Le macchine virtuali create saranno disponibili nell'elenco delle macchine virtuali, dove verranno visualizzati, tra l'altro, il loro stato e gli indirizzi IP utilizzati, sia pubblici che interni. Le informazioni sugli indirizzi IP saranno necessarie nei passaggi 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 preferito con la chiave privata ssh e il nome utente specificato durante la creazione della macchina virtuale.
Dopo l'accesso, eseguire i comandi:
sudo apt update
sudo apt upgrade(quando si esegue l'ultimo comando, rispondere “y” alla domanda se si è certi di voler installare l'elenco proposto degli aggiornamenti)
Dopo l'installazione degli aggiornamenti, si può (ma non è obbligatorio) eseguire il comando:
sudo apt autoremoveE alla fine del passaggio eseguire il comando
sudo shutdown –r now3.2 Installazione di applicazioni
È necessario installare un client NTP per sincronizzare l'ora di sistema e l'applicazione screen con il seguente comando:
sudo apt install ntp screen(quando si esegue l'ultimo comando, rispondere “y” alla domanda se si è certi di voler installare l'elenco proposto dei pacchetti)
È possibile anche installare strumenti aggiuntivi per il comfort dell'amministratore. 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 in false.
Nota: l'editor per modificare questo file deve essere avviato 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 da 127.0.0.1 all'indirizzo IP interno di questo server, e il nome – dal nome completo nella zona .internal al nome pubblico del server indicato precedentemente nel record A della zona DNS, e modificando di conseguenza il nome host breve (se diverso dal nome host breve nel record A del DNS pubblico).
Ad esempio, nel nostro caso il file hosts era così:

Dopo la modifica, è diventato così:

Nota: l'editor per modificare questo file deve essere avviato 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 perché in seguito verrà configurato il firewall e, in caso di problemi, con la password dell'utente sarà possibile accedere alla macchina virtuale utilizzando la console seriale dalla web console di Yandex.Cloud e disattivare il firewall e/o correggere l'errore. Durante la creazione della macchina virtuale, l'utente non ha una password, pertanto l'accesso è possibile solo via SSH utilizzando l'autenticazione tramite chiavi.
Per impostare la password, è necessario eseguire il comando:
sudo passwdAd esempio, nel nostro caso, questo sarà il comando “sudo passwd user”.
4. Installazione di Zimbra e Zextras Suite
4.1. Download dei pacchetti Zimbra e Zextras Suite
4.1.1 Download del pacchetto Zimbra
Sequenza di azioni:
1) Accedere al browser all'URL e compilare il modulo. Riceverai un'email con i link per scaricare Zimbra per diversi sistemi operativi.
2) Selezionare la versione attuale del pacchetto per la piattaforma Ubuntu 18.04 LTS e copiare il link
3) Scaricare il pacchetto Zimbra sul server Zimbra e decomprimerlo. A tal fine, nella sessione ssh sul server zimbra eseguire i comandi
cd ~
mkdir zimbra
cd zimbra
wget
tar –zxf(nel nostro esempio, questo è “tar –zxf zcs-9.0.0_OSE_UBUNTU18_latest-zextras.tgz”)
4.1.2 Download del pacchetto Zextras Suite
Sequenza di azioni:
1) Accedere al browser all'URL
2) Compilare il modulo immettendo i dati necessari e fare clic sul pulsante “DOWNLOAD NOW”

3) Si aprirà la pagina per il download

Ci sono due URL di nostro interesse: uno nella parte superiore della pagina per il Zextras Suite, che ci sarà necessario ora, e l'altro nella parte inferiore nella sezione Docs Server per Ubuntu 18.04 LTS, che ci servirà più tardi per installare Zextras Docs su una VM per Docs.
4) Scaricare il pacchetto Zextras Suite sul server Zimbra e estrarlo. A questo scopo, nel terminale SSH del server Zimbra, eseguire i comandi
cd ~
mkdir zimbra
cd zimbra(se la directory corrente non è cambiata dopo il passaggio precedente, i comandi sopra non è necessario eseguirli)
wget http://download.zextras.com/zextras_suite-latest.tgz
tar –zxf zextras_suite-latest.tgz4.2. Installazione di Zimbra
Sequenza di azioni
1) Passare alla directory in cui sono stati estratti i file al passaggio 4.1.1 (puoi visualizzarli con il comando ls mentre sei nella directory ~/zimbra).
Nel nostro esempio sarà:
cd ~/zimbra/zcs-9.0.0_OSE_UBUNTU18_latest-zextras/zimbra-installer2) Avviare l'installazione di Zimbra con il comando
sudo ./install.sh3) Rispondi alle domande dell'installatore
Puoi rispondere alle domande dell'installatore con “y” (corrisponde a «sì»), “n” (corrisponde a «no») oppure lasciare la proposta dell'installatore invariata (lui proporrà opzioni, mostrandole tra parentesi quadre, ad esempio, “[Y]” o “[N]”).
Accetti i termini del contratto di licenza del software? – sì.
Utilizzare 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 ha già un proprio server DNS in cache abilitato di default, quindi questo pacchetto avrà conflitto con i porti usati).
Installare zimbra-snmp? – a discrezione, puoi lasciare l'opzione predefinita (sì), oppure non installare questo pacchetto. Nel nostro esempio è stata lasciata l'opzione predefinita.
“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 è sostituito funzionalmente da Zextras Drive).
Installare zimbra-imapd? – di default (no).
Installare zimbra-chat? – no (funzionalmente sostituito da Zextras Team)
Dopo di che l'installatore chiederà se continuare con l'installazione.

Rispondi «sì» se puoi continuare, altrimenti rispondi «no» e otterrai la possibilità di modificare le risposte alle domande precedenti.
Dopo aver acconsentito a continuare, l'installatore procederà all'installazione dei pacchetti.
4.) Rispondi alle domande del configuratore iniziale
4.1) Poiché nel nostro esempio il nome DNS del server di posta (nome del record A) e il nome del dominio di posta servito (nome del record MX) sono diversi, il configuratore genera un avviso e suggerisce di specificare il nome del dominio di posta servito. Accettiamo la sua proposta e inseriamo il nome del record MX. Nel nostro esempio appare come segue:

Nota: è possibile specificare un dominio di posta servito diverso dal nome del server anche nel caso in cui esista un record MX omonimo per il nome del server.
4.2) Il configuratore visualizza il menu principale.

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

dove nel prompt del configuratore inseriamo il numero della voce di menu Password amministratore (nel nostro esempio 4), premiamo Invio, dopodiché il configuratore propone una password generata casualmente, alla quale possiamo acconsentire (ricordandola) oppure inserire la nostra. In entrambi i casi alla fine è necessario premere Invio, dopo di che il marcatore di attesa dell'input utente sarà rimosso dalla voce ‘Password amministratore’:

Torniamo al menu precedente (accettando la 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 aperto Configurazione proxy, selezioniamo il numero della voce ‘Modalità server proxy’ e lo inseriamo nel prompt del configuratore.

Il configuratore proporrà di scegliere uno dei modi, inseriamo nel suo prompt ‘redirect’ e premiamo Invio.
Dopo di che torniamo al menu principale (accettando la proposta del configuratore).
4.5) Avvio della configurazione
Per avviare la configurazione, digitare «a» al prompt del configuratore. Successivamente verrà chiesto se si desidera salvare la configurazione nel file (che può essere utilizzato per una reinstallazione) – è possibile accettare la proposta predefinita, se il salvataggio sarà effettuato – verrà chiesto in quale file salvare la configurazione (si può anche accettare la proposta predefinita o inserire il proprio nome di file).

In questa fase è ancora possibile rifiutare di 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, dopo di che il configuratore applicherà per un po' le impostazioni precedentemente inserite.
4.6) Completamento dell'installazione di Zimbra
Prima di completare, l'installer chiederà se si desidera notificare Zimbra dell'installazione avvenuta. È possibile accettare la proposta predefinita o rifiutare (rispondendo “No”) alla notifica.
Dopo di che, l'installer continuerà a svolgere le operazioni finali e mostrerà una notifica sul completamento della configurazione del sistema, con l'invito a premere un tasto qualsiasi per uscire dall'installer.

4.3. Installazione di Zextras Suite
Per maggiori dettagli sull'installazione di Zextras Suite vai a. .
Sequenza di azioni:
1) Passare alla directory in cui sono stati estratti i file al passo 4.1.2 (è possibile controllare con il comando ls mentre ci si trova nella directory ~/zimbra).
Nel nostro esempio sarà:
cd ~/zimbra/zextras_suite2) Avviare 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, con l'unica eccezione dell'assenza di configuratore. Si può rispondere alle domande dell'installer con “y” (corrisponde a «sì»), “n” (corrisponde a «no») oppure lasciare inalterata la proposta dell'installer (egli offre opzioni, mostrandole tra parentesi quadre, ad esempio, “[Y]” o “[N]”.
Per iniziare il processo di installazione è necessario rispondere «sì» in sequenza alle seguenti domande:
Accetti i termini del contratto di licenza del software?
Vuoi che Zextras Suite scarichi, installi e aggiorni automaticamente la Biblioteca ZAL?
Dopo di che verrà visualizzata una notifica con l'invito a premere Enter per continuare:

Dopo aver premuto Enter, inizierà il processo di installazione, talvolta interrotto da domande, a cui comunque rispondiamo accettando le proposte predefinite («sì»), ossia:
Zextras Suite Core verrà ora installato. Procedere?
Vuoi fermare l'applicazione web di Zimbra (casella di posta)?
Il Zextras Suite Zimlet sarà ora installato. Procedere?
Prima della fase finale dell'installazione verrà visualizzato un avviso sulla necessità di configurare il filtro DOS con un suggerimento per premere Invio per continuare. Dopo aver premuto Invio inizia la fase finale dell'installazione, al termine della quale viene visualizzato un avviso finale e il lavoro dell'installatore termina.

4.4. Impostazione iniziale della configurazione e definizione dei parametri di configurazione LDAP
1) Tutte le azioni successive vengono eseguite come utente zimbra. Per fare ciò, è necessario eseguire il comando
sudo su - zimbra2) Modifichiamo l'impostazione del filtro DOS con il comando
zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 1503) Per installare Zextras Docs saranno necessarie informazioni su alcuni parametri di configurazione di Zimbra. Per fare ciò, è possibile eseguire il comando:
zmlocalconfig –s | grep ldapNel nostro esempio verranno visualizzate le seguenti informazioni:

Per un uso successivo saranno necessari ldap_url, zimbra_ldap_password (e zimbra_ldap_userdn, anche se l'installatore di Zextras Docs in genere fornisce suggerimenti corretti sul nome utente LDAP).
4) Terminare il lavoro 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 del paio di chiavi SSH il cui chiave pubblica è stata utilizzata nel passaggio 2.2.2 p.2.2 durante la creazione della macchina virtuale Docs. Può essere caricata sul server tramite SSH (ad esempio, tramite sftp) o incollata tramite il clipboard (se consentito dalle capacità del client SSH utilizzato e dall'ambiente di esecuzione).
Supponiamo che la chiave privata sia stata posizionata nel file ~/.ssh/docs.key e l'utente utilizzato per accedere al server Zimbra ne sia il proprietario (se il caricamento/creazione di questo file è stato effettuato come questo utente, diventa automaticamente il suo proprietario).
È necessario eseguire una volta il comando:
chmod 600 ~/.ssh/docs.keySuccessivamente, per accedere al server Docs è 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 nel «Console Yandex.Cloud», come mostrato nel p.2.3.
5.2. Installazione degli aggiornamenti
Dopo l'accesso al server Docs, eseguire i comandi analogamente a quelli per il server Zimbra:
sudo apt update
sudo apt upgrade(quando si esegue l'ultimo comando, rispondere “y” alla domanda se si è certi di voler installare l'elenco proposto degli aggiornamenti)
Dopo l'installazione degli aggiornamenti, si può (ma non è obbligatorio) eseguire il comando:
sudo apt autoremoveE alla fine del passaggio eseguire il comando
sudo shutdown –r now5.3. Installazione di applicazioni
È necessario installare un client NTP per la sincronizzazione dell'ora di sistema e l'applicazione screen, in modo simile a quanto fatto per il server Zimbra, con il seguente comando:
sudo apt install ntp screen(quando si esegue l'ultimo comando, rispondere “y” alla domanda se si è certi di voler installare l'elenco proposto dei pacchetti)
È possibile anche installare strumenti aggiuntivi per il comfort dell'amministratore. 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 avviato 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. In presenza di un server DNS interno gestito dall'amministratore, utilizzato dalle macchine virtuali (ad esempio, in ambiente di produzione), e capace di risolvere il FQDN pubblico del server Zimbra all'indirizzo IP interno quando riceve richieste dalla rete interna (per le richieste da Internet, il FQDN del server Zimbra deve risolversi all'indirizzo IP pubblico, mentre il server TURN deve risolversi sempre all'indirizzo IP pubblico, anche quando le richieste provengono da indirizzi interni), questa operazione non è necessaria.
Ad esempio, nel nostro caso il file hosts era così:

Dopo la modifica, è diventato così:

Nota: l'editor per modificare questo file deve essere avviato 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. Accedere al server Docs
Le modalità di accesso al server Docs sono descritte nel punto 5.1.
6.2. Download del pacchetto di Zextras Docs
Sequenza di azioni:
1) Dalla pagina da cui nel punto 4.1.2. È stato scaricato il pacchetto di Zextras Suite (passo 3), copiare l'URL per la build di Docs per Ubuntu 18.04 LTS (se non è stato copiato in precedenza).
2) Scaricare il pacchetto Zextras Suite sul server Zimbra e estrarlo. A questo scopo, nel terminale SSH del server Zimbra, eseguire i comandi
cd ~
mkdir zimbra
cd zimbra
wget(nel nostro caso viene eseguito il comando «wget »)
tar –zxf(nel nostro caso viene eseguito il comando «tar –zxf zextras-docs-ubuntu18.tgz»)
6.3. Installazione di Zextras Docs
Per maggiori informazioni sull'installazione e la configurazione di Zextras Docs vedere. .
Sequenza di azioni:
1) Passare alla directory in cui sono stati estratti i file al passaggio 4.1.1 (puoi visualizzarli con il comando ls mentre sei 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'installer è possibile rispondere “y” (corrisponde a «sì»), “n” (corrisponde a «no») oppure lasciare la proposta dell'installer invariata (propone opzioni, visualizzandole tra parentesi quadre, ad esempio, “[Y]” o “[N]”).
Il sistema verrà modificato, vuoi procedere? – accettiamo l'opzione predefinita («sì»).
Dopo di che inizierà l'installazione delle dipendenze: l'installer 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'installer richiede il consenso per l'installazione di Zextras Docs:
Desideri installare Zextras DOCS? – accettiamo l'opzione predefinita («sì»).
Dopo di che, inizia l'installazione dei pacchetti, cioè Zextras Docs, e si passa alla configurazione.
4) Rispondiamo alle domande del configuratore
Il configuratore richiede a turno i parametri di configurazione, a cui vengono forniti i valori ottenuti al punto 3 nel paragrafo 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'installer completa la configurazione locale di Docs e registra il servizio installato sul server Zimbra principale, precedentemente installato.
Per un'installazione su singolo server, solitamente questo è 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 un'installazione su più server – nel nostro esempio sul server principale Zimbra sarà necessario eseguire comandi 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
Accedi nel browser all'URL: https://:7071
Se lo desideri, puoi accedere al client web all'URL: https://
Quando si accede, i browser mostrano un avviso sulla connessione non sicura a causa dell'impossibilità di verificare il certificato. È necessario rispondere al browser confermando di voler procedere al 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 uso produttivo – è necessario) essere sostituito con un certificato commerciale 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 punto 4.3 nel paragrafo 4.2.
Nel nostro esempio, appare in questo modo:
Console di amministrazione:

Client web:

Nota 1. Se non viene specificato il dominio di posta gestito durante l'accesso alla console di amministrazione o al client web, gli utenti si autenticheranno nel dominio di posta creato durante l'installazione del server Zimbra. Dopo l'installazione, questo è l'unico dominio di posta gestito esistente su questo server, ma durante l'uso del sistema possono essere aggiunti ulteriori domini di posta, e in tal caso sarà importante specificare esplicitamente il dominio nel nome utente.
Nota 2. Durante l'accesso al client web, il browser può richiedere il permesso per visualizzare le notifiche da questo sito. È necessario consentire di ricevere notifiche da questo sito.
Nota 3. Dopo aver effettuato l'accesso alla console di amministrazione, potrebbe apparire un avviso per l'amministratore riguardante la presenza di messaggi, solitamente un promemoria per configurare Zextras Backup e/o per acquistare una licenza Zextras prima della scadenza della licenza di prova impostata di default. Queste azioni possono essere eseguite successivamente, pertanto i messaggi presenti al momento dell'accesso possono essere ignorati e/o contrassegnati come letti nel menu Zextras: Notifica Zextras.

Nota 4. È particolarmente importante notare che nel monitor di stato del server, lo stato del servizio Docs viene visualizzato come "non disponibile" anche se Docs funziona correttamente nel client web:

Questa è una peculiarità della versione di prova e può essere risolta solo dopo l'acquisto di una licenza e la richiesta di assistenza.
7.2. Distribuzione dei componenti Zextras Suite
Nel menu Zextras: Core è necessario fare clic sul pulsante "Distribuisci" per tutti i zimlets che si prevede di utilizzare.

Durante la distribuzione dei zimlets viene visualizzata una finestra di dialogo con il risultato dell'operazione di questo tipo:

Nel nostro esempio, viene eseguita la distribuzione di tutti i zimlets della Zextras Suite, dopo di che il modulo Zextras: Core assumerà il seguente aspetto:

7.3. Modifica delle impostazioni di accesso
7.3.1. Modifica delle impostazioni globali
Nel menu Configurazione: Impostazioni globali, sotto-menu Server proxy, modificare i seguenti parametri:
Modalità web proxy: redirect
Abilitare il server proxy della console di amministrazione: selezionare la casella.
Dopo di che, nella parte superiore destra del modulo, fare clic su "Salva".
Nel nostro esempio, dopo le modifiche apportate, il modulo ha il seguente aspetto:

7.3.2. Modifiche alle impostazioni del server principale di Zimbra
Nel menu Configurazione: Server: , nel sottomenù Proxy, modificare le seguenti impostazioni:
Modalità web proxy: fare clic sul pulsante «Ripristina il valore predefinito» (in questo modo il valore stesso non cambierà, poiché è già stato impostato durante l'installazione). Abilitare il proxy della console di amministrazione: verificare che la casella di controllo sia selezionata (il valore predefinito dovrebbe essere stato applicato, se non è stato applicato – è possibile fare clic sul pulsante «Ripristina il valore predefinito» e/o impostarlo manualmente). Dopo di che, nella parte superiore destra del modulo fare clic su «Salva».
Nel nostro esempio, dopo le modifiche apportate, il modulo ha il seguente aspetto:

Nota: (potrebbe essere necessario un riavvio se non funziona l'accesso su questa porta)
7.4. Nuovo accesso alla console di amministrazione
Accedere alla console di amministrazione nel browser all'URL: https://:9071
Utilizzare questo URL per gli accessi futuri
Nota: per un'installazione single-server, di solito è 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 l'azione obbligatoria per l'installazione multi-server – nel nostro esempio sul server principale Zimbra sarà necessario eseguire il comando come utente Zimbra /opt/zimbra/libexec/zmproxyconfgen e zmproxyctl restart.
7.5. Modifica del COS predefinito
Nel menu Configurazione: Classe di servizio selezionare il COS con il nome «default».
Nel sottomenù «Funzionalità» deselezionare la casella per la funzione «Portfolio», quindi nella parte superiore destra del modulo fare clic su «Salva».
Nel nostro esempio, dopo la configurazione, il modulo appare come segue:

Si consiglia inoltre di attivare nel sottomenù Drive la casella per la configurazione «Abilita la condivisione di file e cartelle», quindi nella parte superiore destra del modulo fare clic su «Salva».
Nel nostro esempio, dopo la configurazione, il modulo appare come segue:

Nell'ambiente di test, nello stesso COS è possibile attivare le funzionalità di Team Pro, per cui nel sottomenù Team attivare la casella con il nome omonimo, dopo di che il modulo di configurazione assumerà il seguente aspetto:

Se le funzionalità di Team Pro sono disattivate, agli utenti saranno disponibili solo le funzionalità di Team Basic.
Si segnala che Zextras Team Pro è licenziato in modo indipendente da Zextras Suite, il che consente di acquistarlo per un numero inferiore di caselle di posta rispetto a Zextras Suite stessa; le funzionalità di 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 di Team Pro, che includerà le rispettive funzionalità.
7.6. Impostazione del firewall
Necessario per il server principale di Zimbra:
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 è stato abilitato il NAT verso Internet).
Per il server Zextras Docs non è necessario configurare il firewall, poiché non è accessibile da Internet.
Per questo è necessario eseguire la seguente sequenza di azioni:
1) Accedere alla console testuale del server principale di Zimbra. Quando ci si connette tramite SSH, è necessario eseguire il comando “screen” per evitare l'interruzione dell'esecuzione dei comandi in caso di perdita temporanea di connessione al server a causa delle modifiche alle 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 in questo modo:

7.7. Verifica dell'accesso al client web e alla console di amministrazione
Per monitorare il funzionamento del firewall, è possibile accedere al browser ai seguenti URL
Console di amministrazione: https://:9071
Client web: http:// (verrà effettuato un reindirizzamento automatico a https://)
In tal caso, l'alternativa URL https://:7071 non dovrebbe aprire la console di amministrazione.
Il client web nel nostro esempio appare come segue:

Nota. Quando si accede al client web, il browser può richiedere il permesso per visualizzare le notifiche dal sito. È necessario acconsentire a ricevere notifiche da questo sito.
8. Garantire il funzionamento delle conferenze audio e video in Zextras Team
8.1. Panoramica
L'esecuzione delle azioni descritte di seguito non è necessaria se tutti i clienti di Zextras Team interagiscono tra loro senza utilizzare NAT (in questo caso l'interazione con il server Zimbra stesso può avvenire utilizzando NAT, ossia è importante che non ci sia NAT solo tra i clienti), o se si utilizza solo un messaggero testuale.
Per garantire l'interazione dei client in modalità audio e videoconferenza:
a) È necessario installare un server TURN o utilizzare uno esistente.
b) Poiché un server TURN di solito ha anche la funzionalità di un server STUN, è consigliato utilizzarlo anche per questo scopo (come alternativa, si possono utilizzare server STUN pubblici, ma nella maggior parte dei casi la sola funzionalità STUN non è sufficiente).
In un ambiente produttivo, a causa del potenziale carico elevato, si consiglia di separare il server TURN su una macchina virtuale dedicata. Per test o carichi leggeri, il server TURN può essere combinato con il server Zimbra principale.
Nel nostro esempio, considereremo l'installazione del server TURN sul server Zimbra principale. L'installazione di TURN su un server separato è simile, con la differenza che i passaggi relativi all'installazione e alla configurazione del software TURN vengono eseguiti sul server TURN, mentre i passaggi per configurare il server Zimbra per utilizzare questo server vengono eseguiti sul server Zimbra principale.
8.2. Installazione del server TURN
Accedendo preliminarmente tramite SSH al server Zimbra principale, eseguire il comando
sudo apt install resiprocate-turn-server8.3. Configurazione del server TURN
Nota. L'editor per modificare tutti i file di configurazione indicati di seguito deve essere avviato con i diritti 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 di password hashate nel database degli utenti del server TURN. In un ambiente produttivo, è consigliato utilizzare password hashate; in questo caso, la generazione degli hash per le stesse deve avvenire in conformità alle istruzioni contenute nei file /etc/reTurn/reTurnServer.config e /etc/reTurn/users.txt.
Sequenza di azioni:
1) Modificare il file /etc/reTurn/reTurnServer.config
Modificare il valore del parametro «UserDatabaseHashedPasswords» da «true» a «false».
2) Modificare il file /etc/reTurn/users.txt
Impostare un nome utente, una password, un realm (facoltativo, non utilizzato durante la configurazione della connessione Zimbra) e impostare lo stato dell'account su "AUTHORIZED".
Nel nostro esempio, il file inizialmente era così:

Dopo la modifica, ha assunto questo aspetto:

3) Applicazione della configurazione
Eseguire il comando
sudo systemctl restart resiprocate-turn-server8.4. Configurazione del firewall per il server TURN
In questo passaggio vengono impostate 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 alla gamma di porte dinamiche utilizzate dal server per organizzare i flussi media.
Le porte sono indicate 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 per l'uso del server TURN in Zimbra
Per la configurazione si utilizza il FQDN del server TURN, creato nel passaggio 1.2 p.1, e che deve essere risolvibile dai server DNS con lo stesso indirizzo IP pubblico per le richieste da Internet e da indirizzi interni.
Visualizzare la configurazione attuale della connessione "zxsuite team iceServer get", eseguita come utente zimbra.
Per ulteriori informazioni sulla configurazione dell'uso del server TURN, consultare la sezione "Installazione di Zextras Team per l'uso del server TURN" in .
Per la configurazione è necessario eseguire i seguenti comandi sul server Zimbra:
sudo su - zimbra
zxsuite team iceServer add stun:<FQDN del tuo server TURN>:3478?transport=udp
zxsuite team iceServer add turn:<FQDN del tuo server TURN>:3478?transport=udp credential <password> username <nome utente>
zxsuite team iceServer add stun:<FQDN del tuo server TURN>:3478?transport=tcp
zxsuite team iceServer add turn:<FQDN del tuo server TURN>:3478?transport=tcp credential <password> username <nome utente>
zxsuite team iceServer add stun:<FQDN del tuo server TURN>:3478
logoutCome <nome utente> e <password> vengono utilizzati i valori specificati per nome utente e password rispettivamente, definiti nel passaggio 2 p.8.3.
Nel nostro esempio, appare in questo modo:

9. Autorizzazione dell'invio della posta tramite il protocollo SMTP
In conformità con , in Yandex.Cloud è sempre bloccato 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 impedirà di controllare la ricezione della posta sul dominio e-mail gestito, inviata da un altro server di posta, ma ostacolerà l'invio di posta al di fuori del server Zimbra.
La documentazione indica che Yandex.Cloud può aprire la porta TCP 25 su richiesta al supporto, se si rispettano , 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 supporto di Yandex.Cloud.
Applicazione
Creazione di chiavi SSH in OpenSSH e PuTTY e conversione delle chiavi dal formato PuTTY a OpenSSH
1. Creazione di coppie di chiavi per SSH
In Windows utilizzando PuTTY: avviare il comando puttygen.exe e fare clic sul pulsante “Generate”
In Linux: eseguire il comando
ssh-keygen2. Conversione delle chiavi dal formato PuTTY a OpenSSH
In Windows:
Sequenza di azioni:
- Avviare il programma puttygen.exe.
- Caricare la chiave privata nel formato ppk, utilizzando il menu File → Load private key.
- Inserire il codice (passphrase), se richiesto per questa chiave.
- La chiave pubblica nel formato OpenSSH viene visualizzata in puttygen con la scritta «Public key for pasting into OpenSSH authorized_keys file field»
- Per esportare la chiave privata nel formato OpenSSH, selezionare nel menu principale Conversions → Export OpenSSH key
- Salvare la chiave privata in un nuovo file.
In Linux
1. Installare il pacchetto degli strumenti PuTTY:
in Ubuntu:
sudo apt-get install putty-toolsin distribuzioni simili a Debian:
apt-get install putty-toolsin distribuzioni basate su RPM con yum (CentOS e altri):
yum install putty2. Per convertire la chiave privata, eseguire 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 configurato nell'infrastruttura di Yandex.Cloud, con l'estensione Zextras per le comunicazioni aziendali e la collaborazione su documenti. Le impostazioni sono state fatte con alcune limitazioni per l'ambiente di test, ma trasferire l'installazione in modalità produttiva e aggiungere opzioni per l'utilizzo dello storage oggetti di Yandex.Cloud e altri non è difficile. Per domande sull'implementazione e l'utilizzo della soluzione, contattare il partner Zextras — o i rappresentanti .
Per qualsiasi domanda riguardante Zextras Suite, puoi contattare il Rappresentante della compagnia "Zextras", Ekaterina Triandafyllidi all'indirizzo email katerina@zextras.com
Fonte: habr.com
