Это последняя часть серии « Установка и настройка почтового сервера », в которой мы расскажем, как установить и настроить Roundcube Webmail.
Roundcube — это почтовый клиент IMAP на базе Интернета с очень интуитивно понятным и современным пользовательским интерфейсом, написанным на PHP. Чтобы использовать Roundcube, вам нужен только веб-браузер .
RoundCube включает в себя все функции, которые вам нужны в почтовом клиенте, такие как составление сообщений Richtext / HTML, адресная книга, поддержка электронных писем MIME / HTML, несколько идентификаторов отправителей, проверка орфографии, просмотр трех столбцов, управление сообщениями перетаскивания и многое другое.
Добрый день, уважаемые хабравчане.
Все мы знаем о могучей корпорации Google, и большинство из нас, вероятно, пользуется программами этой компании.
Кто-то души не чает в этих программах с вечным статусом «бета», а кто-то считает Google «корпорацией зла» и ставит запрет на приём куков с подозрительных серверов.
Я бы не хотел разжигать флейм и начинать холивары, но если вы тот, кто хочет стряхнуть с себя волшебную пелену под названием Google, то я постараюсь вам помочь.
Этот пост я пишу в канун нового года, по нескольким причинам:
Вчера зарелизила, вероятно, лучший свободный «web based» почтовый клиент roundcube, и выпуск релиза был приурочен к новогодним праздникам. Таким способом разработчики хотели порадовать своих пользователей.
Многие из читателей этой статьи самым прямым образом относятся к веб-разработке и имеют собственные хостинг, что для этой статьи является ключевым значением.
На замену GMail я предлагаю вам попробовать roundcube. Это такой же веб-клиент, который использует для своих «магических штучек» технологию ajax и имеет потрясающий внешний вид. 🙂
- Основные требования для инсталяции roundcube:
- Основные возможности программы:
- Вот несколько скриншотов этой программы:
- Установка программы:
- Введение
- Плагины
- Контекстное меню
- CardDAV
- Sieve
- Настройка Dovecot
- Настройка Postfix
- Настройка Roundcube
- Введение
- Подготовка LXC контейнера
- Установка и настройка Nginx
- Установка и настройка PostgreSQL
- Установка Roundcube
- Настройка через веб-интерфейс
- Настройка HTTPS
- Получение сертификата Let’s Encrypt
- Настройка поддержки HTTPS в Nginx
- Настройка HTTPS для Roundcube
- Заключение
- Немного теории
- Практика
- Проверьте установку Roundcube
- Настроить Nginx
- Создать базу данных MySQL
- Скачать Roundcube
- Подготовка
- Зависимости PHP
- Включить плагины Roundcube
- Настроить Roundcube
- Выводы
Основные требования для инсталяции roundcube:
- IMAP
- mysql или postgres
- php5
Основные возможности программы:
Вот несколько скриншотов этой программы:
Если вас заинтересовала эта программа, то начинаем установку.
Установка программы:
- Скачиваем новую версию
- Распаковываем архив в нужный каталог
tar xvfz roundcubemail-0.2-stable.tar.gz - Меняем права доступа на каталоги
chmod 777 temp/ logs/ - Создаём новую базу данных для roundcube
mysqladmin create roundcube - Набираем в браузере http://адрес-где-доступен-наш-roundcube/installer/
- Следуем инструкциям инсталятора и настраиваем программу roundcube
- После создания и тестирования, удалите каталог инсталятора
rm -rf installer/ - А теперь можете себя поздравить, вы успешно установили программу
Но если вы хотите постоянно иметь самые свежие обновления, можно пойти другим путём (если на вашем сервере есть ssh и svn).
- Скачиваем последние изменения с транка (вместе со служебными .svn файлами)
svn co svn.roundcube.net/trunk/roundcubemail email/ - Меняем права, так же как и делали в предыдущем случае и точно так же настраиваем
- Теперь, если вам нужно будет получить самое новое обновление, вам потребуется лишь выполнить команду
svn upв каталоге email/ (куда мы развернули программу)
- Введение
- Плагины
- Контекстное меню
- CardDAV
- Sieve
Введение
В этой статье собраны материалы по особенностям работы с Roundcube, а также по установке и настройке плагинов. Для установки Roundcube воспользуйтесь следующим руководством.
Плагины
Контекстное меню
Контекстное меню — элемент графического интерфейса операционной системы, представляющий собой список команд, вызываемый пользователем для выбора необходимого действия над выбранным объектом.
su — -s /bin/bash roundcube
Включите плагин в RoundCube, добавив следующие строчки:
$config['plugins'] = array('contextmenu')CardDAV
CardDAV — это клиент/серверный протокол адресной книги, предназначенный для предоставления пользователям доступа к общим данным на сервере. Например c помощью CardDAV можно получить список контактов из Nextcloud.
su — -s /bin/bash roundcube
tar xf carddav-v4.1.1.tar.gz
Настройте плагин CardDAV:
cp carddav/config.inc.php.dist carddav/config.inc.php
$prefs['_GLOBAL']['hide_preferences'] = false; $prefs['_GLOBAL']['pwstore_scheme'] = 'encrypted'; $prefs['_GLOBAL']['suppress_version_warning'] = false;
Включите в общем конфиге новый плагин:
$config['plugins'] = array('carddav');Увеличьте, в настройках php, лимит памяти:
Сбросьте активные сессии для того, чтобы выполнились миграции плагина CardDAV:
psql -U roundcube -d roundcubemail -c «delete from session»

