Сегодня облачными технологиями уже никого не удивишь. На просторах интернета можно найти колоссально большое количество таких решений. Чего только стоит нашумевший MS Office 365. Mail.Ru — один из первых, кто подключил его API для своих почтовых сервисов. И все бы ничего, если бы проект Teamlab не переименовался и не переориентировался на open source! Теперь этот проект известен как ONLYOFFICE, и его можно использовать свободно! Ребята из ONLYOFFICE теперь позиционируют свой продукт как универсальный облачный офис, позволяющий управлять почтой, документами, проектами, командой и прочим в едином пространстве. Для работы с сервисом нужен только браузер, еще можно завести XMPP-клиент (серверная часть XMPP встроена в серверный дистрибутив ONLYOFFICE).
Что касается платности, в этом проекте можно купить подписку на техническую поддержку (это стало модно в серьезных IT-решениях, где все работает из коробки). Причем если на портале в разделах пять активных пользователей, то техническую поддержку тебе окажут совершенно бесплатно. Также есть возможность развернуть ONLYOFFICE на облаке проекта, цена в этом случае также зависит от числа пользователей портала. Серверная платформа доступна для развертывания в нескольких вариантах:
- Серверная версия Enterprise Edition.
- Установка серверной версии Free Edition с помощью сценария автоматической установки.
- Community Server — собственно портал.
- Document Server — сервер обработки документов.
- Mail Server.
Итак, по порядку. Серверную часть Enterprise Edition можно установить для Docker или скачав и развернув один из трех доступных образов виртуальных машин: MS Hyper-V, VMware и VirtualBox. Образы можно скачать с официального сайта. При таком варианте установки потребуется немало аппаратных ресурсов, что не очень радует. Системные требования:
- процессор двухъядерный с тактовой частотой 2 ГГц или лучше;
- оперативная память не менее 6 Гбайт;
- свободное место на жестком диске не менее 40 Гбайт.
И требования к программному обеспечению:
- Microsoft Hyper-V: версия 6.1 или выше;
- VMware: VMware vSphere Hypervisor и VMware vSphere Client версии 5.0 или выше;
- VirtualBox: версия 5.0 или выше.
Даже для виртуалок ONLYOFFICE весьма прожорлив.
Система автоматической установки чуть менее прожорлива, при этом включает в себя весь необходимый набор функций: Community Server, Document Server и Mail Server. Системные требования:
- оперативная память: не менее 6 Гбайт;
- процессор: двухъядерный 2 ГГц или выше;
- файл подкачки: не менее 3 Гбайт;
- свободное место на жестком диске: не менее 40 Гбайт;
- дистрибутив: 64-битный Red Hat, CentOS или другой совместимый дистрибутив с версией ядра 3.19 или выше, 64-битный Debian, Ubuntu или другой совместимый дистрибутив с версией ядра 3.19 или выше.
Установка в этом режиме обычно не вызывает большого количества вопросов. По очереди выполняй скрипты. Автоматическая установка с помощью сценария установки.
Нас интересует исключительно ручная установка нужных компонентов по двум причинам. Во-первых, она позволяет выборочно устанавливать необходимые модули. Например, если в твоей инфраструктуре уже есть почтовый сервер, зачем ставить еще один, когда можно подключить просто почтовый аккаунт. Экономия ресурсов и времени, ну и, в конце концов, развернуть — это одно дело, потом это же еще надо обслуживать. Во-вторых, таким образом можно достичь наибольшей гибкости установки. Например, один модуль (Community Server) можно поставить локально на сервер, устанавливая все зависимости, а другой (Document Server) — запустить в Docker. Также присутствует версия для Windows. Здесь, как обычно, все просто: скачали EXE-файл, запустили, далее, далее, далее, готово. По пути задаем настройки. Мы же рассмотрим установку на примере одного из модулей (Document Server) на Debian 8.2. Установка остальных модулей аналогична. В некоторых случаях модули лучше держать на разных серверах. Так, если есть необходимость иметь несколько порталов, можно завести их на один Document Server. На официальном сайте в каждом разделе присутствуют видеомануалы.
Итак, дано:
- Виртуалка или железяка с Debian 8.2 или Ubuntu 14.04 LTS на борту, двумя гигами памяти и 10 Гбайт свободного места на диске.
- Настроена сеть, установлены последние обновления.
Установка и настройка
Все описанное также доступно на официальном сайте проекта: инструкция по установке серверной версии Document Server для Linux на локальном сервере. Итак, первым делом добавляем все необходимые ключи и подключаем репозитории.
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
# echo "deb http://download.mono-project.com/repo/debian wheezy/snapshots/3.12.0 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
# echo "deb http://archive.ubuntu.com/ubuntu precise main universe multiverse" | sudo tee -a /etc/apt/sources.list
# add-apt-repository ppa:ubuntu-toolchain-r/test
# wget http://download.onlyoffice.com/repo/onlyoffice.key && sudo apt-key add onlyoffice.key
# echo "deb http://download.onlyoffice.com/repo/debian squeeze main" >> /etc/apt/sources.list
# apt-get update && sudo apt-get upgrade
# apt-get install onlyoffice-documentserver
Вот так нехитро устанавливается модуль Document Server. После этого он будет доступен по IP-адресу хоста, на котором установлен. Уже можно загрузить документ и редактировать его.
По умолчанию сервис работает по HTTP, для запуска по HTTPS необходимо сгенерировать закрытый ключ и SSL-сертификат. И подсунуть в каталоги.
# mkdir -p /opt/onlyoffice/Data/certs
# cp onlyoffice.key /opt/onlyoffice/Data/certs/
# cp onlyoffice.crt /opt/onlyoffice/Data/certs/
# cp dhparam.pem /opt/onlyoffice/Data/certs/
# chmod 400 /opt/onlyoffice/Data/certs/onlyoffice.key
Переходим к установке Community Server. Как я писал выше, тот модуль вынесем на отдельную виртуалку с рабочим диском, например, в 100 гигов. Устанавливать будем Community Server для Linux на локальном сервере. Инструкция по установке серверной версии Community Server с официального сайта.
Сначала посмотрим на системные требования:
- процессор двухъядерный с тактовой частотой 2 ГГц или лучше;
- оперативная память не менее 2 Гбайт;
- свободное место на жестком диске не менее 2 Гбайт;
- дополнительные требования не менее 2 Гбайт для файла подкачки;
- операционная система 64-битный дистрибутив Red Hat, CentOS или другой совместимый дистрибутив с версией ядра 3.8 или выше, 64-битный дистрибутив Debian, Ubuntu или другой совместимый дистрибутив с версией ядра 3.8 или выше.
Дополнительные требования:
- Mono: версия 3.2 или выше;
- MySQL: версия 5.5 или выше;
- nginx.
Дано:
- Виртуалка или железяка с Debian 8.2 или Ubuntu 14.04 LTS на борту, двумя гигами памяти и 100 Гбайт свободного места на диске.
- Настроена сеть, установлены последние обновления.
Добавляем ключи и подключаем репозитории:
# wget http://download.onlyoffice.com/repo/onlyoffice.key && sudo apt-key add onlyoffice.keys
#deb http://download.onlyoffice.com/repo/debian squeeze main
# apt-get update
# apt-get install onlyoffice-communityserver
Перед первым запуском необходимо создать базу данных и настроить подключение к ней. Так же как и Document Server, Community Server по умолчанию работает по HTTP, для работы по HTTPS необходимо сгенерировать и подсунуть ключ и сертификаты. Кстати, если ты совсем параноик в части безопасности, то здесь можно ограничить доступ, используя авторизацию по SSL nginx. Далее необходимо подружить Community Server и Document Server. Для этого заходим на портал. Итак, почти из коробки нам доступно:
- управление проектами;
- документами;
- CRM;
- люди (команда пользователей);
- сообщество (ведение блогов, новостей, событий, приказы, опросы и прочее);
- почта (почтовый веб-клиент);
- чат (веб-клиент XMPP, предусмотрено использование внешнего IM-клиента, на странице есть рекомендации по внешним XMPP-клиентам);
- календарь;
- лента новостей портала.
Xakep #207. Дистанционное банковское ограбление
Первое: замечаем фишку подключения внешних аккаунтов, среди них Owncloud.
Подключение аккаунта Owncloud очень простое.
Ссылку для аккаунта Owncloud можно добыть, зайдя в Owncloud: начиная с версии 7+ слева внизу есть шестеренка, жмем на нее и копируем ссылку, под которой написано «Используйте этот адрес для доступа к файлам через WebDAV». После этого у тебя появится папочка с заданным именем. Можно подключать несколько Owncloud-аккаунтов с разных серверов одновременно. Каталоги, как и документы, будут создаваться на сервере Owncloud.
При создании документов доступны основные форматы: документ, презентация и таблица. Все документы, помимо PDF, могут конвертироваться в любой офисный формат:
- DOCX, ODT, HTML, TXT — для документов;
- XLSX, ODS, HTML, CSV — для таблиц;
- PDF, PPTX — для презентаций.
Если что-то удалил по ошибке, есть корзина, из которой можно все вернуть. Кроме того, есть возможность просмотра документа по версиям. В разделе управления проектами все так же просто и удобно. Можно создавать проекты, внутри — задачи, а внутри задач — подзадачи. Привязывать к ним документы, которые появятся в разделе документов «Документы проекта». Все это можно наносить на календарь, который, в свою очередь, расшаривать как пользователям, так и группам портала. Также вести обсуждения, строить отчеты, вести учет времени и многое другое.
В разделе «CRM» все как полагается для ведения базы клиентов. Тут и компании, и персоны, внутри которых можно создавать проекты и задачи. Назначать ответственных, контролировать сделки, выставлять счета, назначать мероприятия, все это выгружать на свой сводный или общий календарь. Одним словом — этот раздел хорошо подходит для организаций, ведущих коммерческую деятельность. К слову, о счетах: сейчас ведутся разработки по интеграции всего этого комплекса с 1С. На официальном форуме поиском уже можно найти ветки общения с разработчиками по поводу выгрузки документов.
Переходим в раздел «Сообщество». Здесь все просто как дважды два — каждый пользователь может вести свой блог. Дальше — раздел «Люди». В этом разделе можно создавать сотрудников, высылая инвайты им на электронную почту, по которым они регистрируются на портале. Все это можно делить на группы, организации, клиентов и партнеров. Также можно импортировать списки из сервисов Yahoo, Google или из файла. Далее раздел «Почта». Здесь можно подключать любые почтовые учетные записи, управлять метками. Удобным показалось отображение всех входящих писем единым списком, отдельно также можно отображать по каждой учетной записи. Чат, как уже говорилось ранее, построен на XMPP-протоколе. Портал имеет встроенный веб-клиент.
Последним посмотрим раздел с настройками. Здесь сразу можно сменить логотип, задать языковые настройки и настройки времени. Задать FQDN портала. Выбрать шаблон команды — как будут классифицироваться пользователи и группы. И последним можно выбрать цветовую схему из шести вариантов. Настройки безопасности включают в себя доступ к порталу: политика паролей, настройка почтовых доменов пользователей, которым разрешено регистрироваться, ограничения по IP-адресу, настройки обращений к администратору. Нельзя не сказать, что последняя функция очень полезна :). В правах доступа можно настраивать доступ к модулям системы. Например, одним разрешить только документы, другим только календарь и проекты. В подразделе управления данными можно отключить портал или удалить его совсем. Очень интересный подраздел «Интеграция». Здесь можно подключать внешние сервисы к порталу, как облака, так и некоторые социалки! И если с Owncloud все просто, то с Google-дисками нужно повозиться. Первым делом нужно подключить Google API. Для этого:
- перейди в консоль API Google;
- введи свои регистрационные данные, если это необходимо;
- нажми кнопку Create project (Создать проект). Откроется новое окно. Введи имя проекта в поле Project name и нажми кнопку Create (Создать). Ты будешь перенаправлен на страницу Dashboard со сводной информацией о созданном проекте;
- перейди к разделу Use Google APIs (Использование API Google) и нажми на ссылку Enable and manage APIs (Включение и управление API). Откроется обзорная страница API Manager;
- в разделе Google Apps APIs нажми на ссылку Drive API, а затем на кнопку Enable API (Включить API);
- вернись на страницу Google APIs, перейди к разделу Social APIs, нажми на ссылку Google+ API, а затем на кнопку Enable API (Включить API);
- на левой боковой панели перейди в раздел Credentials (Учетные данные), разверни список Add credentials (Добавить учетные данные) и выбери опцию OAuth 2.0 client ID (Идентификатор клиента OAuth 2.0);
- нажми кнопку Configure consent screen (Настройка экрана подтверждения) и укажи имя твоего проекта в поле Product name shown to users (Имя продукта, которое видят пользователи). Нажми кнопку Save (Сохранить). Откроется раздел Create client ID (Создание идентификатора клиента);
- в списке Application type (Тип приложения) выбери переключатель Web application (Веб-приложение);
- в поле Authorized redirect URIs (Авторизованные URI переадресации) введи https://service.teamlab.com/oauth2.aspx;
- нажми кнопку Create (Создать);
- Client ID (идентификатор клиента) и Client secret (секретный код клиента) будут отображены в новом окне. Скопируй или запиши их.
После пары несложных трюков у всех пользователей доступна кнопка подключения учетной записи Google Drive. Процесс хорошо описан на официальном сайте: инструкция по подключению внешних учетных записей.
Там же можно найти инструкции, как подключать сервисы Facebook, Twitter, LinkedIn, Dropbox и OneDrive.
Итого
Подведем итоги. Команда ONLYOFFICE очень и очень удивляет после ребрендинга своего продукта. Начиная от развертки и до конечного использования процесс простой и в то же время комфортный. Не будем забывать о наших «верхах», которые думают о нас днем и ночью. Например, поднимая корпоративный портал на своих локальных серверах, IT-специалист действует полностью в рамках закона № 97-ФЗ от 5 мая 2014 года ;). От себя лично скажу, что ONLYOFFICE достаточно крутой продукт, способный конкурировать с подобными системами СЭД. Команда разработчиков сильно потрудилась над каждой мелочью. Весьма рекомендую к использованию.
P. S. Немного видеоматериалов по работе с ONLYOFFICE, найденных в Сети: