Окт 04 2009

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

Мы построим систему на основе Exim, с панелью администратора vexim, антивирусом ClamAv, антиспам SpamAssassing и imap сервером Dovecot. Для работы постовой системы еще нужен Apache с поддержкой PHP, и MySQL сервер.
Начнем с того что установим из портов vexim:

cd /usr/ports/mail/vexim/
make install clean

Перед сборкой появится небольшой диалог настройки:

┌────────────────────────────────────────────────────────────────────┐
│                    Options for vexim 2.2.1_1                       │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │                   [X] MYSQL  Use MySQL                         │ │
│ │                   [ ] PGSQL  Use PostgreSQL                    │ │
│ │                                                                │ │
│ │                                                                │ │
│ │                                                                │ │
│ │                                                                │ │
│ │                                                                │ │
│ │                                                                │ │
│ │                                                                │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│                       [  OK  ]       Cancel                        │
└────────────────────────────────────────────────────────────────────┘

Если вы ставите на чистую машину, то апачь, php и MySQL будут поставлены автоматически.
Теперь нужно создать базу, таблицы и пользователя MySQL.
Для этого воспользуемся скриптом /usr/local/share/vexim/create_db.pl, только нужно учесть, что для работы этого скрипта требуется перловый модуль DBD-MySQL. Проще всего определить есть этом модуль или нет, можно запустив этот cкрипт create_db.pl:

perl /usr/local/share/vexim/create_db.pl

если в ответ он выдал:

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.

Значит нужно ставить модуль:

cd /usr/ports/databases/p5-DBD-mysql51
make install clean

Естественно должна совпадать версия установленного у вас MySQL сервера с версией модуля. У меня стоит MySQL сервер MySQL 5.1, поэтому я и ставлю p5-DBD-mysql51.
После того, как у вас установится модуль или если он у вас был, то выполнится скрипт и сообщит о параметрах которые ему нужно передать для выполнения его задачь:

perl /usr/local/share/vexim/create_db.pl
 
Usage: create_db.pl --act=<action> --dbtype=<dbtype> --uid=<uid> --gid=<gid> --mailstore=<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 --mailstore=/usr/local/mail
	  (will migrate database from a vexim 1.x mysql database, to a vexim 2.x mysql database)

Теперь запускаем его с нужными параметрами:

perl /usr/local/share/vexim/create_db.pl --act=newdb --dbtype=mysql --uid=110 --gid=110 --mailstore=/usr/local/mail

После этого скрипт переходит в режим диалога, MySQL сервер должен быть запущен:

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 который может создавать базы и тп. То есть суперпользователя. Обычно это root. И имя базы в которой будет хранится вся информация. Если базы нет, то будет еще запрос подтверждения на создание базы.
Если все введено правильно, должно появится:

Created domains table
Created users table
Created blocklists table
Created domainalias table
Created group_contents table
Created groups table
Adding vexim database user...

И запрос логина и пароля пользователя MySQL от которого будет соенденяться Exim и VExim и пароль пользователя siteadmin. siteadmin — суперпользователь системы. Он имеет права на создание почтовых доменов и т.д. и т.п.

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

После того как create_db.pl скрипт напишет:

Database created successfully!

и закончит свою работу. Можно переходить к настройке VExim. Сначала настроим виртуальный хост Apache. Назовем его postmaster.hilik.org.ua:

<VirtualHost *:80>
    ServerAdmin postmaster@hilik.org.ua
    DocumentRoot /usr/local/www/vexim
    ServerName postmaster.hilik.org.ua
    ErrorLog /var/log/postmaster.hilik.org.ua-error_log
    CustomLog /var/log/postmaster.hilik.org.ua-access_log common
</VirtualHost>

и можно настраивать VExim. Настройки хранятся в файле /usr/local/www/vexim/config/variables.php. Укажем пароль соединения с MySQL:

$sqlpass = "vexim-777";

Пароль должен быть тем, который вы указали при выполнении скрипта create_db.pl
Теперь нужно создать группу и пользователя vexim.

pw groupadd vexim -g 90
pw useradd vexim -u 90 -g vexim -d /usr/local/mail -m -s /nonexistant

Теперь можно соединятся браузером и создать почтовый домен, пользователей и т.п.
О том, как будем работать с vexim я расскажу в отдельной статье:
Exim с панелью управления VExim и imap сервером Dovecot. (Часть вторая VExim — добавляем домены и пользователей)
Сложного там ничего нет, но графические элементы очень загружают экран.

Продолжение настройки.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть