Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Postfix / Dovecot pašto serveris | Centos 7


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1127 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, neseniai pačiam pavyko pasidaryti pašto serverį daug skaitant internete, tai sugalvojau viską čia aprašyti ir sukurti pamoką kaip įsirašyti Postfix, dovecot, roundcube serverį ant Linux Centos 7 (Ant kitų Linux distro instaliavimas panašus).

Aš esu tik naujokas, todėl gali būti klaidų, aš tik sekiau pamoką kaip sukonfiguruoti pašto serverį ir man šis būdas veikė, jeigu radote klaidų, prašau parašyti į komentarus.

 

Prieš tai reikalingas apache, php, mysql, phpmyadmin.

Pasiruošimas

1. Jeigu talpinate savo pašto serverį namuose:

Geriausia, kad išorinis IP adresas būtų statinis.

Reikia sužinoti ar jūsų interneto tiekėjas blokuoja šiuos portus: (143, 993, 995, 25, 587) Dažniausiai būna blokuojama 25 portas, mano atveju taip buvo, parašiau į gyvą pagalbą, aprašiau situaciją, parašiau kokiu adresu bei vardu paslauga užsakyta, ir pranešė, kad portą atblokavo.

Mano port forwarding konfiguracija atrodo taip (Jeigu nenaudosie POP3 serverio, 995 port'as nereikalingas):

ckp2rRA.png

2. Jeigu tokių jūsų domeno DNS įrašų nėra, pridėkite:

Įrašas                      Tipas                         Reikšmė

mail                         A                                Jūsų serverio IP

@                            TXT                            "v=spf1 mx a -all"

_dmarc                   TXT             "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

 

3. Dabar savo serveryje nustatykite hostname:

# hostnamectl set-hostname jusuhostname

 

Nueikite į:

# sudo nano /etc/hosts

Ir pridėkite šią eilutę: 

Jūsų išorinis serverio IP pavadinimas.lt jusuhostname

Pagal pavyzdį viskas turėtu atrodyti taip:

120.120.120.120 pavadinimas.lt pavadinimas

 

 

Instaliavimas

 

Įrašykite nano editor'ių (galite naudoti ir kitą):

# sudo yum install -y nano

 

Įrašykite Postfix, Dovecot:

# yum install epel-release
# yum update && yum install postfix dovecot dovecot-mysql

 

Sukurkite naują Mysql vartotoją prisijungę prie MariaDB konsolėje:

# mysql -u root -p
# CREATE USER 'dba'@'localhost' IDENTIFIED BY 'JūsųSlaptažodisČia';
# GRANT ALL PRIVILEGES ON * . * TO 'dba'@'localhost';
# FLUSH PRIVILEGES;
# quit

 

Dabar prisijunkite prie PhpMyAdmin su nauju sukurtu vartotoju "dba" ir sukurkite naują duomenų bazę pavadinimu: EmailServer_db (pavadinimas gali būti ir kitas)

Create New Database in PhpMyAdmin

Enter Database Name

Nuėję į dumenų bazę, pasirinkite SQL viršuje ir įdėkite šį kodą (sukursite naują lentelę pavadinimu Domains_tbl):
 

CREATE TABLE `EmailServer_db`.`Domains_tbl` ( `DomainId` INT NOT NULL AUTO_INCREMENT , `DomainName` VARCHAR(50) NOT NULL , PRIMARY KEY (`DomainId`)) ENGINE = InnoDB;

 

Vėl nueikite į SQL ir įdėkite šį kodą (sukursite lentelę pavadinimu Users_tbl):

CREATE TABLE `Users_tbl` ( `UserId` INT NOT NULL AUTO_INCREMENT, `DomainId` INT NOT NULL, `password` VARCHAR(300) NOT NULL, `Email` VARCHAR(100) NOT NULL, PRIMARY KEY (`UserId`), UNIQUE KEY `Email` (`Email`), FOREIGN KEY (DomainId) REFERENCES Domains_tbl(DomainId) ON DELETE CASCADE ) ENGINE = InnoDB;

 

Vėl nueikite į SQL ir įdėkite šį kodą (Sukursite El. pašto vartotoją Users_tbl lentelėje):

INSERT INTO Domains_tbl (DomainName) VALUES ('JūsųDomenoPavadinimas');  
INSERT INTO Users_tbl (DomainId, password, Email) VALUES (1, ENCRYPT('JūsųSlaptažodisElPaštui', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '[email protected]');  

 

Galite išjungti PhpMyAdmin langą, dabar reikės sukonfiguruoti Postfix/Dovecot:

Prisijungę prie FTP serverio/konsolėje redaguokite failą:

# sudo nano /etc/postfix/main.cf

Šiame konfiguracijos faile atkomentuokite (pašalindami #) arba pridėkite šias linijas. Jeigu įklijuosite šias linijas į konfigūraciją, pašalinkite pasikartojančias nekomentuotas linijas, kad nesikartotu.

append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
dovecot_destination_recipient_limit = 1
message_size_limit = 4194304
readme_directory = no
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (CentOS)
smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
virtual_transport = dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

virtual_mailbox_domains = mysql:/etc/postfix/mariadb-vdomains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mariadb-vusers.cf

 

Dabar nueikite į:

# sudo nano /etc/postfix/mariadb-vdomains.cf

Ir įrašykite šias linijas:

(Čia reikia pakeisti nustatymus į jūsų, duomenys mysql naujo sukurto vartotojo bei duomenų bazės kurią sukūrėme anksčiau)

user = dba
password = Jūsų slaptažodis
hosts = 127.0.0.1
dbname = EmailServer_db
query = SELECT 1 FROM Domains_tbl WHERE DomainName='%s'

 

Dabar nueikite į: 

# sudo nano /etc/postfix/mariadb-vusers.cf

Ir įrašykite šias linijas:

(Čia taip pat pakeiskite Mysql nustatymus kaip ir praeitame faile)

user = dba
password = Jūsų slaptažodis
hosts = 127.0.0.1
dbname = EmailServer_db
query = SELECT 1 FROM Users_tbl WHERE Email='%s'

 

Dabar reikia pakeisti failų teises su šia komanda:

# chmod 640 /etc/postfix/mariadb-vdomains.cf
# chmod 640 /etc/postfix/mariadb-vusers.cf

Ir pakeiskite failų grupę bei savininkus su šia komanda:
 

# chown root:postfix /etc/postfix/mariadb-vdomains.cf
# chown root:postfix /etc/postfix/mariadb-vusers.cf

 

Dabar nueikite į failą:

# sudo nano /etc/postfix/master.cf

 

Ir pridėkite (arba atkomentuokite) šias linijas:

submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp

showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
#virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

 

Failo apačioje įdėkite šias linijas:

dovecot   unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}

 

Failą išsaugokite, dabar perkrausime Postfix ir patikrinsime ar duomenų bazėje yra sukurtas vartotojas bei domenas:

# systemctl postfix restart
# postmap -q pavadinimas.lt mysql:/etc/postfix/mariadb-vdomains.cf
# postmap -q [email protected] mysql:/etc/postfix/mariadb-vusers.cf

 

Parašius postmap komandą, jeigu konfigūracija teisinga, jums atsakys su skaičiu "1", jeigu į komandą neatsakė nieko, vadinasi, kad kažkas blogai sukonfiguruota.

 

 

Dovecot konfiguravimas

 

Dabar sukurkite grupę bei vartotoją "vmail":

# groupadd -g 5000 vmail

# useradd -g vmail -u 5000 vmail -d /home/vmail -m

 

Dabar sukurkite direktoriją (jeigu neegzistuoja):

# sudo mkdir/home/vmail/pavadinimas.lt

Nueikite į dovecot.conf failą ir pridėkite (arba atkomentuokite) šias linijas:

# sudo nano /etc/dovecot/dovecot.conf
!include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap pop3 lmtp
!include conf.d/*.conf
!include_try local.conf

 

Nueikite į 10-auth.conf failą ir pridėkite (arba atkomentuokite) šias linijas:

# sudo nano /etc/dovecot/conf.d/10-auth.conf

 

disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-sql.conf.ext

 

 

Dabar nueikite į auth-sql.conf.ext failą ir pridėkite (arba atkomentuokite) šias linijas:

# sudo nano /etc/dovecot/conf.d/auth-sql.conf.ext

 

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/home/vmail/%d/%n/Maildir
}

 

Dabar nueikite į 10-mail.conf failą ir pridėkite (arba atkomentuokite) šias linijas:

# sudo nano /etc/dovecot/conf.d/10-mail.conf

 

mail_location = maildir:/home/vmail/%d/%n/Maildir
namespace inbox {
  inbox = yes
}
mail_privileged_group = mail
mbox_write_locks = fcntl

 

Dabar nueikite į 10-master.conf failą pridėkite (arba atkomentuokite) šias linijas:

# sudo nano /etc/dovecot/conf.d/10-master.conf

 

service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
   mode = 0600
   user = postfix
   group = postfix
  }
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  unix_listener auth-userdb {
   mode = 0600
   user = vmail
  }
  user = dovecot
}
service auth-worker {
  user = vmail
}
service dict {
  unix_listener dict {
  }
}

 

Nueikite į 10-ssl.conf ir pridėkite (arba atkomentuokite) šias linijas:

# sudo nano /etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

 

Nueikite į dovecot-sql.conf.ext failą, pridėkite (arba atkomentuokite) šias linijas ir įrašykite savo sukurtos duomenų bazės informaciją:

# sudo nano /etc/dovecot/dovecot-sql.conf.ext

 

driver = mysql
connect = "host=127.0.0.1 dbname=EmailServer_db user=dba password=JūsųDuomBazėsSlaptažodis"
default_pass_scheme = SHA512-CRYPT
password_query = SELECT Email as User, password FROM Users_tbl WHERE Email='%u';

 

Nueikite į 10-logging.conf failą ir pridėkite (arba atkomentuokite) šią liniją:

# sudo nano /etc/dovecot/conf.d/10-logging.conf

 

log_path = /var/log/dovecot.log

 

Dabar suteikite vartotoją, grupę, bei teises /var/log/dovecot.log direktorijai:

(Jeigu direktorija bei failas neegzistuoja, sukurkite)

# chown vmail:dovecot /var/log/dovecot.log
# chmod 660 /var/log/dovecot.log

 

Suteikite šioms direktorijoms teises bei savininkus:
 

# chown -R vmail:vmail /home/vmail
# chown -R vmail:dovecot /etc/dovecot
# chmod -R o-rwx /etc/dovecot

 

Dabar turite atblokuoti pašto serverio portus Linux ugniasienes:

# firewall-cmd --add-port=143/tcp
# firewall-cmd --add-port=143/tcp --permanent
# firewall-cmd --add-port=110/tcp
# firewall-cmd --add-port=110/tcp --permanent
# firewall-cmd --add-port=587/tcp
# firewall-cmd --add-port=587/tcp --permanent
# firewall-cmd --reload

 

Taip pat reikia SSL/TLS sertifikato, sekite šią pamoką kaip sukurti sertifikatą.

https://devopspoints.com/centos-7-securing-the-mail-server-using-ssl-tls.html

Pašto serveris sukonfiguruotas! Dabar galite suvesti savo pašto serverio IMAP/SMTP duomenis į Outlook/Mozilla Thunderbird (ar kitą paštą) ir siųsti/priimti laiškus.

Antra dalis (Kaip įrašyti roundcube serverį):

 

Redaguota , nario Arm1nas
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1127 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

Skelbimai


×
×
  • Sukurti naują...