RoundCube — это клиент для работы с электронной почтой с веб-интерфейсом, написанный на PHP.
Здесь описана работа с стандартным продуктом.
Работа с программой из пакетной базы Debian находится на отдельной странице
#!/bin/bash apt install\ apache2 libapache2-mod-php\ libmagic1\ spawn-fcgi\ php\ php-auth-sasl\ php-cli\ php-common\ php-intl\ php-json\ php-ldap\ php-mail-mime\ php-ldap\ php-net-sieve\ php-net-smtp\ php-net-socket\ php-pear\ php-fpm\ php-gd\ php-pspell\ php-mbstring\ php-zip\
#!/bin/bash phpenmod mbstring zip service apache2 reload
tar -zxvf roundcubemail-1.2.3-complete.tar.gz -C /opt/
Создать файл /opt/roundcube/config/apache.conf
#!/bin/bash # Создаем символическую ссылку ln -s /opt/roundcube/config/apache.conf /etc/apache2/sites-available/roundcube.conf # Разрешаем сайт a2ensite roundcube #Добавить модули a2enmod deflate a2enmod expires a2enmod headers # Перезапуск service apache2 reload
Добавить исключение в файл:
<Directory /opt> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Перезапуск Apache
service apache2 restart
Необходимо:
apt install php-pear php-sqlite3 php7.3-sqlite
service apache2 restart
Создание БД:
#!/bin/bash path=/opt/roundcube mkdir $path/db cd $path/db sqlite3 -init $path/SQL/sqlite.initial.sql roundcube.sqlite '.quit' chown -R www-data $path chgrp -R www-data $path chmod -R 775 $path/db
Указание БД в файле настройки:
$config['db_dsnw'] = 'sqlite:////opt/roundcube/db/roundcube.sqlite?mode=0646';
sqlite3 roundcube.sqlite 'DELETE FROM session;'
sqlite3 roundcube.sqlite 'DELETE FROM cache;'
sqlite3 roundcube.sqlite 'DELETE FROM contacts;'
wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz tar -zxvf roundcubemail-1.2.3-complete.tar.gz -C /opt/ Нужно ознакомиться с /opt/roundcubemail-1.2.3/UPGRADING cd /opt/roundcubemail-1.2.3 ./bin/installto.sh /opt/roundcube
1. В файле /etc/php5/apache2/php.ini
нужно указать
date.timezone = Europe/Moscow
и перезапустить Apache
2. В /etc/roundcube/main.inc.php
нужно указать
$rcmail_config['timezone'] = 'auto';
$config['skin_logo'] = array ( '*' => '/images/roundcube_logo.png', 'messageprint' => '/images/roundcube_logo_print.png');
Основная папка | /opt/roundcube/plugins |
Для использования расширения его нужно внести в список plugins
файла config.inc.php
, пример:
$config['plugins'] = array( 'archive', 'zipdownload', 'userinfo', 'password', 'dovecot_impersonate', 'newmail_notifier', 'acl', 'managesieve', );
Показ в браузере уведомления о приходе нового сообщения нужно расширение HTML Desktop Notifications
Для Firefox до версии 22 нужен: HTML Desktop Notifications, HTML Desktop Notifications 1.2.4
Пример: newmail_notifier 0.7, FireFox 12 + html5notifications-1.2.4
https://github.com/corbosman/keyboard_shortcuts
Установка:
cd /tmp; wget https://github.com/corbosman/keyboard_shortcuts/archive/master.zip
Для исправления изображения клавиатуры в classic_compact
нужно сделать ссылку:
ln -s /opt/roundcube/plugins/keyboard_shortcuts/skins/classic /opt/roundcube/plugins/keyboard_shortcuts/skins/classic_compact
Установка:
cd /tmp; wget https://github.com/johndoh/roundcube-contextmenu/archive/master.zip
https://github.com/dummyluck/login_view
Установка:
cd /tmp; wget https://github.com/dummyluck/login_view/archive/master.zip
Для работы в паролями которые лежат в LDAP, нужно выполнить
apt-get install php-net-ldap2
и настроить связь с LDAP сервером в config.inc.php
http://git.kolab.org/roundcubemail-plugins-kolab/snapshot/roundcubemail-plugins-kolab-3.0.1.tar.gz
mysql roundcube -uroundcube -pПАРОЛЬ </var/lib/roundcube/plugins/calendar/drivers/database/sql/mysql.sql
Для работы необходима папка libcalendaring
из того же архива
Для работы с Sieve нужно расширение managesieve
, вот пример файла настройки:
<?php $rcmail_config['managesieve_port'] = 4190; $rcmail_config['managesieve_mbox_encoding'] = 'UTF-8'; $rcmail_config['managesieve_host'] = '%h'; ?>
Для работы от имени мастер-пользователя Dovecot нужно:
dovecot_impersonate
cd /tmp; wget https://github.com/corbosman/dovecot_impersonate/archive/master.zip
<?php $rcmail_config['dovecot_impersonate_seperator'] = '*'; ?>
Это расширение позволяет загрузить все вложения в виде zip
файла.
Для работы с русским языком нужно:
$rcmail_config['zipdownload_charset'] = 'UTF-8';
Для старых версий:
1. Установить значение кодовой страницы cp866
$rcmail_config['zipdownload_charset'] = 'cp866';
2. Для старых версий дополнительно нужно в файле plugins/zipdownload/zipdownload.php
заменить:
$disp_name = $this->_convert_filename($part->filename); на $disp_name = $this->_convert_filename($part->filename, $part->charset); |
https://github.com/mike-kfed/rcmail-thunderbird-labels
Установка:
cd /tmp; wget https://github.com/mike-kfed/roundcube-thunderbird_labels/archive/master.zip
Установка:
cd /tmp; wget https://github.com/stremlau/html5_notifier/archive/master.zip
Если RoundCube
установлен не на не одном физическом сервере с IMAP сервером то для повышения скорости работы нужно установить IMAP Proxy
В файле /etc/roundcube/main.inc.php
нужно указать:
$rcmail_config['default_host'] = array("localhost"); $rcmail_config['default_port'] = 1143; $rcmail_config['smtp_server'] = 'СЕРВЕР SMTP';
файл /etc/roundcube/main.inc.php
Имена пользователей будут приведены к нижнему регистру, поэтому в таблице users
они должны быть в нижнем регистре
$rcmail_config['login_lc'] = true;
Запрет создания нового пользователя
$rcmail_config['auto_create_user'] = false;
Тип объекта | Таблица |
---|---|
Пользователи | users |
Профили | identities |
Для каждого пользователя создается свой профиль.
Для управление содержимым БД: Adminer
Работа в SQL Buddy, примеры:
-- -- MySQL 5.1.66 -- RoundCube 0.85 -- INSERT INTO `users` (`user_id`, `username`, `mail_host`, `alias`, `created`, `last_login`, `language`, `preferences`) VALUES ('1','user1', 'localhost', '', '', '', 'ru_RU', 'a:1:{s:24:\"newmail_notifier_desktop\";b:1;}'), ('2','user2', 'localhost', '', '', '', 'ru_RU', 'a:1:{s:24:\"newmail_notifier_desktop\";b:1;}');
-- -- MySQL 5.1.66 -- RoundCube 0.85 -- INSERT INTO `identities` (`identity_id`, `del`, `standard`, `name`, `organization`, `email`, `reply-to`, `bcc`, `signature`, `html_signature`, `user_id`, `changed`) VALUES ('1', '0', '1','Фамилия1 Имя1','','user1@domain.com', '', '', '', '0', '1', ''), ('2', '0', '1','Фамилия2 Имя2','','user2@domain.com', '', '', '', '0', '2', '');
Таблицы identity
и users
связаны по полю user_id
Для импорта из формата wab нужно: 1. Открыть адресную книгу, выбрать нужные контакты и мышкой перетащить и отпустить в нужную папку 2. copy *.vcf 1.vsf Требования к формату vcard: 1. Кодировка файла UTF-8 2. Если не email, то заменяем его на несуществущий адрес формата: EMAIL;TYPE=INTERNET:0@0.0 3. Если контакт входил к группу, то название пишем разделе Другие NOTE:ИМЯ ГРУППЫ
В файле /usr/share/roundcube/program/steps/mail/compose.inc
нужно добавить русский язык (можно убрать лишние) в строке:
$spellcheck_langs = (array)$RCMAIL->config->get('spellcheck_languages', array('ru'=>'Russian', 'en' => 'English'));
Если необходимо, то поставить:
apt-get install aspell-ru
mysql -u root -p
CREATE DATABASE roundcube /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_roundcube'; quit;
mysql -u roundcube -p roundcube < /opt/roundcube/SQL/mysql.initial.sql
Нужно ввести пароль пользователя roundcube
mysqldump roundcube -uroundcube -hСЕРВЕР -pПАРОЛЬ > /etc/roundcube/roundcube.`date '+%u'`.sql
В файле main.inc.php
нужно задать значение переменной:
$config['login_autocomplete']
Значения:
upload_max_filesize = 20M post_max_size = 28M max_file_uploads = 50
Чтобы изменения вступили в силу нужно перечитать настройки Apache:
service apache2 reload
При использовании Nginx нужно установить нужное значение переменной:
client_max_body_size 20m;
В файле /etc/roundcube/main.inc.php
нужно заменить
$rcmail_config['dont_override'] = array();
на
$rcmail_config['dont_override'][] = 'skin';
https://bitbucket.org/qwertfisch/roundcube-classic-compact/downloads/?tab=branches
/usr/share/roundcube/skins/classic/includes/taskbar.html
<div id="taskbar"> <span style="font-weight: bold;"><roundcube:object name="username" /></span>
Файл /var/lib/roundcube/program/localization/ru_RU/messages.inc
$messages['folderpurged'] = 'Папка очищена'; $messages['folderexpunged'] = 'Папка сжата';
Имя | ПОЛЬЗОВАТЕЛЬ@ДОМЕН |
---|---|
Сервер | ssl://imap.gmail.com |
http://linuxmacwinstuff.blogspot.ru/2012/07/access-gmail-with-roundcube.html
В если /var/log/roundcube/errors
:
PHP Error: Deprecated hook name. imap_connect -> storage_connect
То в dovecot_impersonate.php
нужно заменить imap_connect
на storage_connect
Во входящих сообщениях не отображаются изображения.
Нужно исправить значение mime_magic
Вариант 11):
$rcmail_config['mime_magic'] = null;
Вариант 22):
$rcmail_config['mime_magic'] = '/usr/share/mime/magic';
http://roundcube.ru/docs/User_Guide_RU.html
http://stremlau.net/html5_notifier/
http://plugins.roundcube.net/explore/
https://github.com/xrxca/cnw/downloads
http://trac.roundcube.net/browser/github/plugins/password
http://trac.roundcube.net/wiki
Plugin zipdownload filenames charset bug