Roundcube webmail как настроить

Настройка почтового веб-интерфейса RoundCube

В новогодние праздники настраивал очередной сервер на FreeBSD. В этот раз уже на 8-ой стабильной ветке этой системы. как же быстро бежит время. Но речь не об этом. Т.к. времени было достаточно, решил в качестве бонуса заказчику установить web-интерфейс для работы с почтовым сервером внутри предприятия.

Ещё пару-тройку лет назад качество web-интерфейсов (freeware) оставляло желать лучшего. Сейчас ситуация изменилась, пример тому — RoundCube Webmail. Если совсем кратко, RoundCube Webmail написан на PHP с использованием CSS, XHTML и AJAX. Из основных возможностей для себя выделил следующее:

  • Поддержка мультиязычности
  • Возможность лёгкого развертывания системы
  • Поддержка IMAP
  • Простая адресная книга
  • Поддержка внешнего SMTP сервера
  • Расширенный пользовательский интерфейс
  • Неограниченное количество пользователей и сообщений
  • Полное изменение внешнего вида с помощью скинов

Итак, устанавливать будем из портов (если дерево портов у вас не обновлено, советую предварительно это сделать).

cd /usr/ports/mail/roundcube/
make install

Т.к. планировалось использовать исключительно MySQL, именно её и оставляем в опциях. Собственно MySQL там по умолчанию и опции получается не трогаем.

Теперь необходимо создать новую базу данных и пользователя.

# mysql -u root -p
mysql> create database roundcube;
mysql> grant all on roundcube.* to ’roundcube’@’localhost’ identified by ‘rouncube_password’;
mysql> flush privileges;

