Инструменты пользователя

Инструменты сайта


roundcube:roundcube

RoundCube

Содержание

RoundCube — это клиент для работы с электронной почтой с веб-интерфейсом, написанный на PHP

Здесь описана работа с стандартным продуктом: roundcube.net

Работа с программой из пакетной базы Debian находится на отдельной странице

Помощь в работе с программой

Работа с LDAP

Настройка Fail2Ban

Установка

FIXME

Основная папка /opt/roundcube/

Работа с адресными книгами LDAP

Установка необходимых пакетов

rouncube_install.sh
#!/bin/bash
 
apt install\
    mariadb-server\
    mariadb-client\
    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-net-ldap3\
    php-net-sieve\
    php-net-smtp\
    php-net-socket\
    php-pear\
    php-fpm\
    php-gd\
    php-pspell\

Распаковка дистрибутива

tar -zxvf roundcubemail-1.2.3-complete.tar.gz -C /opt/

Настройка HTTP сервера

Создать файл /opt/roundcube/config/apache.conf

apache.conf
# Roundcube apache.conf
Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
Alias /roundcube /opt/roundcube
 
# Access to tinymce files
<Directory /usr/share/tinymce/www/>
	Options Indexes MultiViews FollowSymLinks
	AllowOverride None
	Order allow,deny
	allow from all
</Directory>
 
<Directory /opt/roundcube/>
	Options +FollowSymLinks
	# This is needed to parse /opt/roundcube/.htaccess. See its
	# content before setting AllowOverride to None.
	AllowOverride All
	order allow,deny
	allow from all
</Directory>
 
# Protecting basic directories:
<Directory /opt/roundcube/config>
	Options -FollowSymLinks
	AllowOverride None
</Directory>
 
<Directory /opt/roundcube/temp>
	Options -FollowSymLinks
	AllowOverride None
	Order allow,deny
	Deny from all
</Directory>
 
<Directory /opt/roundcube/logs>
	Options -FollowSymLinks
	AllowOverride None
	Order allow,deny
	Deny from all
</Directory>
 
<VirtualHost *:80>
	DocumentRoot /opt/roundcube
	ServerName mail.domain.ru
</VirtualHost>
roundcube_apache.sh
#!/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

Добавить исключение в файл:

/etc/apache2/apache2.conf
<Directory /opt>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

Перезапуск Apache

service apache2 restart

SQLite

Обновление

FIXME

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

Настройка

Установка правильной временной зоны (timezone)

1. В файле /etc/php5/apache2/php.ini нужно указать

date.timezone = Europe/Moscow

и перезапустить Apache

2. В /etc/roundcube/main.inc.php нужно указать

$rcmail_config['timezone'] = 'auto';

Установка прав на папки и файлы

Скрипт для установки прав на папки и файлы

Скрипт для установки прав на папки и файлы

roundcube_opt_rights.sh
path=/opt/roundcube
chown -R www-data $path
chgrp -R www-data $path
find $path -type f -exec chmod 644 {} \;
find $path -type d -exec chmod 755 {} \;
 
path=/opt/roundcube/config/debian-db-roundcube.php
chown root $path
chgrp root $path
chmod 644 $path
 
path=/opt/roundcube/config/debian-db.php
chown root $path
chgrp www-data $path
chmod 640 $path
 
path=/opt/roundcube/config/config.inc.php
chown root $path
chgrp www-data $path
chmod 640 $path
 
path=/opt/roundcube/plugins/password/config.inc.php
chown root $path
chgrp www-data $path
chmod 640 $path

Логотип

FIXME

config.inc.php
$config['skin_logo'] = array (
    '*' => '/images/roundcube_logo.png',
    'messageprint' => '/images/roundcube_logo_print.png');

Расширения (plugins)

Основная папка /opt/roundcube/plugins

Для использования расширения его нужно внести в список plugins файла main.inc.php, пример:

$rcmail_config['plugins'] = array('markasjunk2','archive','acl', 'managesieve', 'newmail_notifier', 'userinfo');

newmail_notifier

Показ в браузере уведомления о приходе нового сообщения нужно расширение HTML Desktop Notifications

Для Firefox до версии 22 нужен: HTML Desktop Notifications, HTML Desktop Notifications 1.2.4
Пример: newmail_notifier 0.7, FireFox 12 + html5notifications-1.2.4

