FreeBSD: строим почтовую систему Postfix + Dovecot + MySQL + Postfix Admin, часть 1 — установка и настройка Postfix Admin.

Автор: | 08/05/2012
 

Т.к. сам процесс довольно долгий и содержит много листингов (примеры конфигурация и прочее) — то разделен на 3 части.

Использоваться будут:

mysql-server-5.5.25
postfixadmin-2.3.5
postfix-2.9.3,1
dovecot-1.2.17

на системе FreeBSD 9.0-RELEASE-p3.

В первой — процесс установки и настройки Postfix Admin.

Во второй — процесс установки и настройки Postfix.

В третьей — процесс установки и настройки Dovecot.

Начнем с установки Postfix Admin и настройки MySQL для работы Postfix и Dovecot.

Хотя процесс уже и был описан тут>>> — но «повторение — мать учения», потому — добавлю ещё одно описание.

Обновим порты:

# portsnap fetch update

Начнем установку:

# cd /usr/ports/mail/postfixadmin/
# make config-recursive
# make install clean

Создадим виртуал-хост (мне кажется более правильным решением), доступ будет по адресу http://postfixadmin.domain.org.ua, в файл конфигурации веб-сервера Apache /usr/local/etc/apache22/httpd.conf добавляем строки:

Alias /postfixadmin/ "/usr/local/www/postfixadmin/"

<VirtualHost *:80>
  ServerAdmin postmaster@domain.org.ua
  DocumentRoot /usr/local/www/postfixadmin
  ServerName postfixadmin.domain.org.ua
  <Directory "/usr/local/www/postfixadmin">
    Options none
    AllowOverride Limit
    Order Allow,Deny
    Allow from all
  </Directory>
</VirtualHost>

Другой вариант — просто создать каталог «внутри» домена, в таком случае доступ к панели будет по адресу http://domain.org.ua/postfixadmin/

Alias /postfixadmin/ "/usr/local/www/postfixadmin/"

<Directory "/usr/local/www/postfixadmin">
  Options none
  AllowOverride Limit
  Order Allow,Deny
  Allow from all
</Directory>

Проверяем на ошибки файл конфигурации:

# apachectl configtest
Syntax OK

Перезагружаем веб-сервер:

# apachectl restart

Если выбрали первый вариант, с отдельным субдоменом, то настроим его, отредактировав файл зоны /var/named/zones/master/domain.org.ua:

postfixadmin      IN      A       77.120.106.40

2012080403      ; Serial

Если домен обслуживается, к примеру, NS-ами вашего регистратора домена — обратитесь к нему для создания субдомена.

Обновим записи зон сервера BIND:

# rndc reload

MySQL должен быть установлен и настроен. Если его нет — тут>>> описан процесс установки. Хотя он должен будет установиться во время начала сборки Postfix Admin.

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

Подключаемся к MySQL:

# mysql -u root -p
Enter password:

Создаем базу данных:

mysql> create database postfix;
Query OK, 1 row affected (0.01 sec)

Создаем пользователя postfix и даем ему доступ к базе postfix:

mysql> grant all on postfix.* to 'postfix'@'localhost' identified by 'mypassword';
Query OK, 0 rows affected (0.62 sec)

Выходим из управления MySQL:

mysql> exit
Bye

Редактируем файл конфигурации Postfix Admin, который находится тут — /usr/local/www/postfixadmin/config.inc.php:

Меняем строку:

$CONF['configured'] = false;

на:

$CONF['configured'] = true;

Далее

#Адрес, по которому будет работать наша панель:
$CONF['postfix_admin_url'] = 'http://postfixadmin.domain.org.ua'
#Задаем язык интерфейса по-умолчанию:
$CONF['default_language'] = 'ru';
#Тип базы данных, с которой будет работать панель:
$CONF['database_type'] = 'mysql';
#Адрес сервера MySQL:
$CONF['database_host'] = '127.0.0.1';

Далее указываем данные доступа, которые указывали в mysql> при создании пользователя и базы:

$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'mypassword';
$CONF['database_name'] = 'postfix';
$CONF['database_prefix'] = '';

Сохраняем и закрываем файл.
Далее — переходим в панель и начинаем процесс установки:

http://postfixadmin.domain.org.ua/setup.php

Вводим пароль, который будет использоваться для конфигурирования и переходим на следующую страницу:

Снова открываем файл для редактирования, и меняем строку:

$CONF['setup_password'] = 'changeme';

на

$CONF['setup_password'] = 'циферки_буковки';

где «циферки_буковки» — хеш, указанный на странице, на которой вы находитесь.

Заполняем на странице поля — почтовый ящик будет использоваться как логин администратора.

Теперь переходим на http://postfixadmin.domain.org.ua/login.php вводим логин-пароль:

И попадаем в панель управления сервером:

Переходим «Список доменов — Новый домен«, добавляем наш домен:

Домен был добавлен!
(domain.org.ua)

Далее переходим «Обзор — Создать ящик«:

Сообщение отправлено!
Почтовый ящик был успешно создан!
(root@domain.org.ua)

Письмо мы сейчас, само собой, не получим — но панель работает.

Теперь приступим к установке и настройке самого SMTP-сервера (или MTAMail, он же Message, Transfer Agent) — Postfix.
Об этом — во второй части.