Base de connaissances

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

Почтовый сервер на на базе  Ubuntu Server 20.04

 

Данный опус является частью единого цикла заметок o CLI.  Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов, техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.).  К сожалению, указать все источники точно не представляется  возможным!  По этому,  в конце заметки,  будет указана ссылка только  на основной источник.  Материалы,  использованные для написания заметки, изменялись автором под конкретную задачу! Вам, скорее всего, тоже  придется поступить аналогичным образом для получения желаемого результата) 

 

Нужна консультация или помощь в решении IT вопроса? Пожалуйста, в таком случае  заполните форму запроса на Sytes.ru!

В статье предполагается, что сервер терминалов уже прошел предварительную настройку и работает. Все скриншоты соответствуют Windows Server 2016.

В данной инструкции выполнена настройка полноценного почтового сервера на Linux Ubuntu Server (протестирована для версий 20.04 и 22.04). Список всех особенностей и возможностей:

  • Поддержка шифрования;
  • Хранение почты на сервере;
  • Защита от СПАМа и вирусов;
  • Почтовая система на базе Postfix;
  • Поддержка виртуальных доменов;
  • Хранение части настроек в MariaDB;
  • Доступ к почте с помощью веб-интерфейса (Roundcube);
  • Подключение к почтовым ящикам по POP3 и IMAP (Dovecot);
  • Возможность управления почтовыми ящиками с помощью PostfixAdmin.
Используемые термины: PostfixPOP3SMTPIMAPMariaDBUbuntuPostfixAdminDovecotRoundcube

 В данной инструкции мы разберем использование веб-клиента Roundcube. При необходимости, можно установить другой, например, WebMail Lite или несколько одновременно.

На официальном сайте заходим на страницу загрузки Roundcube. Смотрим ссылку на версию продукта с длительной поддержкой (LTS):

Скачиваем LTS версию Roundcube

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

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

wget https://github.com/roundcube/roundcubemail/releases/download/1.5.3/roundcubemail-1.5.3-complete.tar.gz

Создаем каталог, где будут размещаться файлы портала:

mkdir /var/www/html/webmail

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

tar -C /var/www/html/webmail -xvf roundcubemail-*.tar.gz --strip-components 1

Копируем шаблон конфига:

cp /var/www/html/webmail/config/config.inc.php.sample /var/www/html/webmail/config/config.inc.php

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

vi /var/www/html/webmail/config/config.inc.php

$config['db_dsnw'] = 'mysql://roundcube:roundcube123@localhost/roundcubemail';
$config['enable_installer'] = true;

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

Редактируем:

...
$config['smtp_pass'] = '';

* в данном случае мы просто оставляем значение для переменной $config['smtp_pass'] пустым. В противном случае, веб-интерфейс будет выдавать ошибку авторизации при отправке сообщения.

Также дописываем в конфигурационный файл следующее:

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

* настройка $config['create_default_folders'] = true создает папки по умолчанию, если их нет:

  • Drafts — Черновики.
  • Junk — СПАМ.
  • Sent — Отправленные.
  • Trash — Корзина.

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

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

chown -R www-data:www-data /var/www/html/webmail

Создаем в MariaDB базу для roundcubemail:

mysql -uroot -p

> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

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

> quit

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

mysql -uroot -p roundcubemail < /var/www/html/webmail/SQL/mysql.initial.sql

Устанавливаем компоненты, необходимые для работы Roundcube:

apt install php-pear php-intl php-ldap php-net-smtp php-gd php-imagick php-zip php-curl php-dom php-xml php-mcrypt

Если система выдаст ошибку при установке компонента mcrypt, его нет в репозитории — поставим его вручную. Для этого установим пакеты, необходимые для сборки его из исходников:

apt install php-dev libmcrypt-dev

Выполняем команды:

pecl channel-update pecl.php.net

pecl install mcrypt-1.0.5

Создадим файл с настройкой нового модуля:

vi /etc/php/7.4/fpm/conf.d/99-mcrypt.ini

extension=mcrypt.so

* при условии, что у нас установлен php версии 7.4. В противном случае меняем значение на другое.

Компоненты установлены. Настроим php:

vi /etc/php/7.4/fpm/php.ini

date.timezone = "Europe/Moscow"
...
post_max_size = 50M
...
upload_max_filesize = 50M

* в данном примере мы задаем московское время и возможность загружать файл размером в 50 Мб (это будет максимальным объемом вложений, которые можно отправлять через веб-интерфейс). Еще раз напомним, что /7.4/ в пути зависит от версии PHP, которую мы решили использовать.

Перезагружаем php-fpm:

systemctl restart php7.4-fpm

Настроим nginx:

vi /etc/nginx/nginx.conf

Добавим строку в раздел http:

http {
    ...
    client_max_body_size 50M;
    ...

* данной настройкой мы также разрешим загрузку файлов размером 50 Мб.

Перезапустим nginx для применения настройки:

systemctl restart nginx

Теперь открываем браузер и переходим по адресу http://<IP-адрес сервера>/webmail/installer/. На первой странице будет проведена диагностика системы на наличие необходимых компонентов и настроек:

Roundcube при установке проверяет наличие необходимых компонентов

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

На следующей странице проверяем, что все пункты находятся в состоянии OK. Установка выполнена.

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

vi /var/www/html/webmail/config/config.inc.php

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

$config['enable_installer'] = false;

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

rm -rf /var/www/html/webmail/installer

И заходим в браузере по адресу http://<IP-адрес сервера>/webmail/. Вводим в качестве логина адрес почты созданного пользователя и его пароль.

#Возможны и другие варианты доработки  POSTFIX, часть примеров указана по ссылкам в источнике.

 

Если у вас есть профессиональный интерес в расширении данной статьи – заполните форму запроса!

Cпасибо автору!

Заметка распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

 

     Источник:

Конец! 

  • Roundcube
  • 0 Utilisateurs l'ont trouvée utile
Cette réponse était-elle pertinente?

Articles connexes

0. Начальная подготовка почтового сервера: установка LEMP + postfixadmin

Почтовый сервер на на базе  Ubuntu Server 20.04   Данный опус является...

1. Установка и настройка Postfix

Почтовый сервер на на базе  Ubuntu Server 20.04  Нужна консультация или помощь в...

3. Postfix отправка с разных доменов от разных IP-адресов

Предположим, что у нас есть два домена dmosk.ru и test.dmosk.ru и почтовый сервер, с которого...