RainLoop — это веб-клиент электронной почты с открытым исходным кодом, который позволяет пользователям получать доступ к своим учетным записям электронной почты через веб-браузер. Он предоставляет удобный интерфейс для управления электронной почтой, контактами и другими связанными задачами без необходимости использования специального почтового клиента, такого как Outlook или Thunderbird.

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

В этом руководстве мы покажем вам, как установить RainLoop на ОС Debian 12 с веб-сервером Nginx и сервером базы данных MariaDB.

Шаг 1: Обновите операционную систему

Обновите свой Дебиан 12 Обновите операционную систему до последней версии с помощью следующей команды:

# apt update && apt upgrade

Также установите необходимые пакеты.

# apt install curl nano wget unzip zip

Шаг 2: Установка веб-сервера Nginx

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

# apt install nginx

Проверьте статус Nginx обслуживание с использованием systemctl status команда:

# systemctl status nginx

Шаг 3: Установить PHP

Чтобы установить PHP и необходимые расширения, выполните следующую команду:

# apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-imap php-mbstring php-curl php-xml

После завершения установки проверьте, установлен ли PHP:

php -v
Output:
PHP 8.2.12 (cli) (built: Oct 27 2023 13:00:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies

После установки всех пакетов отредактируйте файл php.ini:

# nano /etc/php/8.2/fpm/php.ini

Измените следующие настройки в соответствии с вашими требованиями:

max_execution_time = 300
memory_limit = 512M
post_max_size = 25M
upload_max_filesize = 25M

Чтобы применить изменения, перезапустите php-fpm услуга:

# systemctl restart php8.2-fpm

Шаг 4: Установите MariaDB и создайте базу данных

Для установки MariaDB выполните следующую команду:

# apt install mariadb-server mariadb-client

Проверьте статус службы MariaDB с помощью статус systemctl команда:

# systemctl status mariadb

По умолчанию MariaDB не защищена. Вы можете защитить MariaDB с помощью mysql_secure_installation сценарий.

# mysql_secure_installation

Настройте его следующим образом:

- Set root password? [Y/n] Y
- Remove anonymous users? [Y/n] Y
- Disallow root login remotely? [Y/n] Y
- Remove test database and access to it? [Y/n] Y
- Reload privilege tables now? [Y/n] Y

Теперь выполните команду ниже, чтобы войти в оболочку MariaDB.

# mysql -u root -p

После входа на сервер базы данных вам необходимо создать базу данных для установки Roundcube:

mysql> CREATE DATABASE rainloop;
mysql> CREATE USER 'rainloopuser'@'localhost' IDENTIFIED BY 'Str0ngPa$word';
mysql> GRANT ALL PRIVILEGES ON rainloop . * TO 'rainloopuser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit;

Шаг 5: Загрузите RainLoop

Вы можете загрузить последнюю стабильную версию RainLoop с помощью следующей команды:

# https://www.rainloop.net/repository/webmail/rainloop-latest.zip

После этого вам необходимо распаковать архив RainLoop:

# unzip rainloop-latest.zip -d /var/www/rainloop/

Сделайте Nginx владельцем rainloop папку и предоставьте ей достаточные разрешения.

# chown -R www-data:www-data /var/www/rainloop
# chmod 755 -R /var/www/rainloop

Шаг 6: Настройте Nginx для RainLoop

Затем создайте файл конфигурации виртуального хоста:

# nano /etc/nginx/conf.d/rainloop.conf

Добавьте следующие строки:

server {

listen 80;

   server_name webmail.your-domain.com;
   root /var/www/rainloop;

   index index.php;

location / {
        try_files $uri $uri/ /index.php?$query_string;
   }

location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_keep_conn on;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

location ^~ /data {
        deny all;
    }

}

Сохраните и выйдите из файла конфигурации.

Проверьте синтаксис Nginx:

# /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Чтобы изменения вступили в силу, перезапустите веб-сервер Nginx:

# systemctl restart nginx

Шаг 7: Установите бесплатный SSL-сертификат Let’s Encrypt

Сначала нам необходимо установить клиент Certbot, который используется для создания сертификатов Let’s Encrypt:

# apt install certbot python3-certbot-nginx

Чтобы получить SSL-сертификат с помощью Certbot, введите команду, указанную ниже:

# certbot --nginx -d webmail.your-domain.com

Если SSL-сертификат успешно получен, certbot выводит сообщение об успешной настройке:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/webmail.your-domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/webmail.your-domain.com/privkey.pem
   Your cert will expire on 2024-03-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Теперь вы успешно установили SSL на своем сайте.

Шаг 8: Настройка и конфигурация RainLoop

Теперь откройте веб-браузер и перейдите по ссылке https://webmail.your-domain.com/?admin и вы увидите следующий экран:

Страница входа администратора RainLoop

Вы можете войти в систему, используя имя пользователя по умолчанию. админ и пароль по умолчанию 12345

Вы увидите панель управления Rainloop, как показано ниже:

Панель администратора RainLoop

При первом входе в систему вам необходимо изменить свой админ пароль немедленно.

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

Введите новый пароль и нажмите на кнопку Обновлять Пароль кнопку для смены пароля.

Затем откройте Контакты меню и выберите MySQL из выпадающего меню:

Конфигурация RainLoop MySQL

Введите учетные данные базы данных, которые вы создали ранее, и нажмите кнопку Тест кнопка для проверки соединения и установки необходимых таблиц.

Если кнопка стала зеленой, это означает, что соединение установлено успешно.