Поиск по сайту:

Как установить и настроить веб-почтовый клиент RoundCube с виртуальными пользователями в Postfix. Часть 4.


В Частях 13 этой серии статей о Postfix мы шаг за шагом объясняли, как установить и настроить сервер электронной почты с виртуальными пользователями. Мы также показали вам, как получить доступ к одной из этих учетных записей, используя Thunderbird в качестве почтового клиента.

  1. Настройка почтового сервера Postfix и Dovecot с помощью MariaDB – Часть 1
  2. Настройка пользователей виртуального домена Postfix и Dovecot – Часть 2
  3. Установка и интеграция ClamAV и SpamAssassin с почтовым сервером Postfix – Часть 3

В эпоху подключения, когда вам, вероятно, понадобится доступ к вашему почтовому ящику откуда угодно (а не только с домашнего компьютера), серверное программное обеспечение, известное как клиенты веб-почты, позволяет вам читать и отправлять электронные письма через веб-интерфейс.

Roundcube — одна из таких программ, и, учитывая ее многочисленные функции (подробнее о которых вы можете прочитать на веб-сайте проекта), мы решили использовать ее в этом руководстве.

Установите веб-почту Roundcube для Postfix

В CentOS 7 и его дистрибутивах, таких как RHEL и Fedora, установить Roundcube так же просто, как сделать:

yum update && yum install roundcubemail

Примечание. Имейте в виду, что Roundcube включен в репозиторий EPEL, который мы уже должны были включить, как описано в Части. 1.

В Debian 8 и его производных, таких как Ubuntu и Mint, вам необходимо сначала включить резервное копирование Jessie (веб):

echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list

Затем установите Roundcube следующим образом:

aptitude update && aptitude install roundcube

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

В Debian 8 об этом позаботится процесс установки:

Выберите Да, когда вас спросят, хотите ли вы настроить базу данных Roundcube с помощью dbconfig-common:

Выберите mysql в качестве типа базы данных:

Укажите пароль для пользователя root MariaDB:

И выберите пароль для roundcube для регистрации на сервере базы данных, затем нажмите «ОК»:

Подтвердите пароль, который вы ввели на предыдущем шаге:

И вскоре у вас будет база данных с именем roundcube и соответствующие таблицы, автоматически созданные для вас:

MariaDB [(none)]> USE roundcube;
MariaDB [(none)]> SHOW TABLES;

В CentOS 7 вам необходимо будет создать базу данных вручную, войдя в систему phpMyAdmin или через командную строку. Для краткости здесь воспользуемся вторым предложенным методом:

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE RoundCube_db;

Затем выйдите из командной строки MariaDB и запустите следующий сценарий SQL:

mysql -u root -p RoundCube_db < /usr/share/roundcubemail/SQL/mysql.initial.sql

Обратите внимание, что в Debian вы также можете выполнить эти действия вручную. Таким образом, вы можете переименовать свою базу данных, если хотите, вместо того, чтобы автоматически называть ее «roundcube», как это было показано ранее.

Настройка Roundcube для Postfix

Для начала следует отметить, что начиная с RoundCube v1.0 и далее параметры конфигурации включаются только в один файл, в отличие от предыдущих версий, где они были разделены между двумя файлами.

Сначала найдите следующий файл и создайте копию с именем config.inc.php в том же каталоге. Используйте параметр -p, чтобы сохранить режим, право собственности и исходную временную метку:

cp -p /etc/roundcubemail/defaults.inc.php /etc/roundcubemail/config.inc.php

Затем убедитесь, что Roundcube имеет доступ к базе данных, которую мы создали ранее. В db_dsnw замените пользователя и пароль именем пользователя и паролем с разрешениями на доступ к RoundCube_db.

Например, вы можете использовать ту же учетную запись администратора, которую вы использовали для входа в phpMyAdmin в Части 1, или вы можете просто использовать root, если хотите.

$config['db_dsnw'] = 'mysql://user:password@localhost/RoundCube_db';