Создать таблицы базы данных, используя запросы, которые находятся в ‘SQL/*.initial.sql’.

Поскольку ранее мы определили БД MySQL, то воспользуемся файлом mysql.initial.sql:

# mysql -u roundcube -p roundcube

В конфигурационный файл Apache (httpd.conf) добавим следующие настройки:

alias /mail/ «/usr/local/www/roundcube/»

Options none
DirectoryIndex index.php
AllowOverride Limit
Order Deny,Allow
Allow from all

Собственно первая часть настройки закончена и можно переходить к следующему этапу. Зайдем web-броузером на сервер с RoundCube:

Тут всё понятно — жмём «START INSTALLATION»

Обращаем внимание чего не хватает системе для правильной установки (выделено оранжевым). Сообщения о неостающих БД, отличных от MySQL, игнорируем. Спускаемся вниз страницы и жмём «Next», где нам предложат ввести некоторые параметры:

Раздел General configuration

  • product_name — My_test_Webmail — название вашего сервиса. Будет высвечиваться в заголовке станичек
  • temp_dir — /var/www/mail/temp/ — оставляем как есть, это папка для темпов
  • ip_check — проверка клиента по IP во время авторизации сессии. Добавляет секьюрности, но если кто-то будет ходить на мыло через проксю, клиенты с одинаковыми IP будут отваливаться.
  • des_key — ключик для шифрования пользовательских IMAP паролей
  • enable_caching — кеширование сообщений в локальной базе
  • enable_spellcheck — проверка орфографии. Чуть ниже выбирается движок для проверки
  • identities_level — Определяет, что пользователи могут сделать со своими идентификаторами

Раздел Logging & Debugging

  • debug_level — уровень детализации логов
  • log_driver — механизм логирования. В файл или через syslog
  • log_dir — /var/www/mail/logs/ — каталог для логов
  • syslog_id — используемая строка идентификации, если задействован драйвер ошибок ‘syslog’
  • syslog_facility — какие средства (facility) используются, если задействован драйвер ошибок ‘syslog’. Для ознакомления с возможными значениями смотрите инсталятор.

Раздел Database setup

В данном разделе указываете параметры подключения к базе данных. Те, что указывали при создании roundcubemail

  • Database type — MySQL
  • Database server — localhost
  • Database name — roundcube
  • Database user name — roundcube
  • Database password — пароль

Раздел IMAP Settings

В данном разделе указываются настройки подключения IMAP сервера

  • default_host — 127.0.0.1 — имя хоста IMAP сервера. Т.к. мыло крутится локально, указываем IP локалхоста
  • default_port — 143 — порт IMAP по умолчанию
  • username_domain — myorg.net — имя домена. Будет автоматически дописываться к логину пользователя
  • auto_create_user — автоматическое создание пользователей roundcube, когда они в первый раз залогинятся.
  • sent_mbox — каталог, куда будет складываться отправленная почта
  • trash_mbox — корзина для удалённых писем
  • drafts_mbox — каталог для черновиков
  • junk_mbox — каталог для спама
Читайте также:  Не работает автомобильная сигнализация alarm

Раздел SMTP Settings

В данном разделе указываются настройки SMTP

  • smtp_server — 127.0.0.1 — имя хоста SMTP сервака. Т.к. мыло крутится локально, указываем IP локалхоста
  • smtp_port — 25 — порт SMTP по умолчанию.
  • smtp_user/smtp_pass — имя и пароль SMTP пользователей, если требуется для SMTP сервака. Чуть ниже галочка Use the current IMAP username and password for SMTP authentication (использовать настройки имени и пароля из IMAP)
  • smtp_log — логировать ли отправку сообщений

Раздел Display settings & user prefs

Настройки отображения и пользовательские

  • language — ru_RU — Язык
  • skin — default — шкурка. Список шкурок можно глянуть в /var/www/mail/skins
  • pagesize — 40 — количество сообщений в списке
  • prefer_html — предпочитать отображение сообщений в HTML
  • preview_pane —
  • htmleditor — создавать сообщения в формате HTML
  • draft_autosave — автосохранение в черновики каждые N минут.
  • mdn_requests — Если пришло письмо с подтверждением о доставке то: Спросить пользователя / отправить отчёт автоматически / забить
  • mime_param_folding— как упаовывать длинные или не ASCII имена файлов аттачей

На этом настройку roundcube можно считать завершенной. Кнопкой «Create config» открываем страничку с созданными конфиг-файлами. Её содержимое необходимо поместить в соответствующие файлы main.inc.php и db.inc.php в каталоге /var/www/mail/config. Не забудьте проставить в начале и конце файлов.

Кроме того здесь же можно проверить работу roundcube + SMTP + IMAP сервера. После установки ОБЯЗАТЕЛЬНО удалите инсталляционный каталог.

# rm -rf /var/www/mail/installer/

Если всё сделано правильно, то вы получите работающий webmail.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Комментариев: 2

Не работает указанная почта два дня.

Привет! На работе пользуюсь прогой roundcube. И IT-шники говорят, что проблема визуализировать входящие сообщения в виде бегущей строки не реальна. Но найдя плагин в инете HTML5_Notifier, понял что это не так. ВОПРОС: могу я этот плагин запустить на этой почтовой программе(мы ее просматриваем в браузере). Я ее скачал, а что дальше делать не знаю. Если мне этого сделать нельзя, то как попросить it-шников это сделать. Заранее благодарен за ответ.

Источник

Установка и использование Roundcube на CentOS

Разберем ситуацию, когда необходимо «с нуля» установить Roundcube на выделенный сервер. Сначала мы настроим его на работу с одним удаленным почтовым сервером, затем — несколькими. В данной инструкции будет применяться операционная система Linux CentOS и веб-сервер NGINX + php-fpm.

Настройка веб-сервера

Roundcube является веб-приложением и для работы требует веб-сервер. В данной инструкции мы будем использовать связку NGINX + PHP + PHP-FPM.

Установка и запуск nginx

Установку выполняем следующими командами.

yum install epel-release

yum install nginx

После установки разрешаем автозапуск nginx и стартуем его:

systemctl enable nginx

systemctl start nginx

Открываем веб-браузер на любом компьютере локальной сети и заходим по адресу http:// — мы должны увидеть приветствие NGINX:

Установка PHP и PHP-FPM

Roundcube работает как приложение php, поэтому необходимо установить его интерпретатор. Также нам нужен PHP-FPM, так как NGINX не занимается обработкой скриптов php.

Выполняем установку компонентов:

yum install php php-fpm

. после запускаем PHP-FPM:

systemctl enable php-fpm

systemctl start php-fpm

Настройка NGINX + PHP-FPM

Открываем конфигурационный файл PHP-FPM:

Задаем настройку для параметра listen:

systemctl restart php-fpm

Теперь открываем конфиг nginx:

Внутри секции server добавим:

\.php$ <
set $root_path /usr/share/nginx/html;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
>

Редактируем секцию location:

location / <
.
index index.php;
>

Перезапускаем nginx и php-fpm:

systemctl restart nginx

Создаем файл index.php в root-каталоге nginx:

Открываем браузер и переходим по адресу http:// — должна открыться страница с отображением параметров php:

Сервер баз данных

Также для Roundcube нужна СУБД — мы установим MariaDB:

Читайте также:  Пик домофон как настроить распознавание лица

yum install mariadb-server

Запускаем сервис базы данных + разрешаем его автозапуск:

systemctl start mariadb

systemctl enable mariadb

Задаем пароль для суперпользователя mariadb:

mysqladmin -u root password

Устанавливаем компоненты для работы php с mysql:

yum install php-mysql php-mysqli

systemctl restart php-fpm

Снова открываем страницу http:// — должен появится раздел mysql:

Устанавливаем и настраиваем Roundcube Webmail

Открываем страницу загрузки Roundcube. Копируем ссылку на LTS-версию продукта (стабильную):

Используем ссылку, чтобы загрузить архив программы:

* на момент написания инструкции LTS версия была 1.1.12.

Создаем каталог для размещения файлов Roundcube:

И распаковываем архив в созданную папку:

tar -C /usr/share/nginx/html/webmail -xvf roundcubemail-*.tar.gz —strip-components 1

Копируем шаблон конфигурационного файла и создаем рабочий конфиг:

cp /usr/share/nginx/html/webmail/config/config.inc.php.sample /usr/share/nginx/html/webmail/config/config.inc.php

Открываем его на редактирование:

Редактируем строку для подключения к СУБД:

* где roundcube:roundcube123 — логин и пароль для доступа к базе данных; localhost — сервер базы данных; roundcubemail — имя базы данных.

Создаем следующие строки:

$config[‘drafts_mbox’] = ‘Drafts’;
$config[‘junk_mbox’] = ‘Junk’;
$config[‘sent_mbox’] = ‘Sent’;
$config[‘trash_mbox’] = ‘Trash’;
$config[‘create_default_folders’] = true;

* первая строка разрешает установку портала. Остальные — указывают на необходимость создания папок по умолчанию, если их нет. Без данной настройки, если не создавались папки другим клиентом, веб-клиент может выдавать ошибки при перемещении писем, например, при их удалении.

Задаем владельца apache на папку портала:

chown -R apache:apache /usr/share/nginx/html/webmail

* несмотря на то, что наш сервер обрабатываем скрипты с помощью php-fpm, работает последний по умолчанию от apache.

Создаем в MariaDB базу и пользователя для roundcubemail:

. система запросит пароль — вводим тот, что задавали при установке MariaDB.

> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY ’roundcube123′;

* данными командами мы создаем базу данных roundcubemail и пользователя roundcube с паролем roundcube123. Обратите внимание, что если в вашем случае будут использоваться другие пользователь, пароль и база данных, то следует внести соответствующие изменения в настройку самого roundcube, которую мы выполняли ранее.

Загружаем в созданную базу данные:

mysql -uroot -p roundcubemail /webmail/installer/.

В самом низу нажимаем по кнопке Next. Если кнопка будет неактивна, проверяем, что нет ошибок (NOT OK):

На следующей странице мы создаем конфигурационный файл.

а) вводим данные для подключения к СУБД:

б) настраиваем подключение к удаленному почтовому серверу:

* в данном примере мы указываем сервер 192.168.0.15 с доступом по IMAP.

в) для отправки сообщений нужно использовать следующий удаленный сервер:

* также указан почтовый сервер 192.168.0.15.

г) после окончания правки конфигурации, кликаем по CREATE CONFIG:

Конфигурационный файл создан — нажимаем CONTINUE, чтобы продолжить установку:

Проверяем, что все пункты находятся в состоянии OK. Установка выполнена.

Открываем конфигурационный файл roundcube:

Запрещаем установку портала:

После удаляем папку с установочными скриптами:

\rm -R /usr/share/nginx/html/webmail/installer

И заходим в браузере по адресу http:// /webmail/. — должна открыться страница аутентификации пользователя. Пока не вводим никаких данных.

SSL и TLS

Если почтовый сервер поддерживает/требует SSL или TLS соединения, то открываем конфигурационный файл roundcube:

.
$config[‘default_host’] = ‘tls://192.168.0.15’;
.
$config[‘smtp_server’] = ‘ssl://192.168.0.16’;
.

* в данном примере мы указали, что подключение к серверу по IMAP выполняется с использованием TLS, а по SMTP — по SSL.

Открываем браузер и переходим по адресу http:// /webmail/. — входим в систему под пользователем и паролем одной из почтовых учетных записей. Вход должен выполнить успешно и мы должны увидеть письма, находящиеся в почтовом ящике.

Настройка аутентификации на сервере исходящей почты

Для возможности отправлять письма, многие почтовые MTA требуют авторизации пользователя. Как правило, используются логин и пароль такие же, как на подключение к почтовому ящику.

И так, Roundcube должен отправлять данные для smtp-аутентификации. Открываем конфигурационный файл:

Добавим такие строки:

$config[‘smtp_user’] = ‘%u’;
$config[‘smtp_pass’] = ‘%p’;

* мы указали использовать данные, под которыми зашел текущий пользователь, для авторизации на SMTP .

Переходим к нашей странице http:// /webmail/. — пробуем отправить письмо. Должно все получиться.

Добавление почтового сервера

Добавим еще один сервер почты в Roundcube. Открываем конфигурационный файл:

Находим нашу настройку:

Читайте также:  Агрегация частот как настроить

$config[‘default_host’] = array(‘tls://192.168.0.15’, ‘tls://192.168.0.16’);

* мы изменили тип записи, указав, что это массив (array) и через запятую перечислили два сервера — 192.168.0.15 и 192.168.0.16.

Переходим на страницу авторизации Roundcube http:// /webmail/. — мы должны увидеть выпадающий список наших серверов:

Несколько доменов без выпадающего списка

Как правило, пользователям неудобно выбирать нужный сервер. Это может их сбить с толку.

Чтобы Roundcube автоматически выбирал почтовый сервер, внесем изменения в наш конфигурационный файл:

.
$config[‘default_host’] = ‘tls://imap.%s’;
.
$config[‘smtp_server’] = ‘tls://smtp.%s’
.

* мы опять вернули старый формат для нашей записи default_host и преобразовали адрес с помощью переменной %s — она позволяет подставлять в имя сервера вторую часть (после @) вводимого email адреса. Например, если мы авторизуемся под пользователем master@dmosk.ru, то Roundcube станет подключаться к серверу imap.dmosk.ru.

Чтобы данная настройка корректно работала, необходимо, чтобы сервер мог разрешать имена серверов для подключения в IP-адреса. Для этого все хосты imap и smtp для обслуживаемых почтовых доменов должны быть в DNS-сервере, к которому обращается сервер Roundcube. Или нужные записи можно прописать в файле /etc/hosts.

Брендирование (свой логотип и название)

Roundcube можно настроить для отображения вашего логотипа и названия. Для этого открываем конфигурационный файл:

Добавляем строки (или редактируем):

$config[‘skin_logo’] = ‘images/logo.png’;
$config[‘product_name’] = ‘Dmosk Roundcube Webmail’;

* skin_logo указывает путь относительно каталога roundcube (но если указать первым символом /, то путь будет относительно каталога с темой — это может быть полезным, если для каждой темы должен быть свой логотип); product_name — задает название в нижней части формы авторизации.

Создаем каталог для хранения изображений:

. и копируем туда наш логотип logo.png. Для копирования файла на сервер Linux можно воспользоваться программой WinSCP.

Открываем веб-интерфейс и проверяем, что логотип и название поменялись.

Кнопка добавления письма в СПАМ

По умолчанию, в roundcube нет возможности быстро отметить письмо как нежелательное. Для этого нужно установить плагин. Рассмотрим установку дополнения Roundcube-Plugin-Mark-as-Junk-2.

Для этого переходим на страницу проекта в GitHub и копируем ссылку на последнюю версию архива:

Используем скопированную ссылку, чтобы загрузить плагин на сервер:

Распаковываем скачанный архив:

Переносим распакованный каталог в папку с плагинами roundcube:

mv roundcube-markasjunk2-master /usr/share/nginx/html/webmail/plugins/markasjunk2

* обратите внимание, что мы переименовываем roundcube-markasjunk2-master в markasjunk2.

Открываем конфигурационный файл:

Находим строку с плагинами:

. и дописываем в нее наш плагин:

Готово. Переходим в roundcube и обновляем страницу. Мы должны увидеть кнопку СПАМ в панели действий:

Полезные настройки

В данном разделе рассмотрим настройки, которые могут пригодиться в ходе эксплуатации roundcube.

1. Создание писем в формате HTML

По умолчанию, все письма создаются в текстовом формате. Данное поведение можно изменить в настройках пользователя. Однако, если мы хотим, чтобы у всех пользователей по умолчанию письма создавались в HTML, открываем конфигурационный файл:

  • 0 — никогда.
  • 1 — всегда.
  • 2 — при ответе на HTML-сообщение.
  • 3 — при пересылке или ответе на HTML-сообщение.
  • 4 — всегда, кроме ответа на текстовое сообщение.

Возможные ошибки

1. Неудачное соединение с IMAP сервером.

Появляется при попытке авторизоваться в Roundcube.

Причина: как правило, недоступен IMAP-сервер или Roundcube неправильно настроен на подключение к серверу.

Решение: проверяем, что сервер доступен по сети. Проверяем настройки SSL и TLS по методу, описанному выше.

2. SMTP ошибка (554): Невозможно добавить получателя XXX (5.7.1 : Relay access denied)

Ошибка появляется при попытке отправить письмо.

Причина: SMTP-сервер не разрешает удаленному хосту отправку сообщений. Для этого требуется пройти аутентификацию.

Решение: есть два способа устранить ошибку:

1. Настроить аутентификацю в Roundcube по методу, описанному выше.

2. Также можно решить проблему, добавив наш хост Roundcube в качестве relay на почтовом сервере. Данный способ не является правильным с точки зрения безопасности и его рекомендуется применить для временного использования.

В качестве SMTP-сервера могут использоваться разные MTA. Приведем пример для разрешения отправки писем в Postfix. Открываем его конфигурационный файл:

Редактируем строку mynetworks:

* где mynetworks — список доверенных узлов, которым можно будет отправлять сообщения без дополнительных проверок. В данном примере мы добавили хост 192.168.0.14.

Источник

Оцените статью