Установка и настройка roundcube на сервере без панели управления
Roundcube — это почтовый клиент, который позволяет просматривать и отправлять письма через веб-интерфейс. Если у вас не будет входящих сообщений, либо вы будете использовать локальный почтовый клиент, например, Thunderbird и подобные, то можно обойтись и без roundcube. На отправку и доставку писем это никак не влияет.
Устанавливаем веб-сервер и сервер БД
Если вы выполняли настройку почтового сервера, используя вариант с хранением паролей в БД, то этот пункт нужно пропустить и сразу перейти к установке roundcube. А если выбрали вариант с хранением в файле, то идем по порядку:
Centos:
yum install httpd -y
Debian/Ubuntu:
apt install apache2 -y
Запускаем службу и добавляем в автозагрузку:
Centos:
systemctl start httpd systemctl enable httpd
Debian/Ubuntu:
systemctl start apache2 systemctl enable apache2
Устанавливаем сервер БД:
Centos:
yum install mariadb mariadb-server -y
Запускаем БД и добавляем в автозагрузку:
systemctl start mariadb systemctl enable mariadb
Теперь нужно завершить установку и задать пароль пользователя mysql — root. Выполняем команду, на все вопросы жмем enter, при запросе нового пароля (шаг 2) придумываем и вводим новый пароль для пользователя root:
/usr/bin/mysql_secure_installation
Debian/Ubuntu:
apt install mysql-server mysql-client -y
При установке в Debian 8 и Ubuntu 16.04 нужно будет указать, какой пароль root будет у БД:


В Ubuntu 18.04 и Debian 9 пароль пользователя root при установке указывается пустой.
Запускаем БД и добавляем в автозагрузку:
systemctl start mysql systemctl enable mysql
Установка roundcube
Качаем архив с roundcube:
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.9/roundcubemail-1.3.9-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:
chown -R apache:apache /usr/share/webmail/
Debian/Ubuntu:
chown -R www-data:www-data /usr/share/webmail/
Ставим php и расширения php, которые нужны для работы roundcube:
Centos:
yum install php php-xml php-intl php-ldap php-gd php-pecl-imagick php-pdo php-mbstring php-mysql -y
Debian 9/Ubuntu
apt install libapache2-mod-php php php-intl php-ldap php-gd php-imagick php-dom php-mbstring php-mysqli -y
Debian 8:
apt install libapache2-mod-php5 php5 php5-intl php5-ldap php5-gd php5-imagick php5-mysql -y
Устанавливаем временную зону для php в файле php.ini (здесь используется время по Москве):
Centos:
echo "date.timezone = 'Europe/Moscow'" >> /etc/php.ini
Debian 9/ Ubuntu 16.04:
echo "date.timezone = 'Europe/Moscow'" >> /etc/php/7.0/apache2/php.ini
Ubuntu 18.04:
echo "date.timezone = 'Europe/Moscow'" >> /etc/php/7.2/apache2/php.ini
Debian 8:
echo "date.timezone = 'Europe/Moscow'" >> /etc/php5/apache2/php.ini
Перезапускаем веб-сервер для применения настроек:
Centos:
systemctl restart httpd
Debian/Ubuntu
systemctl restart apache2
Создаем базу для roundcube, для этого подключимся к mysql под пользователем root (будет запрошен пароль от пользователя root в mysql):
В ubuntu 18.04 при установке БД пароль не задаётся.
mysql -uroot -p
В открывшейся консоли mysql вводим следующие команды:
CREATE DATABASE roundcubemail; GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ'; FLUSH PRIVILEGES; exit;
Переходим на страницу установки и проверяем, что все необходимые расширения выставлены — все ОК:
http://ВАШ_ПОЧТОВЫЙ_ДОМЕН/webmail/installer/

Переходим на следующую страницу и вводим пароль от пользователя БД для roundcube (примерно на середине страницы):

Также нужно указать язык — ru_RU в поле language (ближе к концу страницы):

Если все нужные настройки указали, то жмём кнопку Create config внизу страницы и на следующей странице — Continue.
Далее на странице инициализируем БД по кнопке Initialize database:

И можно войти в интерфейс roundcube с созданным почтовым ящиком:


После успешной установки нужно удалить директорию установщика на сервере:
rm -rf /usr/share/webmail/installer/
Готово!