Roundcube — это лучший опенсурсный почтовый клиент. Удачный интерфейс и широкий функционал.
Устанавливаем веб-сервер и сервер БД
Данный вариант установки подразумевает, что на сервере будет использоваться только Roundcube, если же вы планируете разместить на VDS веб-сайты — необходимо использовать сервер LAMP, LEMP либо сервер с панелью:
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:
apt install apache2 -y
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 и вставляем туда следующий текст (меняем admin@example.com на свой e-mail, example.com — на доменное имя для Roundcube, /var/www/html/roundcube — на директорию Roundcube):
<VirtualHost *:80>
ServerAdmin admin@example.com
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/
Все поставили!
Добавить комментарий