Руководство по tine20

Описание

Tine20 - сервис для групповой работы профессионального уровня с открытым исходным кодом. Некоторое время назад откололся от eGroupWare и поэтому является его аналогом. Сетевое приложение, написанное на PHP с использованием БД MySQL для хранения данных. Поддерживает синхронизацию с помощью WebDAV и ActiveSync. В состав этого продукта входят:

  • Адресная книга

  • Менеджер файлов (с синхронизацией через клиент OwnCloud)

  • Календарь

  • CRM

  • Sipgate

  • Электронная почта c поддержкой нескольких аккаунтов и общими папками (Все входящие, все непрочитанные и так далее)

  • Задания

  • Продажи (Sales)

  • Human Resources

  • Инвентаризация (Inventory)

  • Хронометраж

  • Проекты

  • ЧаВО

Сайт проекта

Установка Tine 2.0

Использование сервера на стороне разработчика

Неплохой вариант для тех, у кого нет технической возможности развернуть данный комплекс у себя или нет грамотного специалиста для разворачивания этого комплекса. Разработчики без проблем сделают это для вас, но стоит учитывать, что это платная услуга. Заказать её можно на странице https://www.tine20.com/en/home.html

Установка на свой хостинг

Традиционно проста до безобразия.

  • Копируем код в папку, куда настроен Apache или Nginx

  • Создаём базу и пользователя для этой системы

  • Заходим в настройку: DOMAIN/setup.php и устанавливаем всё, что необходимо.

Настройка Nginx как прокси

Apache у нас будет висеть на 127.0.0.1:8080, а Nginx будет выдавать статику, проксировать запросы к Apache и блокировать вставки ваших картинок на левых сайтах.

Конфигурация:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
server {
    listen IP:80;
    server_name DOMAIN;
    access_log  /PATH/tine/access.log;
    error_log  /PATH/tine/error.log;
    proxy_ignore_client_abort on;

        location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
        root /PATH/tine;
        expires 31536000s;
        add_header Pragma "public";
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
                valid_referers none blocked DOMAIN;
                        if ($invalid_referer) {
                        return   403;
        }
        }

        location ~ /\.ht {
        deny  all;
        }

        location / {
        proxy_pass `[`http://127.0.0.1:8080`](/http://127.0.0.1:8080)`;
        proxy_redirect     off;
        proxy_set_header  Host       $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_cache_valid   200 302 10m;
        proxy_cache_valid   404 10m;
        proxy_cache_valid  301 1h;
        proxy_cache_valid  any 10m;
        }

        gzip  on;
        gzip_static on;
        gzip_http_version 1.1;
        gzip_vary on;
        gzip_comp_level 6;
        gzip_proxied any;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
        gzip_buffers 16 8k;
        gzip_disable “MSIE [1-6].(?!.*SV1)”;

}

где IP, DOMAIN и PATH нужно заменить на свои.

Блокируем поисковые системы

Учитывая, что Tine 2.0 не просто обычный сайт для всех, поисковым механизмам тут делать нечего. Давайте в /PATH/robots.txt запретим индексацию этого веб-приложения. Добавьте:

1
2
User-agent: *
Disallow: /

