• Početna
  • Instalacija ONLYOFFICE Mail za Docker na lokalnom serveru
Ovaj članak je preveden pomoću veštačke inteligencije

Instalacija ONLYOFFICE Mail za Docker na lokalnom serveru

Uvod

ONLYOFFICE Mail je kompletno rešenje za mail server razvijeno na osnovu iRedMail paketa, koje sadrži sledeće komponente: Postfix, Dovecot, SpamAssassin, ClamAV, OpenDKIM, Fail2ban.

Integrisan sa ONLYOFFICE Workspace, ONLYOFFICE Mail vam omogućava da:

  • povežete sopstveno ime domena;
  • kreirate poštanske sandučiće;
  • dodate alias-e za svaki poštanski sandučić;
  • kreirate grupe poštanskih sandučića.

Ovaj vodič će vam pokazati kako da instalirate Docker verziju ONLYOFFICE Mail na vaš računar.

Sistemski zahtevi

  • CPU
    dvojezgarni 2 GHz ili bolji
  • RAM
    4 GB ili više
  • HDD
    najmanje 20 GB slobodnog prostora
  • SWAP
    najmanje 4 GB, ali zavisi od host OS-a. Više je bolje
  • OS
    amd64 Linux distribucija sa kernel verzijom 3.10 ili novijom
  • Dodatni zahtevi
    • Docker: bilo koja verzija podržana od strane Docker tima
Na Ubuntu 20.04, potrebno je onemogućiti podrazumevani ufw firewall prilikom instalacije ONLYOFFICE Mail.

Pre nego što započnete instalaciju

Pre nego što započnete instalaciju ONLYOFFICE Mail, potrebno je povezati računar na kojem će ONLYOFFICE Mail biti instaliran sa domenom izabranim za mail server. Preporučujemo da izaberete ime kao što je mx.yourdomain.com za A zapis vašeg računara za mail server. To znači da A zapis u vašem Domain Name System (DNS) mora pokazivati na IP adresu računara na kojem će ONLYOFFICE Mail biti instaliran, a Pointer (PTR) zapis na tom računaru mora razrešavati IP adresu računara u potpuno kvalifikovano ime domena (FQDN), suprotno od onoga što A zapis radi.

Za proveru ispravnosti podešavanja A zapisa koristi se sledeća komanda:

dig -t A mx.yourdomain.com

Ako je sve ispravno, trebalo bi da vidite izlaz koji sadrži linije poput ovih među ostalima:

...
;; ANSWER SECTION:
mx.yourdomain.com.  IN  A   {vaša IP adresa}
...

Umesto {vaša IP adresa} biće prikazana stvarna IP adresa servera.

PTR zapis se proverava drugom komandom:

dig -x {vaša IP adresa}

Treba da vrati izlaz koji sadrži linije poput ovih među ostalima:

...
;; ANSWER SECTION:
{vaša IP adresa}   IN  PTR mx.yourdomain.com.
...

Kada se uverite da su sva podešavanja ispravna, možete preći na sledeće korake.

Nakon što instalirate ONLYOFFICE Mail, potrebno je dodati MX zapis za yourdomain.com tako da pokazuje na mx.yourdomain.com. Ovo je potrebno kako bi pošta stizala na @yourdomain.com adrese.

Instalacija ONLYOFFICE Mail korišćenjem automatske skripte

Ako ne želite sve da podešavate ručno, možete automatski instalirati ONLYOFFICE Mail koristeći našu Docker skriptu. Možete preuzeti skriptu sa naše stranice za preuzimanje. Ili možete koristiti direktan link za preuzimanje, ako vam je to zgodnije:

wget https://download.onlyoffice.com/install/workspace-install.sh

Kada se preuzimanje završi, pokrenite sledeću komandu za instalaciju ONLYOFFICE Mail:

bash workspace-install.sh -ics false -ids false -icp false -ims true -md yourdomain.com -es true

Ručno instaliranje ONLYOFFICE Mail

Ako želite imati potpunu kontrolu nad time šta i kako se instalira, možete pokrenuti instalaciju u ručnom režimu. Da biste to uradili, pratite sledeće korake.

Instalacija preduslova

