Первая часть статьи посвященной установке и настройке почтового сервера EXIM, pop3/imap сервера Dovecot, и веб интерфейсов для управления и использования всего этого.

Первым делом необходимо разобраться в структуре почтового сервера, по сути почтовый сервер будет состоять из двух частей

  • Dovecot — IMAP, POP3 сервер MDA(mail delivery agent). С этим сервером будут взаимодействовать клиенты электронной почты, thunderbird-ы, аутлоки и прочие. Также этот сервер будет отвечать за аутентификацию пользователей и хранение электронной почты на жестком диске до той поры пока пользователь не удалит её.
  • EXIM — SMTP сервер MTA (mail transfer agent). Сервер который будет отвечать за прием и отправку почты другим почтовым серверам интернета после чего передавать ее Dovecoty который будет эту электронную почту раскладывать по ящикам пользователей.

И еще одна необходимая вещь для создания почтовика:

Postfix admin — веб интерфейс для создания пользователей (почтовых ящиков) почтового сервера.

Собственно c Postfixadmin и стоит начинать установку и настройку сервера.

Итак, установку будем проводить в четыре этапа:

  • первый — Установка Postfix admin -a и создание базы данных будущих пользователей почтового сервера в MySQL.
  • второй —  Установка и настройка Dovecot -a который будет предоставлять доступ этим пользователям к их почтовым ящикам по протоколу POP3 или IMAP.
  • третий — Установка и настройка агента передачи почты EXIM для отправки и приема почты от других почтовых серверов интернета.
  • четвертый — Установка и настройка веб клиента электронной почты Roundcube.

Так как управление сервером будет осуществляется через веб интерфейсы мы должны иметь настроенные Apache и DNS сервера. Полная настройка апача и днс материал для отдельной статьи тут приведу конфиги которые нужно добавить в уже настроенные сервера.

В папку конфигов виртуальных хостов апача «/etc/apache2/vhosts.d/» добавляем файл «pfa.example.com.conf» следующего содержания:

<VirtualHost *>
 DocumentRoot /srv/www/pfadmin
 ServerName pfa.example.com
 ServerAdmin admin@example.com
 <Directory /srv/www/pfadmin>
  AllowOverride All
  Order allow,deny
  Allow from all
 </Directory>
</VirtualHost>

В папке «/srv/www/pfadmin» должен находится скачанный и распакованный postfixadmin также необходимо дать веб серверу права на доступ к папке и файлам:

srv:/srv/www # chown -R wwwrun:www pfadmin

В файл зоны DNS сервера добавляем строку:

pfa                          CNAME      example.com.

Теперь постфиксадмин будет доступен по адресу pfa.example.com.

Далее переходим в командную строку запускаем mysql и создаем пользователя и базу данных  в которой будут хранится данные о почтовых аккаунтах.

mysql -p -u root
<вводим пароль root>
 >CREATE DATABASE postfixdb;
 >CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password';
 >GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';

где postfixdb — имя базы данных

postfix — пользователь базы данных

choose_a_password — пароль к базе данных

Среди файлов postfixadmin ищем «config.inc.php»  и исправляем в следующих строках имя базы данных, пользователя и пароль

$CONF['database_user'] = 'postfixdb';
$CONF['database_password'] = 'choose_a_password';
$CONF['database_name'] = 'postfix';

исправляем строку — «$CONF['configured'] = false;» на «$CONF['configured'] = true;»

Переходим браузером по ссылочке

http://pfa.example.com/setup.php

Если все хорошо любуемся целой кучей срочек оканчивающихся «OK», радуемся, постфихадмин практически установлен. Создаем пароль для следующего входа в setup.php и копируем его в строку $CONF['setup_password'] =’  ’, следующим шагом создаем аккаунт админа.

Если гдето не горит «ОК» разбираемся в чем дело и устраняем неисправность.

Заходим по адресу http://pfa.example.com/ вводим ранее созданный емейл и пароль админа и добавляем необходимое колво почтовых ящиков.

На этом настройку и заполнения базы данных пользователей почтового сервера можно считать законченным.