В предисловии мы подготовили 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
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен 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
Теперь можно соединятся браузером, создать почтовый домен и пользователей, что мы с Вами проделаем в следующей статье.


