DNA TV Hubin ohjeet: Hubin asennus ja käyttöönotto – Uusi DNA TV
Sisällysluettelo:
Tämä on postipalvelinsarjan määrittämisen ja määrittämisen toinen viesti. Tässä viestissä osoitamme sinulle kuinka asentaa ja määrittää Postfix ja Dovecot, postijärjestelmän kaksi pääkomponenttia.
Postfix on avoimen lähdekoodin postinsiirtoagentti (MTA), palvelu, jota käytetään sähköpostien lähettämiseen ja vastaanottamiseen. Dovecot on IMAP / POP3-palvelin ja asennuksissamme se käsittelee myös paikallista toimitusta ja käyttäjän todennusta.
Tämä opetusohjelma on kirjoitettu Ubuntu 16.04: lle, mutta samojen vaiheiden pienillä muutoksilla pitäisi toimia kaikissa Ubuntun uudemmissa versioissa.
edellytykset
Ennen kuin jatkat tätä opetusohjelmaa, varmista, että olet kirjautunut sisään käyttäjänä, jolla on sudo-oikeudet.
Asenna Postfix ja Dovecot
Ubuntu-oletusvarastoissa olevat Dovecot-paketit ovat vanhentuneita.
imap_sieve
moduulin hyödyntämiseksi
imap_sieve
Dovecot-yhteisön arkistosta.
Lisää arkiston GPG-avain apt-lähteiden avainsanoihin seuraavalla wget-komennolla:
wget -O- https://repo.dovecot.org/DOVECOT-REPO-GPG | sudo apt-key add -
Ota Dovecot-yhteisövarasto käyttöön seuraavalla komennolla:
echo "deb https://repo.dovecot.org/ce-2.3-latest/ubuntu/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/dovecot.list
sudo apt update
sudo debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)"
sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix postfix-mysql dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-mysql
Postfix-määritykset
Asennamme Postfixin käyttämään virtuaalisia postilaatikoita ja verkkotunnuksia.
Aloita luomalla
sql
määritystiedostot, jotka ohjeistavat postfixille pääsyn MySQL-tietokantaan, joka on luotu tämän sarjan ensimmäisessä osassa.
sudo mkdir -p /etc/postfix/sql
Avaa tekstieditori ja luo seuraavat tiedostot:
/etc/postfix/sql/mysql_virtual_domains_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
/etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox, alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'
Kun SQL-määritystiedostot on luotu, päivitä postfix-pääkonfiguraatiotiedosto sisältämään tietoja MySQL-tietokantaan tallennetuista virtuaaliverkkotunnuksista, käyttäjistä ja aliaksista.
sudo postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"
sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"
sudo postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"
sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"
sudo postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"
sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"
sudo postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"
Postconf-komento näyttää konfiguraatioparametrien todelliset arvot, muuttaa konfigurointiparametrien arvoja tai näyttää muita Postfix-postijärjestelmän määritystietoja.
Paikallinen toimitus agentti toimittaa saapuvat sähköpostit käyttäjien postilaatikoihin. Suorita seuraava komento asettaaksesi Dovecotin LMTP-palvelun oletuspostituskuljetukseksi:
sudo postconf -e "virtual_transport = lmtp:unix:private/dovecot-lmtp"
Aseta TL-parametrit aiemmin luodulla salaa SSL-varmenteen avulla:
sudo postconf -e 'smtp_tls_security_level = may'
sudo postconf -e 'smtpd_tls_security_level = may'
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_received_header = yes'
sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.linuxize.com/fullchain.pem'
sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.linuxize.com/privkey.pem'
Määritä todennetut SMTP-asetukset ja luovuta todennus Dovecotille:
sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination'
Meidän on myös muokattava Postfix-pääkonfiguraatiotiedostoa
master.cf
ja otettava käyttöön lähetysportti (
587
) ja smtps-portti (
465
).
Avaa tiedosto tekstieditorilla ja poista / muokkaa seuraavia rivejä:
/etc/postfix/master.cf
submission inet n - y - - 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_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated, reject # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated, reject -o milter_macro_daemon_name=ORIGINATING
Käynnistä postfix-palvelu uudelleen, jotta muutokset tulevat voimaan.
sudo systemctl restart postfix
Tässä vaiheessa olet onnistuneesti määrittänyt Postfix-palvelun.
Määritä Dovecot
Tässä osassa määritämme Dovecotin vastaamaan asennustamme. Muista muokata keltaisella korostetut viivat.
Aloita määrittämällä
dovecot-sql.conf.ext
tiedosto, joka neuvoo
dovecot-sql.conf.ext
pääsemään tietokantaan ja kuinka löytää tietoja sähköpostitileistä.
driver = mysql connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD default_pass_scheme = MD5-CRYPT iterate_query = SELECT username AS user FROM mailbox user_query = SELECT CONCAT('/var/mail/vmail/', maildir) AS home, \ CONCAT('maildir:/var/mail/vmail/', maildir) AS mail, \ 5000 AS uid, 5000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule \ FROM mailbox WHERE username = '%u' AND active = 1 password_query = SELECT username AS user, password FROM mailbox \ WHERE username = '%u' AND active='1'
Älä unohda käyttää oikeita MySQL-tunnuksia (dbname, user and password).
Muokkaa seuraavaksi
conf.d/10-mail.conf
tiedosto ja muokkaa seuraavia muuttujia:
… mail_location = maildir:/var/mail/vmail/%d/%n… mail_uid = vmail mail_gid = vmail… first_valid_uid = 5000 last_valid_uid = 5000… mail_privileged_group = vmail… mail_plugins = quota…
Jotta todennus toimisi, avaa
conf.d/10-auth.conf
, muokkaa seuraavia rivejä ja sisällytä
auth-sql.conf.ext
tiedosto:
… disable_plaintext_auth = yes… auth_mechanisms = plain login… #!include auth-system.conf.ext !include auth-sql.conf.ext…
Avaa
conf.d/10-master.conf
tiedosto ja muokkaa sitä seuraavasti:
… service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix }… }… service auth {… unix_listener auth-userdb { mode = 0600 user = vmail group = vmail }… unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }… }… service auth-worker { user = vmail }… service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } }…
Avaa
conf.d/10-ssl.conf
ja ota SSL / TLS käyttöön.
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.
If you have followed this series from the beginning, you should already have the
fullchain.pem
,
privkey.pem
,
dhparam.pem
files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.
Thanks to Nevyn for noticing the problem and providing a solution.
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.
If you have followed this series from the beginning, you should already have the
fullchain.pem
,
privkey.pem
,
dhparam.pem
files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.
Thanks to Nevyn for noticing the problem and providing a solution.
Avaa
conf.d/20-imap.conf
tiedosto ja aktivoi
imap_quota
-laajennus:
… protocol imap {… mail_plugins = $mail_plugins imap_quota… }…
Avaa
conf.d/20-lmtp.conf
tiedosto ja muokkaa sitä seuraavasti:
… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins }…
Määritä oletuspostilaatikot
conf.d/20-lmtp.conf
tiedostossa:
… mailbox Drafts { special_use = \Drafts } mailbox Spam { special_use = \Junk auto = subscribe } mailbox Junk { special_use = \Junk }…
Kiintiökokoja on kahta eri tyyppiä, yksi asetetaan koko verkkotunnukselle ja toinen käyttäjän postilaatikkoa kohti. Tämän sarjan edellisessä osassa olemme jo ottaneet kiintiötuen käyttöön PostfixAdmin-sovelluksessa, mikä tarkoittaa, että kiintiötiedot tallennetaan PostfixAdmin-tietokantaan.
Nyt meidän on määritettävä Dovecot muodostamaan yhteys tietokantaan, käsittelemään kiintiörajoja ja ajamaan skripti, joka lähettää käyttäjälle sähköpostia, kun käyttäjän kiintiö ylittää määritetyn rajan. Avaa niin
conf.d/90-quota.conf
tiedosto ja muokkaa sitä seuraavasti:
plugin { quota = dict:User quota::proxy::sqlquota quota_rule = *:storage=5GB quota_rule2 = Trash:storage=+100M quota_grace = 10%% quota_exceeded_message = Quota exceeded, please contact your system administrator. quota_warning = storage=100%% quota-warning 100 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=90%% quota-warning 90 %u quota_warning4 = storage=85%% quota-warning 85 %u } service quota-warning { executable = script /usr/local/bin/quota-warning.sh user = vmail unix_listener quota-warning { group = vmail mode = 0660 user = vmail } } dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }
Meidän on myös kerrottava dovecotille, kuinka päästä kiintiön SQL-sanakirjaan. Avaa
dovecot-dict-sql.conf.ext
tiedosto ja muokkaa seuraavia rivejä:
… connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD… map { pattern = priv/quota/storage table = quota2 username_field = username value_field = bytes } map { pattern = priv/quota/messages table = quota2 username_field = username value_field = messages }… # map { # pattern = shared/expire/$user/$mailbox # table = expires # value_field = expire_stamp # # fields { # username = $user # mailbox = $mailbox # } # }…
Varmista, että käytät oikeita MySQL-käyttöoikeustietoja (dbname, user and password).
Luo seuraava kuori-skripti, joka lähettää sähköpostia käyttäjälle, jos sen kiintiö ylittää määritetyn rajan:
/usr/local/bin/quota-warning.sh
#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=dict:User quota::noenforcing:proxy::sqlquota" From: [email protected] Subject: Quota warning Your mailbox is now $PERCENT% full. EOF
Tee skripti suoritettavaksi suorittamalla seuraava
chmod
komento:
sudo chmod +x /usr/local/bin/quota-warning.sh
Käynnistä lopuksi uudelleen kyyhkysoppi, jotta muutokset tulevat voimaan.
sudo systemctl restart dovecot
johtopäätös
Tähän mennessä sinulla pitäisi olla täysin toimiva postijärjestelmä. Tämän sarjan seuraavassa osassa näytämme sinulle kuinka asentaa ja integroida Rspamd.
postipalvelimen postiliite kyyhkynenTämä viesti on osa sähköpostipalvelinsarjan määrittämistä ja määrittämistä.
Muut tämän sarjan viestit:
• Sähköpostipalvelimen määrittäminen PostfixAdminilla. • Asenna ja määritä Postfix ja Dovecot. • Asenna ja integroi Rspamd. • Asenna ja määritä Roundcube Webmail10AppsManager: Asenna ja asenna uudelleen Windows 10 Myy sovellukset
10AppsManager on ilmainen ohjelma, jonka avulla voit poistaa, , sisäänrakennetut, esiasennetut Windows Store -sovellukset Windows 10: ssä.
Mirekusoft Install Monitor: Asenna ja asenna ohjelmisto Windows-käyttöjärjestelmään
Lataa Mirekusoft Install Monitor. Se on Microsoft Windowsin työpöytäsovellusten poisto-ohjelman sovellusten hallintatyökalu. Se tarkkailee sovelluksen resurssien käyttöä ja poistaa kaikki tarpeettomat sovellukset kokonaan.
Asenna ja määritä pyöreän kuution verkkoposti
Roundcube on web-pohjainen IMAP-sähköpostiohjelma, jolla on erittäin intuitiivinen ja moderni käyttöliittymä, joka on kirjoitettu PHP: llä. Tämä opetusohjelma sisältää tarvittavat vaiheet Roundcube Webmail -sovelluksen asentamiseen ja määrittämiseen.