keyboard_shortcuts

FIXME

https://github.com/corbosman/keyboard_shortcuts

Для исправления изображения клавиатуры в classic_compactнужно сделать ссылку:

ln -s /opt/roundcube/plugins/keyboard_shortcuts/skins/classic /opt/roundcube/plugins/keyboard_shortcuts/skins/classic_compact

Настройка password

Для работы в паролями которые лежат в LDAP, нужно выполнить

apt-get install php-net-ldap2

и настроить связь с LDAP сервером в config.inc.php

Настройка календаря

FIXME

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

Для работы с Sieve нужно расширение managesieve, вот пример файла настройки:

config.inc.php
<?php
$rcmail_config['managesieve_port'] = 4190;
$rcmail_config['managesieve_mbox_encoding'] = 'UTF-8';
$rcmail_config['managesieve_host'] = '%h';
?>

Работа от имени мастер-пользователя

Для работы от имени мастер-пользователя Dovecot нужно расширение dovecot_impersonate, для настройки нужно указать разделитель между именами пользователя и мастер-пользователя:

config.inc.php
<?php
$rcmail_config['dovecot_impersonate_seperator'] = '*';
?>

zipdownload

Это расширение позволяет загрузить все вложения в виде zip файла.

Для работы с русским языком нужно:

plugins/zipdownload/config.inc.php
$rcmail_config['zipdownload_charset'] = 'UTF-8';

Для старых версий:

1. Установить значение кодовой страницы cp866

plugins/zipdownload/config.inc.php
$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);

thunderbird-labels

Работа через IMAP Proxy

Если 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;

Работа с таблицами

FIXME

Тип объектаТаблица
Пользователиusers
Профилиidentities

Для каждого пользователя создается свой профиль.

Для управление содержимым БД: Adminer

Работа в SQL Buddy, примеры:

users.sql
--
-- 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;}');
identity.sql
--
-- 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

Импорт персональных адресных книг

FIXME

Для импорта из формата 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

Основная глава по MySQL

Создание БД

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

Резервное копирование

roundcube_backup_mysql.sh
mysqldump roundcube -uroundcube -hСЕРВЕР -pПАРОЛЬ > /etc/roundcube/roundcube.`date '+%u'`.sql

Сохранение имени и пароля пользователя на в броузере

В файле main.inc.php нужно задать значение переменной:

$rcmail_config['login_autocomplete']
0 = отключить
1 = только имя и сервер
2  = все: имя , сервер и пароль

Размер вложения

Файл /etc/roundcube/htaccess или /opt/roundcube/.htaccess

php_value       upload_max_filesize     50M
php_value       post_max_size           60M
php_value       memory_limit            64M

Запрет изменения оформления (скина) пользователем

В файле /etc/roundcube/main.inc.php нужно заменить

$rcmail_config['dont_override'] = array();

на

$rcmail_config['dont_override'][] = 'skin';

Classic Theme Compact without company logo

e-mail на странице

FIXME

/usr/share/roundcube/skins/classic/includes/taskbar.html

<div id="taskbar">
<span style="font-weight: bold;"><roundcube:object name="username" /></span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Исправления перевода

Файл /var/lib/roundcube/program/localization/ru_RU/messages.inc

$messages['folderpurged'] = 'Папка очищена';
$messages['folderexpunged'] = 'Папка сжата';

Работа с gmail (google mail)

ИмяПОЛЬЗОВАТЕЛЬ@ДОМЕН
Сервер
ssl://imap.gmail.com

http://linuxmacwinstuff.blogspot.ru/2012/07/access-gmail-with-roundcube.html

Решение проблем

PHP Error: Deprecated hook name

В если /var/log/roundcube/errors:

PHP Error: Deprecated hook name. imap_connect -> storage_connect

То в dovecot_impersonate.php нужно заменить imap_connect на storage_connect

Не отображаются изображения

Во входящих сообщениях не отображаются изображения.

Нужно исправить значение mime_magic

Вариант 11):

main.inc.php
$rcmail_config['mime_magic'] = null;

Вариант 22):

main.inc.php
$rcmail_config['mime_magic'] = '/usr/share/mime/magic';

Ссылки

roundcube/roundcube.txt · Последние изменения: 2019-05-10 23:39 — GreyWolf