Roundcube — это почтовый клиент, который позволяет просматривать и отправлять письма через веб-интерфейс. Если вы не получаете входящие сообщения или используете локальный почтовый клиент, например, Thunderbird и подобные, то можно обойтись и без Roundcube. На отправку и доставку писем это никак не влияет.
Устанавливаем веб-сервер и сервер БД
Если вы выполняли настройку почтового сервера, используя вариант с хранением паролей в БД, то этот пункт нужно пропустить и сразу перейти к установке Roundcube. А если выбрали вариант с хранением в файле, то идем по порядку (данный вариант подразумевает, что на сервере будет использоваться только Roundcube, если же вы планируете разместить на VDS веб-сайты — необходимо использовать сервер LAMP, LEMP либо сервер с панелью ISPmanager):
CentOS 7:
# yum install httpd -y
AlmaLinux 8, AlmaLinux 9, Rocky Linux 8, Rocky Linux 9:
# dnf install httpd -y
Debian/Ubuntu:
# apt install apache2 -y
Запускаем службу и добавляем в автозагрузку:
CentOS/AlmaLinux/RockyLinux:
# systemctl start httpd # systemctl enable httpd
Debian/Ubuntu:
# systemctl start apache2 # systemctl enable apache2
Проверяем:
CentOS/AlmaLinux/RockyLinux:
# systemctl status httpd
Debian/Ubuntu:
# systemctl status apache2
Статус должен быть — active (running)
.
Устанавливаем сервер БД
CentOS 7:
# yum install mariadb mariadb-server -y
AlmaLinux 8, AlmaLinux 9, Rocky Linux 8, Rocky Linux 9:
# dnf install mariadb mariadb-server -y
Запускаем БД и добавляем в автозагрузку:
# systemctl start mariadb # systemctl enable mariadb
Теперь нужно завершить установку и задать пароль пользователя mysql — root. Выполняем команду, на все вопросы жмем Enter, при запросе нового пароля (шаг 2) придумываем и вводим новый пароль для пользователя root:
# /usr/bin/mysql_secure_installation
Ubuntu:
# apt install mysql-server mysql-client -y
Debian:
# apt install mariadb-server -y
В Ubuntu и Debian пароль пользователя root при установке указывается пустой.
Запускаем БД и добавляем в автозагрузку:
# systemctl start mysql # systemctl enable mysql
Установка Roundcube
Качаем архив с Roundcube:
# wget https://github.com/roundcube/roundcubemail/releases/download/1.6.1/roundcubemail-1.6.1-complete.tar.gz -O roundcube.tgz
Разархивируем его и создадим символическую в директорию на сайте:
# tar -zxf roundcube.tgz # mv roundcubemail-* /usr/share/webmail
Если у вас сайт расположен не в /var/www/html
, то укажите свой путь до сайта:
# ln -s /usr/share/webmail/ /var/www/html/
Выставим права на директорию.
CentOS / AlmaLinux / RockyLinux:
# chown -R apache:apache /usr/share/webmail/
Debian/Ubuntu:
# chown -R www-data:www-data /usr/share/webmail/
Ставим PHP и расширения PHP, которые нужны для работы Roundcube.
CentOS 7:
# yum install php php-xml php-intl php-ldap php-gd php-pecl-imagick php-pdo php-mbstring php-mysql -y
AlmaLinux 8 / RockyLinux 8 / AlmaLinux 9 / RockyLinux 9:
# dnf install php php-xml php-intl php-ldap php-gd php-pdo php-mbstring php-mysqli -y
Debian/Ubuntu:
# apt install libapache2-mod-php php php-intl php-ldap php-gd php-imagick php-dom php-mbstring php-mysqli -y
Устанавливаем временную зону для PHP в файле php.ini (здесь используется время по Москве).
CentOS / AlmaLinux / RockyLinux:
# echo "date.timezone = 'Europe/Moscow'" >> /etc/php.ini
Debian/Ubuntu:
# echo "date.timezone = 'Europe/Moscow'" >> /etc/php/7.4/apache2/php.inii
Версия PHP может быть другой, проверьте командой php -v
и укажите правильный путь в /etc/php
.
Перезапускаем веб-сервер для применения настроек.
CentOS / AlmaLinux / RockyLinux:
# systemctl restart httpd
Debian/Ubuntu:
# systemctl restart apache2
Создаем базу для Roundcube, для этого подключимся к MySQL под пользователем root (будет запрошен пароль от пользователя root в MySQL, в некоторых дистрибутивах, например, в Debian 10 и 11, пароль root по умолчанию не задается):
# mysql -uroot -p
В открывшейся консоли MySQL поочередно вводим следующие команды:
# CREATE DATABASE roundcubemail; # GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password'; # FLUSH PRIVILEGES; # exit;
Если необходимо, можно настроить веб-интерфейс Roundcube так, чтобы он открывался по доменному имени, для этого нужно создать конфигурацию для Apache. Если этого не делать, веб-интерфейс будет доступен по IP.
Debian/Ubuntu:
Создаем файл /etc/apache2/sites-available/roundcube.conf
и вставляем туда следующий текст (меняем [email protected] на свой e-mail, example.com — на доменное имя для Roundcube, /var/www/html/roundcube — на директорию Roundcube):
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/roundcube ServerName example.com <Directory /var/www/html/roundcube> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
В Debian и Ubuntu активируем сайт командами:
# a2ensite roundcube.conf # a2enmod rewrite # systemctl restart apache2
CentOS / AlmaLinux / RockyLinux:
Файл конфигурации Apache находится по пути /etc/httpd/conf.d/roundcube.conf
, а сама конфигурация будет такой:
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html/roundcube <Directory /var/www/html/roundcube> Options +FollowSymlinks AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
После чего нужно перезапустить Apache командой:
# systemctl restart httpd
Дальнейшая инструкция для всех ОС одинаковая.
Переходим на страницу установки и проверяем, что все необходимые расширения выставлены — все ОК:
http://example.com/webmail/installer/
Переходим на следующую страницу (кнопка Next в самом низу) и вводим пароль от пользователя БД для roundcube (примерно на середине страницы):
Также нужно указать язык — ru_RU в поле language (ближе к концу страницы):
Если все нужные настройки указали, то жмём кнопку Create config внизу страницы и на следующей странице — Continue.
Далее на странице инициализируем БД по кнопке Initialize database:
И можно войти в интерфейс Roundcube (по ссылке http://example.com/webmail/) с созданным почтовым ящиком:
После успешной установки нужно удалить директорию установщика на сервере (будьте осторожны, используя команду rm -rf
):
# rm -rf /usr/share/webmail/installer/
Готово!