Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Почтовики Exim с панелью управления VExim и imap сервером Dovecot.Часть1. Vexim

Exim с панелью управления VExim и imap сервером Dovecot.Часть1. Vexim

В  предисловии мы подготовили FreeBSD к инсталяции vexim.

Продолжаем настройку.
Ставим Vexim :
exim# cd /usr/ports/mail/vexim/
exim# make
   Options for vexim 2.2.1_1   
              
   [X] MYSQL  Use MySQL                 
   [ ] PGSQL  Use PostgreSQL

<Обязательно отмечаем MySQL.>
Далее:
exim# make install
Видим объявление :
------------------------------------------------------------------------

For post-install configuration steps, please read
  /usr/local/share/doc/vexim/INSTALL

------------------------------------------------------------------------
Рекомендую внимательно ознакомиться с файлом /usr/local/share/doc/vexim/INSTALL.

Ставим модуль p5-DBD-mysql51, или получим ошибку при сборке типа:
Can't locate DBI.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.9/BSDPAN
/usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 
/usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 .) at create_db.pl line
22.BEGIN failed--compilation aborted at create_db.pl line 22.
Версия установленного у Вас MySQL сервера с версией модуля должны совпадать.
У меня стоит MySQL-сервер MySQL 5.1, поэтому я  ставлю p5-DBD-mysql51.
exim# cd /usr/ports/databases/p5-DBD-mysql51/
exim# make
exim# make install
Удаляем созданный нами же для проверки index.php в целях безопасности:
rm  /usr/local/www/apache22/data/index.php
Запускаем инсталляционный скрипт:
exim# perl /usr/local/share/vexim/create_db.pl
Видим его параметры и как его использовать:
Usage: create_db.pl --act=<action> --dbtype=<dbtype> --uid=<uid> --gid=<gid> --m
ailstore=<dir>

--act           newdb, migratemysql, (migratepostgresql|FIXME!)
--dbtypes       mysql, (pgsql|FIXME!)
--uid           default UID's for domains (default uid is 90)
--gid           default GID's for domains (default gid is 90)
--mailstore     mailstore is the directory under which the
                maildirs for domains are created
                (defaults to /usr/local/mail)

Examples: create_db.pl --act=newdb --dbtype=mysql --uid=90 --gid=90 --mailstore=
/usr/local/mail
          (will create a new  database for a new install with mysql)
          create_db.pl --act=migratemysql --dbtype=mysql --uid=90 --gid=90 --mai
lstore=/usr/local/mail
          (will migrate database from a vexim 1.x mysql database, to a vexim 2.x
 mysql database)

Запускаем инсталляционный скрипт с нужными нам параметрами:
exim# perl /usr/local/share/vexim/create_db.pl --act=newdb --dbtype=mysql -uid=110
   --gid=110 --mailstore=/usr/local/mail

Using dbtype mysql
Please enter the username of the mysql superuser: root
Please enter the password of the mysql superuser:
Please enter the name of your NEW database: vexim
--------------------------------------------------
Database: vexim will be created
--------------------------------------------------
Is this correct? (Y = continue / anykey = exit ): Y

<Запрашивается login и пароль пользователя MySQL который может создавать базы. Обычно это MySQL root. И имя базы в которой будет хранится вся информация. Если базы  нет, то будет еще запрос подтверждения на создание базы.>
Если все данные введены правильно,увидим:

Created domains table
Created users table
Created blocklists table
Created domainalias table
Created group_contents table
Created groups table
Adding vexim database user...
< Вводим пароли. Запомните и запишите их . >
Please enter a name for the database user who gets access to vexim: vexim

Please enter a password for the 'vexim' database user:
Confirm password:
Please enter a password for the 'siteadmin' user:
Confirm password:
The user 'siteadmin' has been added with the password
Database created successfully!

Конфигурим виртуальный хост на apache:
exim# ee /usr/local/etc/apache22/extra/httpd-vhosts.conf
Должно быть так:
<VirtualHost 10.10.10.203:8025>
    ServerAdmin Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

    DocumentRoot "/usr/local/www/vexim"
    ServerName exim.eeee.ru
    ErrorLog "/var/log/vexim_log"
    CustomLog "/var/log/vexim-access_log" common
  <Directory "/usr/local/www/vexim">
        AllowOverride None
        Options None
        Order Allow,deny
        Allow from all
  </Directory>
</VirtualHost>

Проверяем синтаксис конфигурационного файла apache:
exim# apachectl -t
Syntax OK

Конфигурим  httpd.conf:
exim# ee /usr/local/etc/apache22/httpd.conf

Добавляем: слушать порт 8025 по локальному адресу, ибо управлять почтовыми
доменами  и создавать пользователей из Интернета мы не будем в целях безопасности.

Listen 10.10.10.203:8025
Найдем запись в httpd.conf:
# Virtual hosts
И подключим конфигурационный файл виртуальных хостов. По умолчанию он закомментирован:
Include etc/apache22/extra/httpd-vhosts.conf

Настраиваем VExim. Настройки хранятся в файле  usr/local/www/vexim/config/variables.php.
Укажем пароль соединения с MySQL. Пароль должен быть тем, который вы указали при  выполнении скрипта create_db.pl:
ee /usr/local/www/vexim/config/variables.php
 $sqlpass = "vexim";
<Кстати,старайтесь, чтобы Login,название базы данных и пароль не совпадали. Это очень не нравится MySQL. >
Создаем группу и пользователя Exim: 
exim# pw groupadd vexim -g 90
exim# pw useradd vexim -u 90 -g vexim -d /usr/local/mail -m -s /nonexistant

Теперь можно соединятся браузером, создать почтовый домен и  пользователей, что мы с Вами проделаем в следующей статье.

Домашняя Почтовики Exim с панелью управления VExim и imap сервером Dovecot.Часть1. Vexim