MailServerP8
Заметки по установке Samba, Postfix, Dovecot на платформе p8
Используется ActiveDirectory/PostfixDovecot и ActiveDirectory/DC
- Устанавливается basealt-server c 4GB RAM/32GB disk в виртуальную машину с доступом в интернет.
- Выбирается Office Server (нужно много места под файлы почты в var).
- В приложениях выбираем
- Сервер LAMP
- Cервер PostgresSQL
- Samba-сервер
- Почтовый сервер
- Имя компьютера - host15
По ActiveDirectory/DC по пунктам с комментариями:
- Могут быть выданы безобидные сообщения об ошибках
- task_samba_dc оказался уже установленным в результате выбора Samba-server
Создание нового домена
- Задаем параметры желаемого хоста и домена.
HOSTNAME=dc.school.alt в /etc/sysconfig/network hostname dc.school.alt domainname school.alt
. После этого перезагружаемся.
- производим создание домена
samba-tool domain provision --realm=school.alt --domain school --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307 --use-xattrs=yes
- добавление samba в автостарт — без особенностей.
надо записать
nameserver 127.0.0.1 search school.altи сделать service networking restart
Проверка домена
Проверки прошли правильно.
Создание пользователя
samba-tool user add ivanov --given-name='Иван Иванов' --mail-address='ivanov@school.alt'
При задании пароля требуется, чтобы он был не короче 7 символов и содержал строчные, прописные буквы и спецсимволы. Примечание: запись о компьютере создается либо во время входа компьютера в домен, либо может быть задана заранее средствами управления доменами Windows.
Проверка ldap
Cначала устанавливаю openldap и openldap-clients. Результат:
ldapsearch -LLL -b '' -s base -x dn: configurationNamingContext: CN=Configuration,DC=school,DC=alt defaultNamingContext: DC=school,DC=alt rootDomainNamingContext: DC=school,DC=alt schemaNamingContext: CN=Schema,CN=Configuration,DC=school,DC=alt subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,DC=school,DC=alt supportedCapabilities: 1.2.840.113556.1.4.800 supportedCapabilities: 1.2.840.113556.1.4.1670 supportedCapabilities: 1.2.840.113556.1.4.1791 supportedCapabilities: 1.2.840.113556.1.4.1935 supportedCapabilities: 1.2.840.113556.1.4.2080 supportedLDAPVersion: 2 supportedLDAPVersion: 3 vendorName: Samba Team (http://samba.org) isSynchronized: TRUE dsServiceName: CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN =Sites,CN=Configuration,DC=school,DC=alt serverName: CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configurat ion,DC=school,DC=alt dnsHostName: dc.school.alt ldapServiceName: school.alt:dc$@SCHOOL.ALT currentTime: 20160615162522.0Z supportedControl: 1.2.840.113556.1.4.841 supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 1.2.840.113556.1.4.1504 supportedControl: 1.2.840.113556.1.4.801 supportedControl: 1.2.840.113556.1.4.801 supportedControl: 1.2.840.113556.1.4.805 supportedControl: 1.2.840.113556.1.4.1338 supportedControl: 1.2.840.113556.1.4.529 supportedControl: 1.2.840.113556.1.4.417 supportedControl: 1.2.840.113556.1.4.2064 supportedControl: 1.2.840.113556.1.4.1413 supportedControl: 1.2.840.113556.1.4.1413 supportedControl: 1.2.840.113556.1.4.1413 supportedControl: 1.2.840.113556.1.4.1413 supportedControl: 1.2.840.113556.1.4.1413 supportedControl: 1.2.840.113556.1.4.1339 supportedControl: 1.2.840.113556.1.4.1340 supportedControl: 1.2.840.113556.1.4.1413 supportedControl: 1.2.840.113556.1.4.1341 namingContexts: DC=school,DC=alt namingContexts: CN=Configuration,DC=school,DC=alt namingContexts: CN=Schema,CN=Configuration,DC=school,DC=alt namingContexts: DC=DomainDnsZones,DC=school,DC=alt namingContexts: DC=ForestDnsZones,DC=school,DC=alt supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: NTLM highestCommittedUSN: 3773 domainFunctionality: 4 forestFunctionality: 4 domainControllerFunctionality: 4 isGlobalCatalogReady: TRUE
Установка и настройка почтовой системы
Устанавливаем Postfix и Dovecot по образцу ActiveDirectory/PostfixDovecot
Создание пользователя в Active Directory
samba-tool user add -W Users vmail пароль ввести и запомнить. samba-tool user setexpiry vmail --noexpiry
Увеличение системных лимитов
Системные ограничения предустановлены для ситуации по умолчанию, желательно их расширить созданием файла /etc/security/limits.d/55-mailserver.conf c содержимым
* soft nproc 4096 * soft nofile 4096
(увеличить количество процессов и количество открытых файлов для процесса). После этого желательно перезапустить систему.
Настройка Postfix
Тестовое окружение: локальная сеть маршрутизируема из интернет (нет NAT), сервер должен принимать как почту из интернета, так и сообщения, отправляемые авторизованными пользователями или из локальной сети.
- Установка (установка postfix-ldap была необходима).
в каталоге /etc/postfix
- main.cf (файл, определяющий основное поведение почты).
# Global Postfix configuration file. This file lists only a small subset
# of all parameters. For the syntax, and for a complete parameter list,
# see the postconf(5) manual page. For a commented and more complete
# version of this file see /etc/postfix/main.cf.dist
# use standard delivery mechanism with filtering options for mailbox delivery
# it is NOT for domain delivery
mailbox_command = /usr/bin/procmail -a $DOMAIN -d $LOGNAME
# use only ipv4
inet_protocols = ipv4
# Mappings
# this is the domain we want to accept mail for
virtual_mailbox_domains = school.alt
# in this file we will check for domain users
virtual_mailbox_maps = ldap:/etc/postfix/ad_local_recipients.cf
# this file will route aliases/mail groups to real recipients
virtual_alias_maps = ldap:/etc/postfix/ad_mail_groups.cf
# mail for virtual domain will be delivered by dovecot imap4 server
virtual_transport = dovecot
# SSL/TLS
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = school.alt
smtpd_sasl_path = private/auth
# postfix will use dovecot for ldap calls about authentication of users
# via SASL
smtpd_sasl_type = dovecot
# mail senders (who use SMTP protocol) will be handled according to the
# following file
smtpd_sender_login_maps = ldap:/etc/postfix/ad_sender_login.cf
#! we should allow 25 untrusted connections on SMTP port here - from internet
#smtpd_tls_auth_only = yes
smtpd_tls_auth_only = no
# use postfix internal certs for authentication (?!)
smtpd_tls_CAfile = /var/lib/ssl/certs/postfix.pem
smtpd_tls_cert_file = /var/lib/ssl/certs/postfix.cert
smtpd_tls_key_file = /var/lib/ssl/private/postfix.key
smtpd_tls_security_level = encrypt
smtpd_use_tls = yes
В файле /etc/postfix/master.cf надо будет добавить строки
smtp inet n - - - - smtpd
- транспорт для входящей почты по протоколу SMTP
dovecot unix - n n - - pipe
flags=DRhu user=mail:mail argv=/usr/libexec/dovecot/deliver -d ${recipient}
- транспорт для доставки почты в dovecot imap4
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
- транспорт для защищенного соединения для получения исходящей почты от "своих" клиентов.