Следующие настройки относятся к имени хоста, портам, типу аутентификации и т. д. (они не требуют пояснений, но более подробную информацию можно найти, прочитав комментарии в файле конфигурации):

$config['default_host'] = 'ssl://mail.linuxnewz.com';
$config['default_port'] = 143;
$config['smtp_server'] = 'tls://mail.linuxnewz.com';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_auth_type'] = 'LOGIN';

Эти последние два параметра (product_name и useragent) относятся к заголовку в веб-интерфейсе и к заголовкам электронных писем, отправляемых с сообщениями.

$config['product_name'] = 'Linuxnewz Webmail - Powered by Roundcube';
$config['useragent'] = 'Linuxnewz Webmail';

Чтобы Roundcube мог использовать аутентификацию виртуального пользователя для исходящей почты, нам необходимо активировать плагин virtuser_query (который можно найти в /usr/share/roundcubemail/plugins):

$config['plugins'] = array('virtuser_query');
$config['virtuser_query'] = "SELECT Email FROM EmailServer_db.Users_tbl WHERE Email = '%u'";

Обратите внимание, что приведенный выше SQL-запрос указывает на базу данных EmailServer_db, которую мы изначально настроили в части 1, где хранится информация о виртуальных пользователях.

Наконец, аналогично тому, что мы делали в Части 1, чтобы получить доступ к веб-интерфейсу phpMyAdmin с помощью веб-браузера, давайте углубимся в файл конфигурации Roundcube/Apache по адресу:

vi /etc/httpd/conf.d/roundcubemail.conf # CentOS 7
nano /etc/roundcube/apache.conf # Debian 8

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

Дебиан 8:

<IfVersion >= 2.3> 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfVersion>

ЦентОС 7:

<IfModule mod_authz_core.c> 
    # Apache 2.4 
    Require ip AAA.BBB.CCC.DDD 
    Require all granted 
</IfModule>

Хотя это и не является строго обязательным, рекомендуется изменить псевдоним каталога Roundcube, чтобы защитить себя от ботов, которые используют /roundcube как известную дверь для взлома вашей системы. Не стесняйтесь выбирать псевдоним, который соответствует вашим потребностям (здесь мы будем использовать веб-почту):

Alias /webmail /usr/share/roundcubemail # CentOS 7
Alias /webmail /var/lib/roundcube # Debian 8

Сохраните изменения, выйдите из файла конфигурации и перезапустите Apache:

systemctl restart httpd # CentOS 7
systemctl restart apache2 # Debian 8

Теперь вы можете открыть веб-браузер и указать в нем https://mail.yourdomain.com/webmail, и вы должны увидеть что-то похожее на:

Теперь вы можете войти в систему с помощью одной из учетных записей, которые мы настроили в предыдущих статьях, и начать отправлять и получать электронные письма с помощью Roundcube из любого места!

Настройка веб-почты Roundcube

К счастью, интерфейс Roundcube довольно интуитивно понятен и прост в настройке. На этом этапе вы можете потратить около 15–30 минут на настройку среды и ознакомление с ней. Чтобы получить более подробную информацию, перейдите в Настройки:

Обратите внимание, что на изображении выше показаны электронные письма, которые мы получили в этом аккаунте ([электронная почта защищена]).

Вы можете нажать Написать и начать писать электронное письмо на внешний адрес электронной почты:

Затем нажмите Отправить и проверьте, правильно ли он доставлен:

Поздравляем! Вы успешно настроили Roundcube для отправки и получения электронной почты!

Краткое содержание

В этой статье мы объяснили, как настроить Roundcube в качестве веб-клиента. Изучая интерфейс Roundcube, вы увидите, насколько прост в его использовании, как описано в справке по веб-почте.

Однако не стесняйтесь сообщать нам, если у вас есть какие-либо вопросы или сомнения — просто напишите нам, используя форму комментариев ниже. Мы с нетерпением ждем вашего ответа!