Sieve
Sieve — язык описания правил фильтрации для почтовых сообщений.
Настройка Dovecot
Добавьте следующие настройки в Dovecot:
protocol lmtp { mail_plugins = $mail_plugins sieve
}service managesieve-login { inet_listener sieve { port = 4190 }
}plugin { sieve = file:/var/calculate/server-data/mail/%n/sieve/sieve;active=/var/calculate/server-data/mail/%n/sieve/.dovecot.sieve
}Настройка Postfix
Измените настройки в Postfix:
mailbox_command = /usr/libexec/dovecot/dovecot-lda
Настройка Roundcube
Включите плагин в Roundcube, добавив следующие строчки:
$config['managesieve_host'] = 'mail.example.org';
$config['plugins'] = array('managesieve')
- Введение
- Подготовка LXC контейнера
- Установка и настройка Nginx
- Установка и настройка PostgreSQL
- Установка и настройка Roundcube
- Настройка HTTPS
- Заключение
Введение
Roundcube — клиент для работы с электронной почтой с веб-интерфейсом, написанный на PHP с использованием JavaScript, CSS, HTML и технологии AJAX. Устанавливается практически на любой сервер с поддержкой PHP версии 5.4.0 или выше, в качестве базы данных может использовать MySQL, PostgreSQL, SQLite, MSSQL или Oracle Database, предоставляет возможность работы с почтовыми ящиками по протоколам IMAP и SMTP.
Подготовка LXC контейнера
Мы рекомендуем выполнить установку Roundcube в отдельном контейнере, настроив его согласно инструкции.
Установка и настройка Nginx
Установите и настройте веб-сервер Nginx и выполните настройку PHP-FPM согласно руководству.
Настройте Nginx для Roundcube, указав roundcube.example.org в качестве имени сайта:
upstream php-handler { server unix:/run/php-fpm.socket;
server { listen 80; server_name roundcube.example.org; root /var/calculate/www/roundcube/roundcubemail-latest; index index.php index.html index.htm; error_log /var/log/nginx/roundcube.error; access_log /var/log/nginx/roundcube.access; location / { try_files $uri $uri/ /index.php; } location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ { deny all; } location ~ ^/(bin|SQL)/ { deny all; } location ~ \.php$ { try_files $uri =404; fastcgi_pass php-handler; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi.conf; }
}Установка и настройка PostgreSQL
Установите и настройте PostgreSQL согласно руководству, используя авторизацию по паролю, создав пользователя roundcube и базу данных roundcubemail.
Настройте пользователя roundcube, созданного для PostgreSQL:
Установка Roundcube
Установите Roundcube на свой веб-сервер:
su — -s /bin/bash roundcube
Настройка через веб-интерфейс
Для настройки через веб-интерфейс откройте в браузере сайт http://roundcube.org/installer и выполните заключительную настройку Roundcube:

Укажите настройки подключения к почтовому серверу и базе данных:

Сохраните полученный файл настроек, кликнув на Save in /tmp:

Полученные настройки скопируйте в /var/calculate/www/example.org/roundcube/config:
cp /tmp/config.inc.php /var/calculate/www/roundcube/roundcubemail-latest/config/config.inc.php
chown roundcube. /var/calculate/www/roundcube/roundcubemail-latest/config/config.inc.php
После завершения настройки Roundcube, включая инициализацию базы данных, удалите папку /var/calculate/www/roundcube/roundcubemail-latest/installer/, содержащую конфиденциальную информацию о настройках сервера:
rm -rf /var/calculate/www/roundcube/roundcubemail-latest/installer

Настройка HTTPS
Получение сертификата Let’s Encrypt
Получите сертификат домена roundcube.example.org для Nginx согласно руководству.
Настройка поддержки HTTPS в Nginx
Настройте Nginx для поддержки HTTPS согласно руководству.
Настройка HTTPS для Roundcube
Настройте Nginx-обслуживание для доменного имени roundcube.example.org:
upstream php-handler server unix:/run/php-fpm.socket rewrite ^ https://? permanentserver listen ssl http2 server_name roundcube.example.org root /var/calculate/www/roundcube/roundcubemail-latest index index.php index.html index.htm error_log /var/log/nginx/roundcube.error access_log /var/log/nginx/roundcube.access location / try_files / /index.php location ~ ^/READMEINSTALLLICENSECHANGELOGUPGRADING$ deny all location ~ ^/binSQL/ deny all location ~ php$ try_files fastcgi_pass php-handler fastcgi_index index.php fastcgi_param SCRIPT_FILENAME include /etc/nginx/fastcgi.conf
Заключение
Roundcube настроен и готов к работе! Для установки и настройки плагинов воспользуйтесь статьёй Работа с Roundcube.

Не каждая организация может позволить себе покупку дорогостоящего почтового сервера как Microsoft Exchange Server, да и в силу своей «наворочености», не каждой организации он нужен. Некоторое время назад передо мной встала задача запустить почту внутри организации для обмена документами между отделами.
Сразу оговорюсь, что организация, в которой я работаю небольшая, имеет 1 сервер и около 50 клиентских машин. Опыта работы с почтовыми серверами – нет. После недолгих поисков по просторам сети было решено использовать связку RoundCube + hMailServer. В этой статье не будут рассмотрены и описаны все сильные и слабые стороны такой связки, а просто описано как все это заставить работать, но скажу что основные достоинства этого решения – бесплатность и простота в настройке.
Немного теории
Практика
Этап нулевой: Задать сетевой карте статический IP адрес. В данной статье будет использован IP 192.168.0.45.
Этап первый: Установка VertrigoServ.
Не думаю, что стоит детально расписывать установку этого веб-сервера, т.к. ничего замысловатого в этом процессе нет.
Этап второй: Установка hMailServer.
Полностью процесс установки описывать не буду, рассмотрим только основные моменты. На этапе «Select Components» выбираем «Full Installation», далее на этапе «Database type» выбираем «Use external database engine (MSSQL, MySQL or PostgreSQL) и еще пару раз нажав «Далее» начнется установка. Ближе к завершению установки, запуститься приложение hMailServer Database Setup, в котором необходимо указать тип базы данных и прописать реквизиты для подключения.

Теперь займемся русификацией программы, если считаете, что Ваших познаний в английском языке достаточно для работы с программой, то смело пропускайте данный пункт. Для русификации необходимо временно остановить службу hMailServer, для этого идем в «Пуск – Панель управления – Администрирование – Службы». В списке находим hMailServer, вызываем правой кнопкой мыши выпадающее меню, в котором выбираем команду «Стоп».

Все, служба остановлена. Теперь скачиваем файл с русификацией и помещаем его в папку \hMailServer\Languages\. Остается только вписать имя файла локализации в файл конфигурации hMailServer, для этого открываем файл \hMailServer\Bin\hMailServer.ini и дописываем «ValidLanguages=english,swedish,russian». Сохраняем и закрываем файл. Запускаем службу hMailServer (вызываем правой кнопкой мыши выпадающее меню, в котором выбираем команду «Пуск»).



Собственно на этом предварительную настройку hMailServer можно считать законченной, переходим дальше.

База данных создана, переходим непосредственно к установке скрипта RoundCubeMail. В адресной строке браузера вводим «127.0.0.1/installer/index.php» и жмем «Enter». Попав на страницу «Roundcube Webmail Installer» жмем кнопку «Start installation». Установка проходит в три этапа.
1. Check environment. Происходит проверка, удовлетворяет ли ваша система требованиям скрипта. Жмем кнопку «Next», если она недоступна, внимательно читаем информацию на странице и исправляем недочеты.

2. Create config. Рассмотрим пункты, которые следует задать/изменить.
Блок General configuration:
product_name – Имя почтового сервера
Блок SMTP Settings:
smtp_server – localhost


Вот собственно и все. В данной статье рассмотрены основные настройки связки RoundCube + hMailServer. Спасибо что дочитали до конца!
Проверьте установку Roundcube
Откройте свой веб-браузер, перейдите по https://mail.linuxize.com/roundcubemail : https://mail.linuxize.com/roundcubemail и войдите в систему, используя имя пользователя и пароль своей учетной записи электронной почты.

Настроить Nginx
Перезагрузите службу Nginx, чтобы изменения вступили в силу:
sudo systemctl reload nginxСоздать базу данных MySQL
Roundcube поддерживает серверные части баз данных MySQL , PostgreSQL и SQLite.
В этом руководстве мы будем использовать MySQL в качестве сервера базы данных. Войдите в оболочку MySQL :
mysql -u root -pСоздайте новую базу данных MySQL , пользователя и предоставьте ему привилегии над вновь созданной базой данных:
CREATE DATABASE roundcubemail;GRANT ALL ON roundcubemail.* TO 'roundcubemail'@'localhost' IDENTIFIED BY 'P4ssvv0rD';FLUSH PRIVILEGES;
Скачать Roundcube
Начните с загрузки архива Roundcube, используя следующую команду wget :
https://github.com/roundcube/roundcubemail/releases/download/1.3.8/roundcubemail-1.3.8.tar.gzПосле завершения загрузки распакуйте архив и переместите код Roundcube в каталог /var/www/roundcubemail :
tar xzf roundcubemail-1.3.8.tar.gz.tar.gzsudo mv roundcubemail-1.3.8/ /var/www/roundcubemail
sudo chown -R www-data: /var/www/roundcubemailПодготовка
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Зависимости PHP
Мы начнем с обновления списка пакетов и установки всех необходимых PHP- зависимостей:
sudo apt updatesudo apt install php-auth php-intl php-mail-mime php-mail-mimedecode php-mcrypt php-net-smtp php-net-socket php-pear php-xml php7.0-intl php7.0-mcrypt php7.0-xml php7.0-gd php7.0-gd php-imagick
После завершения установки выполните следующую команду sed чтобы установить значение date.timezone на UTC :
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.iniПерезапустите службу PHP FPM, чтобы изменения вступили в силу:
sudo systemctl php7.0-fpm restartВключить плагины Roundcube
Roundcube поставляется с рядом плагинов, которые по умолчанию отключены. В этом руководстве мы активируем password и managesieve плагинами. Эти плагины позволят пользователям создавать сетчатые фильтры и изменять свои пароли из интерфейса Roundcube.
// Enable plugins // Configure managesieve plugin // Configure password plugin Настроить Roundcube
Откройте браузер и перейдите по https://mail.linuxize.com/roundcubemail/installer .
Вам будет представлен следующий экран:

В разделе Checking available databases требуется только расширение MySQL.

Самая важная часть здесь — ввести правильные настройки базы данных MySQL.
Когда вы закончите с шагом настройки, перейдите к следующему шагу и импортируйте структуру базы данных MySQL Roundcube, нажав на кнопку Initialize database .

После создания структуры базы данных удалите каталог installer чтобы предотвратить изменение конфигурации и / или несанкционированный доступ.
sudo rm -rf /var/www/roundcubemail/installerВключение автоматической очистки кеша Roundcube необязательно, но рекомендуется:
sudo crontab -u www-data -l | { cat; echo "18 11 * * * /var/www/roundcubemail/bin/cleandb.sh"; } | sudo crontab -u www-data -Выводы
В этом руководстве показано, как установить и настроить Roundcube Webmail в вашей системе Ubuntu, а также как установить и включить плагины Roundcube для добавления дополнительных функций, таких как сетчатые фильтры.