Potrebna vam je najnovija verzija Dockera. Ako je nemate, pogledajte sekciju za instalaciju na Docker sajtu kako biste saznali kako da je nabavite.

Docker podrazumevano koristi Google DNS servere. Ako vaš ONLYOFFICE Workspace neće imati pristup internetu, preporučujemo da promenite podrazumevanu Docker DNS adresu na adresu vašeg lokalnog DNS servera. Da biste to uradili, idite na fajl /etc/default/docker i promenite IP adresu u sledećoj liniji na IP adresu DNS servera u vašoj lokalnoj mreži:
docker_OPTS="--dns 8.8.8.8"

Za operativne sisteme bazirane na RPM-u kao što je CentOS:

  1. Kreirajte konfiguracioni fajl /etc/docker/daemon.json sa sledećim sadržajem:
    { "dns" : [ "8.8.8.8" ] }
  2. Restartujte Docker servis:
    
    sudo systemctl restart docker.service

Pre nego što započnete instalaciju, potrebno je kreirati sledeće foldere:

  1. Za MySQL server
    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. I za podatke i logove ONLYOFFICE Mail
    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";

Zatim kreirajte onlyoffice mrežu:

sudo docker network create --driver bridge onlyoffice
Instalacija MySQL

Nakon toga, potrebno je kreirati MySQL server Docker kontejner. Kreirajte konfiguracioni fajl:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/
  
onlyoffice/mysql/conf.d/onlyoffice.cnf

Kreirajte SQL skriptu koja će generisati korisnike i dodeliti im prava. onlyoffice_user je potreban za ONLYOFFICE Community Server, a mail_admin je potreban za ONLYOFFICE Mail u slučaju da će biti instaliran:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
Molimo vas da primetite da će gornja skripta postaviti dozvole za pristup SQL serveru sa bilo kojih domena (%). Ako želite da ograničite pristup, možete specificirati hostove koji će imati pristup SQL serveru.

Sada možete kreirati MySQL kontejner podešavanjem verzije MySQL-a na 8.0.29:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
 -v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
 -v /app/onlyoffice/mysql/data:/var/lib/mysql \
 -v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
 -e MYSQL_ROOT_PASSWORD=my-secret-pw \
 -e MYSQL_DATABASE=onlyoffice \
 mysql:8.0.29
Ako želite da koristite eksternu bazu podataka, potrebno je da je podesite (naime, da dodate korisnika):
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;
Instalacija ONLYOFFICE Mail

Nakon što je sve spremno, izvršite sledeću komandu:

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
 -e MYSQL_SERVER=onlyoffice-mysql-server \
 -e MYSQL_SERVER_PORT=3306 \
 -e MYSQL_ROOT_USER=root \
 -e MYSQL_ROOT_PASSWD=my-secret-pw \
 -e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
 -v /app/onlyoffice/MailServer/data:/var/vmail \
 -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
 -v /app/onlyoffice/MailServer/logs:/var/log \
 -h yourdomain.com \
 onlyoffice/mailserver

Gde je yourdomain.com ime vašeg mail servera.

Vaš domen koji će se koristiti za održavanje prepiske mora biti validan i konfigurisano za ovu mašinu (tj. treba da ima odgovarajući A zapis u DNS podešavanjima koji usmerava ime vašeg domena na IP adresu mašine na kojoj je instaliran ONLYOFFICE Mail).
U gornjoj komandi, parametar "yourdomain.com" mora biti shvaćen kao servisni domen za ONLYOFFICE Mail. Obično se navodi u MX zapisu domena koji će se koristiti za održavanje prepiske. Po pravilu, "yourdomain.com" izgleda kao mx1.onlyoffice.com

U ovom slučaju, mail server će obezbediti dostavu pošte na interne adrese hostovane na ovom serveru.

Skladištenje podataka van kontejnera

Svi podaci se čuvaju u posebno određenim direktorijumima, data volumes, na sledećoj lokaciji:

  • /var/log za logove ONLYOFFICE Mail
  • /var/lib/mysql za podatke MySQL baze podataka
  • /var/vmail za skladištenje pošte
  • /etc/pki/tls/mailserver za sertifikate
