Rainloop — красивый и удобный веб-интерфейс для работы с почтой. Установка Rainloop очень проста (аналог Roundcube устанавливается сложнее), интерфейс является PHP приложением.
Единственным очевидным минусом является платность использования в корпоративной среде. Для частного использования на почтовом сервере Rainloop является по мнению многих лучшим выбором. В отличие от, например, Roundcube, с Rainloop установка очень проста. Рассмотрим процесс настройки для Ubuntu.
Установка Rainloop на Ubuntu и базовая настройка
Rainloop работает как виртуальный хост и в базовой конфигурации не использует БД. MySQL применяется только для хранения контактов пользователей.
Обновляем список репозиториев
apt-get update
Устанавливаем apache2 и сервер MariaDB
apt-get install apache2
apt-get install mariadb-server
В процессе установки mariadb запросит пароль root, его потребуется указать и повторить
mysql -u root -p
Далее оказавшись в консоли сервера баз данных создаем базу для контактов, пользователя и выдаем необходимые привилегии
mysql> CREATE DATABASE rainloopdb;
mysql> GRANT ALL PRIVILEGES ON rainloopdb.* TO 'rainloopuser'@'localhost' IDENTIFIED BY 'eeyвре7eoP7aЕJ3зu';
mysql> FLUSH PRIVILEGES;
Доустанавливаем пакеты, которые потребуются — php будет работать как модуль Apache
apt-get install php5 php5-mysql curl libcurl3 libcurl3-dev libmysqlclient15-dev php5-curl php5-json libapache2-mod-auth-mysql
Перезапускаем сервисы
/etc/init.d/apache2 restart
/etc/init.d/mysql restart
Создаем каталог под файлы веб-интерфейса и переходим в него
mkdir /home/mail/rainloop && cd /home/mail/rainloop/
При помощи curl запрашиваем установочный скрипт с сайта пакета и перенаправляем вывод в оболочку
curl -s http://repository.rainloop.net/installer.php | php
Вывод в консоль будет следующим:
[RainLoop Webmail Installer]
…
…
* [Success] Installation is finished!
Базовая настройка
Поскольку PHP работает как модуль Apache — все процессы выполняются от имени пользователя www-data, поэтому меняем пользователя и права соответствующим образом
chown -R www-data:www-data /home/mail/rainloop/
find /home/mail/rainloop/ -type d -exec chmod 755 {} \;
find /home/mail/rainloop/ -type f -exec chmod 644 {} \;
Создаем файл виртуального хоста
cd /etc/apache2/sites-available/ && cp 000-default.conf rainloop.conf
mcedit rainloop.conf
<VirtualHost *:80>
ServerName mail.example.com
ServerAdmin [email protected]
DocumentRoot /home/mail/rainloop
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Следующая секция добавляется автоматически за счет LetsEncrypt — если веб-интерфейс будет работать с бесплатным https сертификатом.
RewriteEngine on
RewriteCond %{SERVER_NAME} =mail.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Подключение по https опционально, но желательно чтобы обеспечить шифрование. Поскольку веб-интерфейс является просто виртуальным хостом Apache сертификат подключается также как для любого сайта.
Активируем файл виртуального хоста
a2ensite rainloop.conf
Проверяем конфигурацию
apache2ctl configtest
В выводе будет OK — перезапускаем сервис
/etc/init.d/apache2 restart
Зайти в веб-интерфейс можно обратившись через браузер по адресу
123.123.123.123/mail?admin
Логин: admin
Пароль: 12345
Изменить пароль Rainloop
После первой авторизации пароль следует сменить в веб-интерфейсе.
Если пароль забыт его всегда можно поменять в файле /home/mail/rainloop/data/_data_/_default_/configs/application.ini на 12345, любой другой пароль хэшируется.
Rainloop будет успешно работать с любым почтовым сервером потому, что взаимодействует с файлами на диске (с письмами) и структура БД не имеет значения.
Подойдет любой почтовый сервер — проще всего настраивается Postfix + Dovecot.