Почтовый сервер как у провайдера, часть 3: Vexim
Итак, у нас уже установлены exim, clamav и spamassassin. Самое время поставить веб-интерфейс для управления всем этим хозяйством. Называется он Vexim и возможностей предоставляет действительно много. Начнем с того, что у него есть 3 уровня доступа:
- Администратор сервера
Управляет доменами: локальными, алиасами для доменов, доменами, для которых релеится почта. Моздает, назначает постмастеров, меняет пароли, лимиты и т.д. - Администратор домена
Управляет выделенным ему доменом: создает пользователей, группы, алиасы, прочее. - Пользователь
Управляет своим почтовым ящиком: меняет пароль, устанавливает спам-баллы, автоответчик, блокировку по заголовкам и т.д.
Всем этим можно управлять из веб-интерфейса. Т.к. мне пришлось его затачивать под именно этот сетап, предлагать его скачивать с официального сайта не буду (да и не будет там серьезных изменений, слишком редко он обновляется). Потому забираем здесь и ложим в тот каталог апача, который мы себе определили для веб-интерфейса. Пробуем запустить и залогиниться администратором сервера (логин siteadmin, пароль 123465). При запуске он начнет ругаться на отсутствующие модули PHP, добавляем:
# cd /usr/ports/databases/pear-DB # make install clean # cd /usr/ports/devel/php5-gettext # make install clean
После этого надо перезапустить веб-сервер. Дальше редактируем файл config/variables.php:
<?php /* Информация для логина в SQL */ require_once "DB.php"; include_once dirname(__FILE__) . "/i18n.php"; // Тут если надо - вместо localhost пишем адрес sql-сервера $sqlserver = "unix+localhost"; $sqltype = "mysql"; // Название БД $sqldb = "vexim"; // Пользователь $sqluser = "vexim"; // Пароль $sqlpass = "9gp784wy5hg"; $dsn = "$sqltype://$sqluser:$sqlpass@$sqlserver/$sqldb"; $db = DB::connect($dsn); if (DB::isError($db)) { die ($db->getMessage()); } $db->setFetchMode(DB_FETCHMODE_ASSOC); /* Адрес IMAP-сервера */ $imapquotaserver = "{jared.kiev.ua:143/imap/notls}"; // Проверять ли квоты на IMAP-сервере (если честно - источник малопонятных глюков, включать не рекомендую) $imap_to_check_quota = "no"; /* Разрешать ли логиниться простым юзерам */ $AllowUserLogin = 1; /* Сортировать ли домены и юзеров по алфавиту */ $alphadomains = 1; $alphausers = 1; /* Схема шифрования, у нас - md5, не трогаем */ $cryptscheme = "md5"; /* Выбор типа ввода доменного имени на стартовой странице: текстовое поле или выпадающий список Мне светить все домены пользователям не надо, кому надо - пишите dropdown вместо textbox */ $domaininput = "textbox"; /* UID и GID, под которыми будут работать домены. Еще могут ли постмастеры их менять, у меня - нет . THE UID AND GID MUST BE NUMERIC! */ $uid = "1002"; $gid = "6"; $postmasteruidgid = "no"; /* Размещение каталога с почтой для новых доменов. */ $mailroot = "/var/mail/"; /* Путь к Mailman, мы рассылки не используем */ $mailmanroot = ""; /* Значения по умолчанию для спам-системы, при которых письма будут маркироваться спамом или удаляться */ $sa_tag = "60"; $sa_refuse = "500"; /* Максимальный размер сообщения автоответчика */ $max_vacation_length = 255; /* Приветственное сообщение для новых ящиков */ $welcome_message = "Welcome, {$_POST['realname']} !\n\nYour new E-mail account is all ready for you.\n\n" . "Here are some settings you might find useful:\n\n" . "Username: {$_POST['localpart']}@{$_SESSION['domain']}\n" . "POP3 server: mail.{$_SESSION['domain']}\n" . "SMTP server: mail.{$_SESSION['domain']}\n"; /* Приветственное сообщение для новых доменов */ $welcome_newdomain = "Welcome, and thank you for registering your e-mail domain\n" . "{$_POST['domain']} with us.\n\nIf you have any questions, please\n" . "don't hesitate to ask your account representitive.\n"; ?>
На этом настройку Vexim объявляем законченной, теперь можно создавать свои домены и пользователей и взлетать.
Почтовый сервер как у провайдера, часть 1: Exim
Почтовый сервер как у провайдера, часть 2: ClamAV, SpamAssassin, Dovecot
Почтовый сервер как у провайдера, часть 3: Vexim
Почтовый сервер как у провайдера, часть 4: взлетаем
13 thoughts on “Почтовый сервер как у провайдера, часть 3: Vexim”
Исправь ошибку:
для Exim ты создал базу MAIL, а для Vexim подключаешь VEXIM.
Думаю, что база должна быть одна.
Определись, какую оставить…
Спасибо. Статья хорошая.
Но:
у меня при добавления нового домена после нажаты кнопки ничего не происходить, появляется белый страница.
А, как добавлять нового домена без веб-интерфейс?
Я vexim ставил из портов на 7.2, так оно содержит сэмплы конфига экзима, где прописаны запросы к базе и все (почти все?) роутеры, транспорты, часть acl из статьи выше.
Видимо автор, как и я, воспользовался частью тех конфигов (Например, что касается mime вложений) и это правильно, только тогда надо сначала vexim ставить, а потом уже exim, имхо.
Да, я пользовался и этими конфигами тоже, вообще мой конфиг слеплен из 4-5 найденных в сети со своими модификациями. Потому и vexim я не предлагаю скачивать из портов а выложил немного подправленный.
Делал все по инструкции. Статья не идеальная, но если подходить к ней рассудительно, слепить что-то можно. Возник трабл — не могу подконектиться в админку. Как подключаешься к админке, она просит ввести логин, имя домена и пароль. ну, скажем, логин пароль известны, а домен какой? что я только не перепробова, но подконектиться не могу. помогите пожайлуста
Аналогичная проблема с Виктором, не могу зайти в админку хоть убейся.
Для входа под siteadmin домен указывать не нужно вообще.
Не указываю — неверный юзер.
Странно, этот момент всегда проходил без проблем. административный пользователь и домен для него точно есть в базе?
http://www.ex.ua/view_storage/600141199918
Вот база, копипастом сделал там юзера
C виду все нормально, так не скажешь. Остается дебагать — смотреть в логи вебсервера и т.д.
P.S. /usr/ports/databases/pear-DB стоит?
у него в конфиге ошибка с паролем))) поэтому у кого то и не входит)) вместо 123456 в md5 загнан 123465
It’s awesome to go to see this site and reading the views
of all friends on the topic of this piece of writing, while I am also eager
of getting experience.