Строим почтовую систему(postfix, dovecot, postfixadmin) – часть первая,

установка PostfixAdmin на FreeBSD

Создать легкую, быструю, да и еще и легко управляемую почтовую систему, это почти недосягаемый идеал. Это все потому, что легко управляемые и удобные средства, как правило потребляют запредельные ресурсы.

Вариант с MySQL, как хранилище авторизационных данных, является наименьшим из зол, поскольку простые селекты он отрабатывает очень быстро, так что для простой сети этого вполне хватит. И панель управления postfixadmin проста и удобна в использовании.

По итогу, что бы построить почту нам нужны установленный Apache c PHP, MySQL, и соответственно настроенный ДНС, который указывает MX-сы для нашего домена на тот сервер, где вы будете строить почтовую систему.

Настройку начнем с того, что установим PostfixAdmin, установим его из портов:

cd /usr/ports/mail/postfixadmin/

make install clean

В начале небольшой конфигурационный диалог:

---------------------------------------------------------------------¬

¦ Options for postfixadmin 2.2.1.1 ¦

¦ -----------------------------------------------------------------¬ ¦

¦ ¦ [X] MYSQL MySQL back-end (use mysql PHP extension) ¦ ¦

¦ ¦ [ ] MYSQLI MySQL 4.1+ back-end (use mysqli PHP extension) ¦ ¦

¦ ¦ [ ] PGSQL PostgreSQL back-end (use pgsql PHP extension) ¦ ¦

+-L------------------------------------------------------------------+

¦ [ OK ] Cancel ¦

L---------------------------------------------------------------------

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

<VirtualHost *:80>

ServerAdmin postmaster@hilik.org.ua

DocumentRoot /usr/local/www/postfixadmin

ServerName postmaster.hilik.org.ua

<Directory /usr/local/www/postfixadmin>

AllowOverride All

</Directory>

</VirtualHost>

Далее нужно создать базу и пользователя MySQL:

mysql -uroot -p

create database postfix;

grant all on postfix.* to 'postfix'@'localhost' identified by 'postfixpass';

Теперь нужно изменить файл настроек postfixadmin /usr/local/www/postfixadmin/config.inc.php.

Изменим

$CONF['configured'] = false;

на

$CONF['configured'] = true;

Эта установка означает, что мы создали базы и пользователя MySQL.

Укажем URL на котором будет отвечать наш постфиксадмин:

$CONF['postfix_admin_url'] = 'http://postmaster.hilik.org.ua';

Далее в этом же файле установим языком по умолчанию русский:

$CONF['default_language'] = 'ru';

И установим параметры подключения к базе MySQL:

$CONF['database_type'] = 'mysql';

$CONF['database_host'] = '127.0.0.1';

$CONF['database_user'] = 'postfix';

$CONF['database_password'] = 'postfixpass';

$CONF['database_name'] = 'postfix';

$CONF['database_prefix'] = '';

И можно открывать в браузере установку:

http://postmaster.hilik.org.ua/setup.php

Там вы увидите примерно такое:

Postfix Admin Setup Checker

Running software:

* PHP version 5.2.9

* Apache/1.3.41 (Unix) PHP/5.2.9 with Suhosin-Patch

Checking for dependencies:

* Warning: Magic Quotes: ON (internal workaround used)

* Depends on: presence config.inc.php - OK

* Checking $CONF['configured'] - OK

* Depends on: MySQL 3.23, 4.0 - OK

* Depends on: MySQL 4.1 - OK (change the database_type to 'mysqli' in config.inc.php!!)

* Testing database connection - OK - mysql://postfix:xxxxx@127.0.0.1/postfix

* Depends on: session - OK

* Depends on: pcre - OK

* Depends on: multibyte string - OK

* Depends on: IMAP functions - OK

Everything seems fine... attempting to create/update database structure

Updating database:

old version: 0; target version: 397

updating to version 1 (all databases)...upgrade_1 done

updating to version 1 (MySQL)... done

updating to version 2 (MySQL)... done

updating to version 3 (MySQL)... done

updating to version 4 (MySQL)... done

updating to version 5 (MySQL)... done

updating to version 79 (MySQL)... done

updating to version 81 (MySQL)... done

updating to version 90 (all databases)... done

updating to version 169 (MySQL)... done

updating to version 318 (MySQL)... done

updating to version 344 (MySQL)... done

updating to version 373 (MySQL)... done

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

и на этом настройка PostfixAdmin закончена

Следом за этим, нужно удалить setup.php:

rm /usr/local/www/postfixadmin/setup.php

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

и далее создадим домен и пользователя в нем. Что бы было на чем проверять настройки постфикс и dovecot.

При использовании PostfixAdmin вы можете столкнуться с такой ошибкой:

Invalid query: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,IMPLICIT) for operation '='

Я решил эту проблему путем изменения настроек полей таблиц базы postfix, сделал это я для каждого поля text и varchar. В общем для каждого поля выполнял такие команды:

alter table fetchmail change src_user src_user varchar(255) character set latin1 NOT NULL default '';

то есть поменял character set по умолчанию.

Создадим домен, для этого перейдем в меню «Список доменов» подменю «Новый домен», выбрав этот пункт, появится диалог добавления домена:

пункт «Почтовый сервер является резервным MX», означает, что почтовый сервер будет работать только на пересылку почты для этого домена. не доставляя почту в локальные почтовые ящики.

Создадим пользователя, для этого в меню «Обзор» выберем подменю «Создать Ящик»:

Теперь, когда мы добавили пользователя и домен, можно наконец то переходить к установке и настройке Postfix.

Об этом мы поговорим во второй части нашей статьи Строим почтовую систему(postfix, dovecot, postfixadmin) – часть вторая, установка Postfix

http://www.hilik.org.ua/строим-почтовую-системуpostfix-dovecot-postfixadmin-часть-п/

Обновлено: 12.03.2015