Настраиваем htaccess для корректной работы Tine 2.0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
RewriteEngine on
RewriteRule Microsoft-Server-ActiveSync(.*) index.php?frontend=activesync [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteCond %{REQUEST_METHOD} !^(GET|POST)$
RewriteRule ^$            /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^addressbooks /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^calendars    /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^principals   /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^webdav       /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
<ifmodule mod_expires.c>
 ExpiresActive On
 ExpiresDefault A604800
 ExpiresByType image/x-icon A604800
 ExpiresByType image/jpeg A604800
 ExpiresByType image/png A604800
 ExpiresByType image/gif A604800
 ExpiresByType image/js A604800
 ExpiresByType application/x-shockwave-flash A604800
</ifmodule>
php_flag zlib.output_compression On`

Как настроить, чтобы на почту приходило уведомление о событиях календаря Tine 2.0

  • Для начала в setup нужно правильно установить данные вашего SMTP-сервера

  • Задайте команду

php PATH/tine20.php --method Tinebase.triggerAsyncEvents -v --username ADMIN

где PATH - путь к вашей установке, ADMIN - имя администратора. Если будет просто

Tine 2.0 scheduler run (Tinebase_Alarm) complete.

Значит всё ок. Задайте эту команду в Cron на выполнение каждые 5 минут:

*/5 * * * * php PATH/tine20.php --method Tinebase.triggerAsyncEvents -v --username ADMIN

Внимание! На некоторых хостингах это может не работать. В консоли отдаём команду и получаем всё как надо:

Tine 2.0 scheduler run (Tinebase_Alarm,Tinebase_Controller_ScheduledImport) complete.

Но если это же задание работает в CRON, то получаем ошибку

1
2
3
4
X-Powered-By: PHP/5.5.17
Content-type: text/html

Not allowed: wrong sapi name!

В моём случае проблема решилась просто исправлением задания, вместо:

/usr/bin/php

прописал

/usr/local/bin/php

Настройка после установки

Как подключить Android к Tine

  • на андроид-устройстве нужно зайти в “настройки” - “аккаунты и синхронизация”

  • добавить аккаунт

  • вручную указать параметры сервера:

    • адрес почты в tine

    • адрес сервера DOMAIN.

    • логин

    • пароль

    • SSL по желанию и если настроен (рекомендуется)

Далее можно выставить индивидуальные настройки синхронизации (частота, давность загруженных писем и так далее)

Можно ли подключиться к Tine как к жёсткому диску?

Да, такая возможность есть. Для Windows 7 нужно:

  • зайти в меню и на “компьютер” нажать правой кнопкой мышки

  • выбрать “подключить сетевой диск”

  • выбрать “подключение к сайту….”

  • далее

  • выберите другое сетевое размещение

  • сетевой адрес: https://DOMAIN/webdav

  • введите имя для сетевого размещения (любое какое понравится, например, просто Tine)

  • Готово

Вы сможете работать с файлами напрямую. Например, документы открывать в Word или Excel. Естественно, это будет работать при корректной настройке htaccess (описано выше).

Как синхронизировать задачи (задания) с мобильными устройствами?

  • Для работы с задачами на смартфонах под управлением OS Android достаточно установить одно из приложений, работающих с таск-листами MS Exchange. Например, Tasks & Notes for MS Exchange (ссылку не даю, лучше использовать поиск непосредственно на сервисе)). Настройка аналогична настройке ActiveSync этого же смартфона.

Синхронизация файлов

Разработчики сделали просто замечательную функцию и теперь можно достаточно просто синхронизировать свои данные. Пригодиться для тех, кто ищет замену dropbox или кому нужен достаточно простой способ подливать данные на сервер.

  • Добавляем в .htaccess следующую строчку

RewriteRule ^remote.php   /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA] 

  • Ставим клиент OwnCloud (для Windows, Linux и Mac OS можно найти на этой странице owncloud.org/sync-clients (Для Android есть тоже приложение в маркете, хотя оно и платное (на данный момент стоит всего 30 рублей)

  • Устанавливаем, настраиваем папку для синхронизации и всё!

Чистка базы данных

Заметил, что база данных растёт просто бешеными темпами. Любая синхронизация оставляет запись, вся почта болтается в кеше, даже удалённая. Вывод один - чистить. Какие таблички можно чистить, а какие нет - чуть ниже. User - пользователь базы данных, password - пароль к БД и base - сама база. Всё, что вы делаете, делается на свой страх и риск, поэтому помните про бэкапы!

mysql --user=user --password=password base -e "TRUNCATE tine20_access_log;"

После чисток этих баз придётся обновлять почту, в ящиках сразу не будет сообщений, ни входящих, ни исходящих. Помогает при интенсивном использовании почты.

`mysql –user=user –password=password base -e ”TRUNCATE tine20_felamimail_cache_message;”

`mysql –user=user –password=password base -e ”TRUNCATE tine20_felamimail_cache_message_to;”

mysql --user=user --password=password base -e "TRUNCATE tine20_felamimail_cache_msg_flag;"


Клиенты для офлайн-работы

  • OS Android, подключение к exchange

  • Kontakt - решение по управлению персональной информацией. Программа объединяет известные приложения KDE: электронную почту, адресную книгу, заметки и электронные конференции (KMail, KOrganizer, KAddressBook, KTimeTracker, KNotes и KNode) в единый комплекс. Может работать с почтой, а так же работать с адресной книгой и календарём.

  • Почтовый клиент Thunderbird. Необходимо добавить SOGo-connector и будет работать синхронизация почты, адресной книги и календарей.

Локализация

Вы можете помочь с переводом этого ПО. В настоящее время переведено примерно на 82 процента. Вы можете:

Использование данного программного обеспечения

Почта

Адресная книга

Календарь

Файловое хранилище

Задачи