- Установите и настройте веб-почту Roundcube
- Подготовка
- Зависимости PHP
- Создать базу данных MySQL
- Скачать Roundcube
- Настроить Nginx
- Настроить Roundcube
- Проверьте установку Roundcube
- Включить плагины Roundcube
- Выводы
- Установка и использование Roundcube на CentOS
- Настройка веб-сервера
- Установка и запуск nginx
- Установка PHP и PHP-FPM
- Настройка NGINX + PHP-FPM
- Сервер баз данных
- Устанавливаем и настраиваем Roundcube Webmail
- SSL и TLS
- Настройка аутентификации на сервере исходящей почты
- Добавление почтового сервера
- Несколько доменов без выпадающего списка
- Брендирование (свой логотип и название)
- Кнопка добавления письма в СПАМ
- Полезные настройки
- 1. Создание писем в формате HTML
- Возможные ошибки
Установите и настройте веб-почту Roundcube
Это последняя часть серии « Установка и настройка почтового сервера », в которой мы расскажем, как установить и настроить Roundcube Webmail.
Roundcube — это почтовый клиент IMAP на базе Интернета с очень интуитивно понятным и современным пользовательским интерфейсом, написанным на PHP. Чтобы использовать Roundcube, вам нужен только веб-браузер .
RoundCube включает в себя все функции, которые вам нужны в почтовом клиенте, такие как составление сообщений Richtext / HTML, адресная книга, поддержка электронных писем MIME / HTML, несколько идентификаторов отправителей, проверка орфографии, просмотр трех столбцов, управление сообщениями перетаскивания и многое другое.
Подготовка
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Зависимости PHP
Мы начнем с обновления списка пакетов и установки всех необходимых PHP- зависимостей:
После завершения установки выполните следующую команду sed чтобы установить значение date.timezone на UTC :
Перезапустите службу PHP FPM, чтобы изменения вступили в силу:
Создать базу данных MySQL
Roundcube поддерживает серверные части баз данных MySQL , PostgreSQL и SQLite.
В этом руководстве мы будем использовать MySQL в качестве сервера базы данных. Войдите в оболочку MySQL :
Скачать Roundcube
На момент написания 1.3.8 является последней стабильной версией Roundcube. Прежде чем перейти к следующему шагу, вам следует проверить страницу загрузки Roundcube, чтобы узнать, доступна ли более новая версия.
Начните с загрузки архива Roundcube, используя следующую команду wget :
После завершения загрузки распакуйте архив и переместите код Roundcube в каталог /var/www/roundcubemail :
Nginx и PHP-FPM работают под пользователем www-data , поэтому нам нужно изменить владельца каталога /var/www/postfixadmin на этого пользователя:
Настроить Nginx
В первой части этой серии мы создали серверный блок Nginx для экземпляра PostfixAdmin. Откройте файл конфигурации и добавьте следующие директивы расположения, выделенные желтым:
Перезагрузите службу Nginx, чтобы изменения вступили в силу:
Настроить Roundcube
Откройте браузер и перейдите по https://mail.linuxize.com/roundcubemail/installer .
Вам будет представлен следующий экран:
Если все необходимые расширения PHP загружены, мы можем перейти к следующему шагу, где мы можем настроить нашу установку Roundcube:
Самая важная часть здесь — ввести правильные настройки базы данных MySQL.
Когда вы закончите с шагом настройки, перейдите к следующему шагу и импортируйте структуру базы данных MySQL Roundcube, нажав на кнопку Initialize database .
После создания структуры базы данных удалите каталог installer чтобы предотвратить изменение конфигурации и / или несанкционированный доступ.
Включение автоматической очистки кеша Roundcube необязательно, но рекомендуется:
Проверьте установку Roundcube
Откройте свой веб-браузер, перейдите по https://mail.linuxize.com/roundcubemail : https://mail.linuxize.com/roundcubemail и войдите в систему, используя имя пользователя и пароль своей учетной записи электронной почты.
Включить плагины Roundcube
Roundcube поставляется с рядом плагинов, которые по умолчанию отключены. В этом руководстве мы активируем password и managesieve плагинами. Эти плагины позволят пользователям создавать сетчатые фильтры и изменять свои пароли из интерфейса Roundcube.
Выводы
В этом руководстве показано, как установить и настроить Roundcube Webmail в вашей системе Ubuntu, а также как установить и включить плагины Roundcube для добавления дополнительных функций, таких как сетчатые фильтры.
Это последний пост из этой серии. Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Этот пост является частью серии « Установка и настройка почтового сервера ». Другие сообщения из этой серии:
Источник
Установка и использование 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.
Источник