Preporučujemo Preporučujemo da čuvate podatke van Docker kontejnera na host mašini jer vam to omogućava da lako ažurirate ONLYOFFICE Mail kada nova verzija bude objavljena, bez gubitka podataka.

Da biste dobili pristup vašim podacima koji se nalaze van kontejnera, potrebno je da montirate volumene. To se može uraditi specificiranjem opcije -v u docker run komandi.

sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587
  
:587 -p 8081:8081 \
        -v /app/onlyoffice/MailServer/logs:/var/log  \
        -v /app/onlyoffice/MailServer/mysql:/var/lib/mysql  \
        -v /app/onlyoffice/MailServer/data:/var/vmail  \
        -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
Imajte na umu da, ukoliko pokušavate da montirate foldere koji još nisu kreirani, ti folderi će biti kreirani, ali će pristup njima biti ograničen. Moraćete ručno da promenite njihova prava pristupa.

Čuvanje podataka na host mašini omogućava vam da lako ažurirate ONLYOFFICE Mail kada nova verzija bude objavljena, bez gubitka podataka.

Konfigurisanje Docker slike

Da biste osigurali isporuku pošte na interne adrese kao i na adrese eksternih servera, potrebno je da dobijete sopstveno ime domena i konfigurišete DNS server.

Potrebni su sledeći DNS zapisi:

  • A zapis (koristi se za usmeravanje domena na IP adresu hosta na kojem je ova Docker slika implementirana).
  • Pointer (PTR) zapis ili obrnuti DNS zapis (koristi se za mapiranje mrežnog interfejsa (IP) na ime hosta).
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver

Gde je yourdomain.com ime vašeg mail servera.

Instalacija SSL sertifikata

Sertifikati sa samopotpisom za vaš domen će biti kreirani po defaultu prilikom pokretanja Docker kontejnera. Ako želite da koristite CA sertifikovane sertifikate, moraćete da ih preimenujete i kopirate u direktorijum /app/onlyoffice/MailServer/data/certs pre pokretanja slike. Potrebni su sledeći fajlovi:

  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle

Možete kopirati SSL sertifikate u direktorijum /app/onlyoffice/MailServer/data/certs nakon pokretanja slike. Ali u tom slučaju ćete morati da restartujete Docker kontejner.

Dostupni parametri konfiguracije
Molimo vas da pogledate opcije komande docker run za zastavicu `--env-file` gde možete navesti sve potrebne promenljive okruženja u jednoj datoteci. Ovo će vas spasiti od pisanja potencijalno duge komande docker run.

U nastavku je kompletna lista parametara koji se mogu postaviti pomoću promenljivih okruženja.

  • STORAGE_BASE_DIR: Putanja do skladišta pošte. Podrazumevano je /var/vmail.
  • FIRST_DOMAIN: Prvi virtuelni domen, gde će biti hostovana adresa postmastera. Ovaj domen ne bi trebalo da se poklapa sa primarnim domenom mail servera. Podrazumevano je mailserver.onlyoffice.com.
  • DOMAIN_ADMIN_PASSWD: Lozinka za postmastera. Podrazumevana adresa postmastera je postmaster@mailserver.onlyoffice.com.

Instalacija ONLYOFFICE Mail integrisanog sa ONLYOFFICE Docs

ONLYOFFICE Mail je deo ONLYOFFICE Workspace koji takođe obuhvata ONLYOFFICE Docs, ONLYOFFICE Control Panel i ONLYOFFICE Community Server. Ukoliko želite da instalirate sve njih i integrišete ih međusobno, pročitajte ove instrukcije.

Alternativni načini za instalaciju ONLYOFFICE Mail

Alternativno, možete koristiti automatski skript za instalaciju da instalirate ceo Workspace odjednom. Za ispravan rad mail servera potrebno je da navedete njegovo ime hosta yourdomain.com.

KORAK 1: Preuzmite datoteku skripta za instalaciju

Izvršite sledeću komandu:

wget https://download.onlyoffice.com/install/workspace-install.sh

KORAK 2: Instalirajte Workspace

Pokrenite sledeću komandu da to uradite:

bash workspace-install.sh -md yourdomain.com
Članak sa oznaka:
Pregledajte sve oznake