- Početna
- Instalacija ONLYOFFICE Mail za Docker na lokalnom serveru
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
-
CPUdvojezgarni 2 GHz ili bolji
-
RAM4 GB ili više
-
HDDnajmanje 20 GB slobodnog prostora
-
SWAPnajmanje 4 GB, ali zavisi od host OS-a. Više je bolje
-
OSamd64 Linux distribucija sa kernel verzijom 3.10 ili novijom
-
Dodatni zahtevi
- Docker: bilo koja verzija podržana od strane Docker tima
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.
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.
/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:
- Kreirajte konfiguracioni fajl
/etc/docker/daemon.jsonsa sledećim sadržajem:{ "dns" : [ "8.8.8.8" ] } - Restartujte Docker servis:
sudo systemctl restart docker.service
Pre nego što započnete instalaciju, potrebno je kreirati sledeće foldere:
- 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"; - 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
%). 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
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.
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.comU 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/logza logove ONLYOFFICE Mail/var/lib/mysqlza podatke MySQL baze podataka/var/vmailza skladištenje pošte/etc/pki/tls/mailserverza sertifikate
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
Č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
`--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