Настройка Roundcube для использования SQLite
Установка
Добавляем в файл /etc/apt/sources.list репозиторий с бэкпортами для Wheezy:
deb http://mirror.ufanet.ru/debian wheezy-backports main contrib non-free
Прописываем общий приоритет для репозитория с бэкпортами в файле /etc/apt/preferences.d/backports:
Package: *
Pin: release n=wheezy-backports, origin "mirror.ufanet.ru"
Pin-Priority: 502
Package: *
Pin: release n=wheezy-backports, origin "mirror.yandex.ru"
Pin-Priority: 501
Прописываем приоритеты для нужных нам пакетов из только что добавленного репозитория c бэкпортами в файл /etc/apt/preferences.d/roundcube:
Package: roundcube-core
Pin: version 0.9.5-1~bpo70+1
Pin-Priority: 1003
Package: roundcube
Pin: version 0.9.5-1~bpo70+1
Pin-Priority: 1003
Package: roundcube-sqlite3
Pin: version 0.9.5-1~bpo70+1
Pin-Priority: 1003
Package: roundcube-plugins
Pin: version 0.9.5-1~bpo70+1
Pin-Priority: 1003
Package: roundcube-plugins-extra
Pin: version 0.9.2-20130819~bpo70+1
Pin-Priority: 1003
Устанавливаем необходимые пакеты из добавленного репозитория:
# apt-get install roundcube-core roundcube roundcube-sqlite3 roundcube-plugins roundcube-plugins-extra php5-sqlite
Настройка
Вписываем в файл /etc/roundcube/debian-db.php настройки базы данных:
$basepath='/etc/roundcube';
$dbname='roundcube.sqlite';
$dbtype='sqlite3';
В файле /etc/roundcube/main.inc.php редактируем необходимый для работы минимум настроек:
$rcmail_config['default_host'] = array("tls://mail.stupin.su:143");
$rcmail_config['smtp_server'] = 'tls://mail.stupin.su:587';
$rcmail_config['username_domain'] = '%t';
$rcmail_config['mail_domain'] = '%t';
$rcmail_config['smtp_user'] = '%u';
$rcmail_config['smtp_pass'] = '%p';
$rcmail_config['force_https'] = true;
Настройка плагинов
Прописываем в тот же файл использование плагинов:
$rcmail_config['plugins'] = array('acl', 'dkimstatus', 'sieverules');
Вписываем настройки плагина sieverules в файл /etc/roundcube/plugins/sieverules/config.inc.php:
$rcmail_config['sieverules_host'] = 'mail.stupin.su';
$rcmail_config['sieverules_port'] = 4190;
$rcmail_config['sieverules_usetls'] = TRUE;
Настройка php5-fpm
Если ещё не настроен php5-fpm, то можно воспользоваться имеющимся пулом, а можно создать новый в файле /etc/php5/fpm/pool.d/roundcube.conf. Поскольку для roundcube нужны несколько специфичных настроек, это как раз пригодиться. Я настраиваю пул, процессы которого будут запускаться только при необходимости:
[roundcube]
user = www-data
group = www-data
listen = /var/run/roundcube.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = ondemand
pm.max_children = 2
pm.process_idle_timeout = 10m;
access.log = /var/log/roundcube.access.log
php_value[upload_max_filesize] = 30M
php_value[post_max_size] = 6M
php_value[mbstring.func_overload] = 0
Попросим php5-fpm перечитать конфигурацию:
# /etc/init.d/php5-fpm reload
Настройка nginx
Теперь можно настроить nginx. Для этого создадим отдельный файл /etc/nginx/sites-available/mail:
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/ssl/mail.stupin.su.pem;
ssl_certificate_key /etc/ssl/mail.stupin.su.pem;
server_name mail.stupin.su mail.mailover.ru mail.hostever.ru;
# Roundcube
root /var/lib/roundcube;
index index.php;
location /program/js/tiny_mce {
alias /usr/share/tinymce/www;
}
location /favicon.ico {
alias /usr/share/roundcube/skins/default/images/favicon.ico;
}
location /config {
deny all;
}
location /temp {
deny all;
}
location /logs {
deny all;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/roundcube.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
И включим использование этого файла при помощи следующих команд:
# cd /etc/nginx/sites-enabled/
# ln -l /etc/nginx/sites-available/mail .
Осталось попросить nginx перечитать конфигурацию:
# /etc/init.d/nginx reload
Решение проблем после обновления до Debian Buster с PHP-7.3
Открывалась пустая страница, в журналах была ошибка 500. Доустановил недостающие пакеты:
# apt-get install php7.3-imap php7.3-sqlite3 php7.3-mbstring php7.3-xml