Postfix, instalace a základní konfigurace

PostFix a SendMail patří patrně mezi nejrozšířenější poštovní servery, tedy podle mého názoru. Protože se SendMailem jsem se nenaučil pracovat, byla pro mne jasná volba PostFix. Instalace a konfigurace je jednoduchá, umožňuje většinu toho, co SendMail a na internetu je dostatek návodů, které dokáží pomoci v případě problémů.
Tento postup by měl pomoci s instalací krok za krokem. V této části řeším pouze tvorbu jednoho poštovního úřadu. Časem, chci dodat další.



Instalace
Postup základní instalace je poměrně jednoduchý. Upraví se konfigurace příkazu make, nainstaluje se postfix a nakonfiguruje rc.conf. Nejprve ale stroj musí mít nastavený hostname, v jiném případě konfigurace neprojde.... Pro jistotu to trochu rozepíšu:
1) Úprava souboru /etc/make.conf má za účel uvědomit další možný software, že nebude využíván program SendMail, ale něco jiného:
NO_SENDMAIL=true

2) Instalace programu postfix je trošku náročnější, protože je v portech větší množství verzí mailserveru. Ty jsou umístěné v následujících adresářích a program portinstall pak tyto verze nabízí:
/usr/ports/mail/postfix
/usr/ports/mail/postfix1
/usr/ports/mail/postfix21
/usr/ports/mail/postfix22
/usr/ports/mail/postfix23
/usr/ports/mail/postfix24


Instalace proběhne po zadání příkazu:
portinstall postfix

Při úvodní konfiguraci jsou pak k dispozici následující nastavení, které později určují chování a rozšiřitelnost serveru:
PCRE     Perl Compatible Regular Expressions
SASL2    Cyrus SASLv2 (Simple Auth. and Sec. Layer)
DOVECOT  Dovecot SASL authentication method
SASLKRB  If your SASL req. Kerberos select this option
SASLKRB5 If your SASL req. Kerberos5 select this option
SASLKMIT If your SASL req. MIT Kerberos5 select this option
TLS      Enable SSL and TLS support
BDB      Berkeley DB (choose version with WITH_BDB_VER)
MYSQL    MySQL maps (choose version with WITH_MYSQL_VER)
PGSQL    PostgreSQL maps (choose with DEFAULT_PGSQL_VER)
OPENLDAP OpenLDAP maps (choose ver. with WITH_OPENLDAP_VER)
CDB      CDB maps lookups
NIS      NIS maps lookups
VDA      VDA (Virtual Delivery Agent)
TEST     SMTP/LMTP test server and generator


Některé z těchto nastavení nejsou vzájemně kompatibilní, například Cyrus SASLv2 a Dovecot nemohou být paralelně. Protože jako POP3/IMAP4 server využívám Dovecot, pro uživatele používám LDAP nastavuji následující volby. Samozřejmě, záleží na požadavcích, neznamená to že uvedené nastavení je optimální:
DOVECOT, TLS,BDB,OPENLDAP,CDB,VDA.

3) Po kompilaci je nutné provést úpravy následujících souborů:
/etc/rc.conf
#Sendmail
sendmail_enable="NO"
sendmail_msp_queue_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
#PostFix
postfix_enable="YES"


/etc/mail/mailer.conf
sendmail /usr/local/sbin/sendmail
send-mail /usr/local/sbin/sendmail
mailq /usr/local/sbin/sendmail
newaliases /usr/local/sbin/sendmail


/etc/periodic.conf
daily_clean_hoststat_enable="YES"
daily_status_mail_rejects_enable="YES"
daily_status_include_submit_mailq="YES"
daily_submit_queuerun="YES"


Úprava konfiguračního souboru pro postfix v.2.4, v tomto případě spřaženým s programem dovecot.
/usr/local/etc/postfix/main.cf
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = no
inet_interfaces = all
inet_protocols = ipv4
myhostname0 = mail.firma.cz
myhostname1 = mail.firma.local
mydomain0 = firma.cz
mydomain1 = firma.local
myorigin = $mydomain
mydestination = $mydomain0, $mydomain1, localhost
mynetworks = 192.168.1.0/24, 127.0.0.0/8
mynetworks_style = host
relay_domains = $myhostname0, $mydomain0, $myhostname1, $mydomain1
append_at_myorigin = no
header_checks = regexp:$config_directory/header_checks
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
disable_vrfy_command = yes
smtpd_tls_security_level = may
smtpd_tls_key_file = /usr/local/etc/postfix/mailkey.pem
smtpd_tls_cert_file = /usr/local/etc/postfix/mailcrt.pem
tls_random_source = dev:/dev/urandom
transport_maps = hash:$config_directory/transport
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
unknown_local_recipient_reject_code = 450
myhostname = $hostname0
delay_warning_time = 4
queue_directory = /var/spool/postfix
mail_owner = postfix


Rozšíření souboru /usr/local/etc/postfix/master.cf o následující parametry:
smtps      inet  n       -       n       -       -       smtpd
#   -o smtpd_tls_wrappermode=yes
#   -o smtpd_sasl_auth_enable=yes
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject

4) A vytvořit pár dalších úprav:
cd /usr/local/etc/postfix
./post-install create-missing
postmap access cannonical relocated virtual generic transport
cd /etc/mail
mv aliases aliases.old
rm /etc/mail/aliases /etc/mail/aliases.db /etc/aliases /etc/aliases.db
ln -s /usr/local/etc/postfix/aliases /etc/mail/aliases
ln -s /usr/local/etc/postfix/aliases /etc/aliases
newaliases
ln -s /etc/aliases.db /etc/mail/aliases.db
ln -s /etc/aliases.db /usr/local/etc/postfix/aliases.db


Powered by Drupal - Design by artinet