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 — добавляем домены и пользователей)
Сложного там ничего нет, но графические элементы очень загружают экран.