Paano mag-set up ng mail server gamit ang PostfixAdmin sa CentOS 7

Sa artikulong ito, ipapakita namin sa iyo kung paano i-setup at i-configure ang isang mail server na may PostfixAdmin, Postfix, Dovecot at SQLite sa isang CentOS VPS. Ang PostfixAdmin ay isang front-end na web-based na PHP na nagbibigay-daan sa iyo upang pamahalaan ang mga virtual na domain at mga user para sa isang postfix agent ng mail sa mail. Ang gabay na ito ay dapat magtrabaho sa iba pang mga sistema ng Linux VPS pati na rin ngunit sinubukan at isinulat para sa isang CentOS 7 VPS.

Kung gumagamit ka ng Ubuntu, sundin ang aming tutorial upang i-set up Postfix, Dovecot, Spamassassin, SQLite at PostfixAdmin sa isang Ubuntu 16.04 VPS na may Nginx at PHP 7.0

I-update ang system at i-install ang mga kinakailangang pakete

yum update yum install wget nano sqlite

Lumikha ng user ng system

Para sa mga kadahilanang pang-seguridad, lilikha kami ng isang bagong user ng system na magiging may-ari ng lahat ng mga mailbox.

useradd -r -u 150 -g mail -d / var / vmail -s / sbin / nologin -c "Virtual Mail User" vmail mkdir -p / var / vmail chmod -R 770 / var / vmail chown -R vmail: mail / var / vmail

I-install ang PostfixAdmin

Ang pinakabagong bersyon ng PostfixAdmin, bersyon 3, ay sumusuporta MySQL, PostgreSQL, at SQLite database. Sa gabay na ito, gagamitin namin ang SQLite.
I-download ang PostfixAdmin archive mula sa SourceForge at i-extract ito sa / var / www / html / na direktoryo:

wget -q -O - "http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.0.2.2/postfixadmin-3.0.2.2.tar.gz" | tar -xzf - -C / var / www / html

Buksan ang file ng configuration ng mail at i-edit ang sumusunod na mga halaga:

nano /var/www/html/postfixadmin-3.0.2/config.inc.php
$ CONF ['configure'] = true; $ CONF ['database_type'] = 'sqlite'; // $ CONF ['database_host'] = 'localhost'; // $ CONF ['database_user'] = 'postfix'; // $ CONF ['database_password'] = 'postfixadmin'; $ CONF ['database_name'] = '/var/vmail/postfixadmin.db'; $ CONF ['domain_path'] = 'NO'; $ CONF ['domain_in_mailbox'] = 'OO';
chown -R apache: / var / www / html / postfixadmin-3.0.2

Lumikha ng database ng SQLite:

pindutin ang /var/vmail/postfixadmin.db chown vmail: mail /var/vmail/postfixadmin.db chmod 660 /var/vmail/postfixadmin.db usermod -a -G mail apache

Upang populate ang database pumunta sa https://Your_IP_Address/postfixadmin-3.0.2/setup.php at dapat mong makita ang isang bagay tulad ng sa ibaba:
Koneksyon ng pagsubok sa database - OK - sqlite: //: xxxxx@//var/vmail/postfixadmin.db Mukhang maayos ang lahat ... pagtatangka na lumikha / mag-update ng istraktura ng database

Lumikha ng isang bagong admin user:

bash / var / www / html / postfixadmin-3.0.2 / script / postfixadmin-cli admin idagdag admin@your_domain_name.com --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1

I-install at i-configure ang postfix

Ang postfix na bersyon 3 ay hindi magagamit sa default CentOS 7 repository kaya gagamitin namin ang GhettoForge repository:

rpm -Uhv http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

I-install ang postfix3 sa suporta ng SQLite na may utos na umuulan:

yum i-install postfix3 postfix3-sqlite --enablerepo = gf-plus

Sa sandaling makumpleto ang pag-install, lumikha ng mga sumusunod na file:

nano /etc/postfix/sqlite_virtual_alias_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT goto FROM alias WHERE address = '% s' AND active = '1'
nano /etc/postfix/sqlite_virtual_alias_domain_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '% d' at alias.address = '% u' || '@' || alias_domain.target_domain AT alias.active = 1 AT alias_domain.active = '1'
nano /etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '% d' at alias.address = '@' || alias_domain.target_domain AT alias.active = 1 AT alias_domain.active = '1'
nano /etc/postfix/sqlite_virtual_domains_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT domain FROM domain WHERE domain = '% s' AND active = '1'
nano /etc/postfix/sqlite_virtual_mailbox_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT maildir FROM mailbox WHERE username = '% s' AND active = '1'
nano /etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT maildir FROM mailbox, alias_domain WHERE alias_domain.alias_domain = '% d' at mailbox.username = '% u' || '@' || alias_domain.target_domain AT mailbox.active = 1 AT alias_domain.active = '1'

Natigil sa isang lugar? Kumuha ng VPS mula sa amin at gagawin namin ang lahat ng ito para sa iyo, nang walang bayad! Kami ay ganap na mag-set up at i-configure ang isang mail server para sa iyo.

I-edit ang main.cf file:

postconf -e "myhostname = $ (hostname -f)" postconf -e "virtual_mailbox_domains = sqlite: /etc/postfix/sqlite_virtual_domains_maps.cf" postconf -e "virtual_alias_maps = sqlite: /etc/postfix/sqlite_virtual_alias_maps.cf, sqlite: / etc / postfix / sqlite_virtual_alias_domain_maps.cf, sqlite: /etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf "postconf -e" virtual_mailbox_maps = sqlite: /etc/postfix/sqlite_virtual_mailbox_maps.cf, sqlite: /etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf "postconf -e "smtpd_tls_cert_file = /etc/pki/tls/certs/localhost.crt" postconf -e "smtpd_tls_key_file = /etc/pki/tls/private/localhost.key" postconf -e "smtpd_use_tls = yes" postconf -e "smtpd_tls_auth_only = yes "postconf -e" smtpd_sasl_type = dovecot "postconf -e" smtpd_sasl_path = private / auth "postconf -e" smtpd_sasl_auth_enable = yes "postconf -e" smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination "postconf -e" mydestination = localhost "postconf -e "mynetworks = 127.0.0.0 / 8" postconf -e "inet_protocols = ipv4" postconf -e "inet_interfaces = lahat" postconf -e "virtual_transport = lmtp: unix: private / dovecot-lmtp"

Buksan ang master.cf file, hanapin pagsusumite ng inet n at smtps inet n seksyon at i-edit ang mga sumusunod:

nano /etc/postfix/master.cf
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 = Walang # -o smtpd_client_restrictions = $ mua_client_restrictions # -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, tanggihan -o milter_macro_daemon_name = nanggagaling smtps inet n - n - - 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 = $ mua_client_restrictions # -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

Paganahin at i-restart ang postfix service

systemctl paganahin ang postfix systemctl restart postfix

I-install at I-configure ang Dovecot

I-install ang dovecot gamit ang command bellow:

yum install dovecot

Buksan ang /etc/dovecot/conf.d/10-mail.conf file at baguhin ang sumusunod na mga halaga:

nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir: / var / vmail /% d /% n mail_privileged_group = mail mail_uid = vmail mail_gid = mail first_valid_uid = 150 last_valid_uid = 150

Buksan ang /etc/dovecot/conf.d/10-auth.conf file at baguhin ang sumusunod na mga halaga:

nano /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login #! isama ang auth-system.conf.ext! isama auth-sql.conf.ext

Gumawa ng bago dovecot-sql.conf.ext file:

nano /etc/dovecot/dovecot-sql.conf.ext
driver = sqlite connect = /var/vmail/postfixadmin.db default_pass_scheme = MD5-CRYPT password_query = PUMILI username bilang user, password, '/ var / vmail /% d /% n' bilang userdb_home, 'maildir: / var / vmail / % d /% n 'bilang userdb_mail, 150 bilang userdb_uid, 8 bilang userdb_gid FROM mailbox WHERE username ='% u 'AT aktibo =' 1 'user_query = PUMILI' / var / vmail /% d /% n ' maildir: / var / vmail /% d /% n 'bilang mail, 150 AS uid, 8 AS gid,' dirsize: storage = '|| quota AS quota FROM mailbox WHERE username = '% u' AND active = '1

Sa /etc/dovecot/conf.d/10-ssl.conf file na paganahin ang suporta ng SSL:

ssl = oo

Buksan ang /etc/dovecot/conf.d/15-lda.conf file at itakda ang postmaster_address email address.

postmaster_address = postmaster@your_domain_name.com

Buksan ang /etc/dovecot/conf.d/10-master.conf file, hanapin ang seksyong lmtp ng serbisyo at baguhin ito sa:

serbisyo lmtp {unix_listener / var / spool / postfix / private / dovecot-lmtp {mode = 0600 user = postfix group = postfix}}

hanapin ang seksyong auth ng serbisyo at baguhin ito sa:

service auth {unix_listener / var / spool / postfix / private / auth {mode = 0666 user = postfix group = postfix} unix_listener auth-userdb {mode = 0600 user = vmail #group = vmail} user = dovecot}

Baguhin ang seksyon ng karapat-dapat na serbisyo sa sumusunod:

serbisyo ng auth-worker {user = vmail}

Itakda ang mga pahintulot:

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

Paganahin at i-restart ang serbisyo ng dovecot

systemctl paganahin dovecot systemctl restart dovecot 

Kung tama ang lahat ng setup ngayon dapat kang mag-log in sa iyong PostfixAdmin backend sa pamamagitan ng pagpunta sa http://Your_IP_Address/postfixadmin-3.0.2.2 at lumikha ng iyong unang virtual na domain at mailbox.

pinagmulan

Mag-iwan ng komento