Как обновить confluence на windows

Обновлено: 04.07.2024

Чем крупнее становится компания, тем больше появляется различной документации во всех её сферах. Документирование начинается от инструкций для сотрудников и заканчивая описаниями решений проблем и т.п. При малом количестве людей можно даже ничего не вести, ведь куда проще рассказать основное на словах и показать “на пальцах”. А если сотрудников много или большая “текучка” кадров на какой-нибудь должности? Можно использовать обычные офисные программы для создания документов. А если компания настолько разрослась, что таких документов становится очень много? Или у компании столько различных проектов, что можно заблудится во всех этих документах? Что если требуется вести протоколы встреч, выкладывать идеи для общего обсуждения, строить планы по проектам, устраивать опросы? Что если требуется хранить историю изменений и иметь раздельные права доступа? А еще требуется возможность выгрузки из системы в виде документов, например, в PDF формате? Здесь нужен уже какой-нибудь единый портал, единая база знаний, что-то в формате wiki. Для решения таких задач подойдет проект Confluence от Австралийской компании Atlassian.

Проверяем требования

Перед установкой проверим минимальные требования:

  • наличие root доступа; операционные системы(ОС) Linux и Windows;
  • СУБД PostgreSQL версии 9.6, MySQL версии 5.6.16 и 5.7, причем не поддерживается MariaDB, Oracle 12c, Microsoft SQL Server 2012 и выше;
  • для запуска системы хватит 2ГБ оперативной памяти, но минимальные требования - 6ГБ;
  • место на жестком диске минимально 10ГБ;
  • процессор четырехъядерный 2GHz;
  • поддерживаются все браузеры, кроме Internet Explorer 11 и младше.

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

Мы будем использовать в качестве ОС CentOS 7, поскольку он хорошо себя зарекомендовал для серверных решений. А в качестве СУБД - PostgreSQL 9.6. Способов установки Confluence несколько, мы будем использовать установщик. С другими способами Вы можете ознакомиться самостоятельно на официальной странице.

MS Word регулярно подкидывает нам «сюрпризы»: «съехавшие» скриншоты, «плывущие» таблицы, пустые страницы при печати. Эта статья о том, как мы искали замену MS Word, (спойлер — не нашли), а нашли возможность глобально улучшить наш процесс работы с документацией.

В Uniscan Research мы делаем наукоёмкие приборы серийным продуктом. Компания работает в секторе B2G (business-to-government) и B2C (business-to-client).

Наш отдел разрабатывает конструкторскую и пользовательскую документацию на разрабатываемые изделия, документы для сертификации, маркетинговые материалы, дизайн и оформление офиса (навигация, таблички на двери).

C документами в секторе B2C есть свобода выбора формата, названия и содержания документации. В секторе B2G около 70% документации, которую мы разрабатываем, должна быть оформлена в соответствии с требованиями ЕСКД и представлена на согласование заказчику в формате DOCX.

Пользователю мы передаем всю эксплуатационную документацию в напечатанном виде, поэтому все документы проходят предпечатную подготовку. Целевых форматов у наших документов два: DOCX и PDF.

Для выполнения наших задач в отделе традиционно в течение многих лет использовался MS Word.

При каждой новой правке свёрстанного в MS Word документа примерно в половине случаев «съезжают» скриншоты, «плывут» таблицы с иконками, а при печати документа и вовсе внезапно появляются невидимые пустые страницы. Эти операции по вёрстке документа отнимают у автора документа не только время, но и желание заниматься творчеством — разработкой новых документов.

Во время очередного поиска невидимых пустых страниц в документе DOCX в нашем отделе появилась идея попробовать новый инструмент разработки документации. Мы хотели сократить время на вёрстку и предпечатную подготовку документа.

В итоге нам так и не удалось полностью уйти от использования MS Word, но в процессе поисков мы построили новую схему работы с документацией.

Далее я постараюсь рассказать, какие инструменты для работы с документами мы рассматривали, почему в результате остановились на Confluence, с какими проблемами столкнулись и как смогли их решить.

Выбор инструмента

Мы почитали статьи на тему существующих инструментов по разработке документации, пообщались с коллегами из других компаний. Наиболее подходящими нам показались следующие инструменты:

  • Dita
  • DocBook XML
  • Confluence

Confluence с самого начала порадовал WYSIWYG-редактором. В среднем техническим писателям потребовалось около недели на освоение инструмента, вёрстка документов «не по ГОСТу» давалась проще.

В B2G-проектах нам важен PDF как формат для пользовательской документации. Поэтому мы сразу установили соответствующий плагин для Confluence — Scroll PDF Exporter. С его помощью мы попробовали создать пользовательские шаблоны с необходимыми параметрами. Результатами тестирования остались довольны: один из документов с большим количеством скриншотов и графических элементов мы верстали в MS Word около недели; в Confluence тот же самый документ у нас получилось сверстать за 2 дня и добиться при этом лучшего визуального представления.

Ещё мы попытались настроить шаблон для Scroll Word Exporter таким образом, чтобы на выходе получить документ, оформленный по всем правилам ЕСКД. Спустя два дня чтения справочников Confluence и Scroll PDF Exporter и попыток настроить действующий шаблон технических условий, мы поняли, что этот инструмент не подходит для разработки документов, оформляемых в соответствии с требованиями ЕСКД.

Так, например, у нас не получилось сделать нумерованные нежирные заголовки второго уровня, чтобы текст был не заголовком, а абзацем. Приходилось вручную писать номер пункта и использовать стиль «абзац». Нельзя было оформить маркированные списки с тире (только круги, квадраты), нумерованные списки оформлялись без точки, а буквенные — только с латинскими буквами. Абзацные отступы настраивались только вручную.

Спустя несколько месяцев после того, как мы начали осваивать Confluence, разработчики инструмента реализовали функцию редактирования документов в их исходном формате. Это позволило нам хранить наши «гостовские» документы и создавать новые документы, не требующие строгого оформления, в одном и том же месте. Файлы MS Word хранятся в Confluence как вложения, при редактировании открываются и сохраняются в MS Word на ПК пользователя, а при сохранении новая версия автоматически заливается в Confluence.

Так у нас появилась идея использовать Confluence в качестве инструмента, который одновременно бы решал три задачи:

  1. Создание базы знаний.
  2. Разработка, хранение и актуализация документации, разрабатываемой не по ГОСТу.
  3. Хранение и актуализация документации, разрабатываемой по ГОСТу.

Потенциал Confluence

Наши ожидания от функционала Confluence оправдались не полностью, но после завершения тестирования сформировалось в целом положительное отношение к этому инструменту. Ниже мы сформулировали его основные плюсы для нашего отдела:

  1. Настройка и поддержка инструмента своими силами.
  2. Простота освоения.
  3. Возможность организовать базу знаний о продуктах компании и хранить всю свёрстанную документацию в DOCX и PDF в одном месте.
  4. Поддержка версионности документов.
  5. Возможность использования технологии единого источника.
  6. Возможность совместной работы разработчиков и технических писателей над документами.
  7. Хранение рабочих документов и информации в одном месте.
  8. Возможность разрабатывать документы в любое время из любой точки мира.

Внедрение

Для внедрения Confluence мы выделили из отдела технических писателей двух специалистов, которые изучали и тестировали возможности инструмента.
Для непрерывной технической поддержки отдел системных администраторов выделил нам одного специалиста. Он оперативно реагировал на технические проблемы и помогал разобраться с базовыми настройками нового инструмента.

В то же самое время мы создали в отделе технических писателей рабочую группу, задачей которой было планирование структуры хранения данных. Вся структура нашего сервера была разделена на категории, соответствующие типам проектов компании. Категории в свою очередь делились на пространства по продуктам компании. Мы также выделили отдельную категорию для внутренней базы знаний.

Когда ответственные за тестирование системы достаточно глубоко изучили работу в Confluence, начался этап взаимного обучения коллег. На передачу знаний всему отделу понадобилось около месяца.

Технические проблемы

Внедрение Confluence в целом проходило достаточно гладко, но были и проблемы.

Вёрстка и предпечатная подготовка документов

«Раньше я делал это в MS Word за пару секунд. Как сделать то же самое в Confluence?» — такой вопрос мы задавали себе каждый день в течение всего времени тестирования.

Так, было совсем неочевидно, как выровнять содержимое таблицы по вертикали или назначить иконке размер меньше 16 px.

Действительно, базовый набор функций форматирования страниц в WYSIWYG-редакторе Confluence в значительной степени проигрывает MS Word, однако функционал можно значительно расширить, если зайти в режим редактирования исходного кода и работать напрямую с HTML-кодом.

Мы читали статьи, смотрели обучающие видеоролики по HTML-вёрстке и обменивались найденными решениями. Мы создали отдельную страницу в Confluence, куда разместили полезную информацию по работе с этим инструментом.

image

Обновление версии Confluence и плагинов

После первого обновления основного плагина Scroll PDF Exporter слетело 80% макросов и поехала структура страниц в Confluence. Позже выяснилось, что случилось так из-за нового функционала плагина. Всем отделом мы восстанавливали структуру документов несколько дней. После этого мы составили план обновления на будущее, которого придерживаемся до сих пор:

  1. Проводите обновление в пятницу, когда выполнен основной пласт работ за неделю, чтобы иметь возможность устранить возможные проблемы на выходных.
  2. Сделайте рассылку всем пользователям системы, чтобы сообщить им о времени запланированного обновления.
  3. Перед обновлением выполните резервное копирование сервера.
  4. Обновите версию Confluence.
  5. Протестируйте сервер, убедитесь, что вся информация на месте, работают ссылки на внешние и внутренние ресурсы.
  6. При необходимости обновить плагины снова выполните резервное копирование сервера.
  7. Проводите обновление плагинов по принципу один плагин за раз.
  8. Тестируйте работу плагина сразу после обновления.

Массовые уведомления

Когда в Confluence наконец закипела бурная деятельность технических писателей и разработчиков, администратору посыпались звонки от пользователей сервиса. Они просили избавить их от массовой атаки почтовыми уведомлениями о действиях других пользователей.

По умолчанию пользователю нужно было всего лишь раз зайти на какую-нибудь страницу, после чего он автоматически добавлялся системой в список наблюдателей и получал уведомления при каждом изменении этой страницы.

Вдобавок к этому Confluence любезно делал еженедельную рассылку пользователям с перечислением самых популярных страниц Confluence. К счастью, эта проблема уже широко была освещена в интернете. Решение — отключить соответствующие уведомления в настройках системы:

image

Теперь пользователи получают уведомления, только если их имя упомянуто в комментариях к статье.

Стабильность сервера

image

Для тестирования Confluence мы развернули Windows-сервер. На первоначальных этапах сервер часто «падал». Часть проблемы оказалась в недостаточном объёме оперативной памяти на сервере (рекомендованный объём 11-12 ГБ). Оставшиеся проблемы ушли, когда мы включили рекомендованные в таких случаях настройки системы.

Сейчас сервер работает достаточно стабильно — нарушение в работе случаются примерно 1 раз в 2 месяца. В случае сбоя достаточно перезагрузки для его восстановления.

Управление документацией в Confluence

На сегодняшний день в Confluence совместно работают технические писатели, программисты, электронщики, QA.

Мы планировали полностью отказаться от MS Word, разрабатывать документы исключительно в Confluence и преобразовывать их в DOCX и PDF. В реальности оказалось, что можно обойтись без длительного процесса переноса всей существующей документации в новый формат и последующей настройки шаблонов в Scroll PDF/Word Exporter. По нашим оценкам нам потребовалось бы на это около полугода. Гораздо проще оказалось перенести все разработанные документы в формате MS Word в Confluence и поддерживать их там же.

Мы решили не ждать от Confluence чудесного форматирования по всем требованиям ЕСКД и просто разделили все пользовательские документы условно на документы для «госзаказчика» и документы для «не госзаказчика».

Первые мы создаём в формате DOCX, храним и актуализируем в Confluence. Вторые разрабатываем прямо в Confluence, экспортируем в PDF при необходимости.

Благодаря встроенным макросам мы используем технологию единого источника в пользовательской документации — теперь не приходится вручную менять один параметр в нескольких версиях документов.

Удобный WYSIWYG-редактор позволяет легче вносить изменения в готовый документ — скриншоты, иконки и графические элементы остаются на месте.

image

Функция совместного редактирования статей позволяет совместно работать над документом. Можно поделиться документом с техническим экспертом прямо в Confluence и обсуждать его замечания в реальном времени, а не перекидываться бесконечно документом по почте.

Для работы вне офиса не нужно настраивать удалённый доступ. Чтобы иметь возможность поработать из дома, нужен только интернет.

Confluence предлагает пользователю уже привычный всем интерфейс веб-страницы с возможностью настроить cross-ссылки и открыть в браузере для работы сразу несколько вкладок.

Теперь мы храним все документы, графические элементы, фото устройств, а также ведем базу знаний по продуктам компании в одном месте. Нет нужды думать, где могут лежать исходники рисунков или самая свежая версия документов.

Что ещё хочется сделать

В настоящий момент мы настраиваем процесс согласования страниц Confluence с помощью плагина Comala Workflow. Однако, этот плагин не работает с вложениями MS Word. Такие документы мы согласовываем с помощью комментариев к версиям. Сейчас мы рассматриваем варианты настройки автоматического согласования вложений DOCX. Хочется, чтобы процесс согласования и утверждения можно было одновременно использовать как со страницами Confluence, так и с вложениями формата DOCX.

Когда настроим автоматическое согласование вложений, попробуем сделать быструю конвертацию из MS Word в PDF. А дальше — отправку документов на наш сервер печатной продукции, откуда документы забирает в печать типография.

Инструкция по работе с внезапными находками

Мы так и не сумели отказаться от MS Word, но в процессе поисков замены мы внезапно нашли нечто большее. Confluence объединил разработчиков разных отделов, сформировал базу знаний компании и стал хранилищем всех документов компании, независимо от их формата.

У нас в компании есть принцип: в любой непонятной ситуации принимай решения системно. Мы считаем, что решение, которое опирается на модель — лучше, чем то, что основывается на мнении экспертов или интуиции.

В случае с Confluence нам пригодилась модель Эрика Риса из «The Lean Startup». В продуктовой разработке она помогает делать pivot, менять направление развития продукта. А в задаче поиска замены MS Word — примерять новый инструмент шире, находить смежную пользу.

Злоумышленники ищут уязвимые серверы Confluence и эксплуатируют уязвимость CVE-2021-26084.

6 сентября 2021

В конце августа компания Atlassian объявила о выпуске обновления для исправления уязвимости CVE-2021-26084 в корпоративных вики-системах Confluence. Не прошло и недели, как эксперты обнаружили массовое сканирование в поисках уязвимых серверов Confluence и активные попытки эксплуатации. Мы рекомендуем всем администраторам как можно скорее обновить Confluence Server.

Что собой представляет уязвимость CVE-2021-26084

CVE-2021-26084 — это уязвимость Confluence, возникшая из-за использования языка Object-Graph Navigation Language (OGNL) в системе тегов. Уязвимость позволяет произвести инъекцию кода на OGNL и таким образом исполнить произвольный код на машинах, где развернут Confluence Server или Confluence Data Center, причем в некоторых случаях эксплуатировать ее может даже неаутентифицированный пользователь (в том случае, если в Confluence включена опция Allow people to sign up to create their account).

Atlassian оценивает эту уязвимость как критическую: по системе CVSS ей присвоен рейтинг 9,8. К тому же в Интернете уже появилось несколько демонстраций использования этой уязвимости, в том числе и вариант, допускающий удаленное исполнение кода (RCE).

Какие версии Confluence уязвимы

С перечнем уязвимых версий у Atlassian достаточно сложно — клиенты используют Confluence разных версий и зачастую не спешат переходить на самую свежую (зачем, если и так все работает). Согласно официальному описанию, выпущены обновления для версий 6.13.23, 7.4.11, 7.11.6, 7.12.5 и 7.13.0. Соответственно, CVE-2021-26084 все еще можно проэксплуатировать в версиях, предшествующих 6.13.23, а также версиях начиная с 6.14.0 и до 7.4.11, с 7.5.0 до 7.11.6, с 7.12.0 до 7.12.5. Пользователей Confluence Cloud проблема не затрагивает.

Как остаться в безопасности

Atlassian рекомендует клиентам переходить на самую свежую версию Confluence — 7.13.0. Но если это невозможно, то пользователям версий 6.13.x рекомендуют перейти на 6.13.23; 7.4.x на 7.4.11, 7.11.x на 7.11.6, а 7.12.x — на версию 7.12.5. Если же и это по каким-то причинам невозможно, то компания предлагает несколько временных обходных путей как для решений под системы семейства Linux, так и для Microsoft Windows. Подробную информацию о них можно найти на сайте компании.

Со своей стороны хотим напомнить, что машины, на которых развернут Confluence, — точно такие же конечные точки, как и все прочие серверы. А следовательно, нуждаются в защитном решении — это затруднит потенциальным злоумышленникам исполнение произвольного кода. Кроме того, для удаленной эксплуатации уязвимости злоумышленникам потребуется добраться до сети компании, а такую подозрительную активность могут выявить эксперты сервисов класса Managed Detection and Response. Также стоит ограничивать доступ к Confluence — внутренние сервисы компании не должны быть доступными извне.

Confluence — тиражируемая вики-система для внутреннего использования организациями с целью создания единой базы знаний. Написана на Java. Разрабатывается австралийской компанией Atlassian, является одним из двух её основных продуктов.

Установка PostgreSQL 12

Добавляем репозиторий PostgreSQL 12

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

После установки требуется инициализация базы данных, прежде чем можно будет запустить службу


Запускаем сервис PostgreSQL и проверяем статус

Редактируем настройки PostgreSQL, открываем доступ для Confluence

Создаем пользователя и базу

Установка Confluence

Создаем пользователя, от которого будет работать Confluence

Задаем пароль пользователю

Добавляем пользователя confluence в группу wheel, то бы у него появились права суперпользователя (sudo)

Переключаемся на пользователя confluence, переходим в домашниий каталог. Все дальнейшие операции будут выполняться из-под этого пользователя

Скачиваем дистрибутив confluence 7.5.0 и делаем его исполняемым

Запускаем установку Confluence

В процессе установки надо будет выбирать действия

Настраиваем Firewall, открываем порт 8090/tcp

Проверяем, запустился ли Confluence

Если записи с номером порта нет, запускаем Confluence вручную

Промышленная установка Триальная лицензия

Триальная лицензия Моя база данных Настройка базы данных

Установка Confluence + PostgreSQL + NGINX SSL reverse-proxy на Centos 7 6

Пример сайта

Для первого раза рекомендую установить пример сайта. Вы всегда сможете удалить это тестовое пространство.

Настройка Nginx в качестве reverse-proxy

Добавляем репозиторий Nginx

Устанавливаем nginx, добавляем службу в автозагрузку и запускаем его

Создаем каталог, где будет лежать самоподписанный ssl сертификат

Создаем самоподписанный сертификат и ключ

Отредактируем файл конфигурации NGINX

Хост localhost в строке server_name можно заменить на любое доменное имя. На тестовой машине я бычно использую localhost.

Проверим конфиг и перезапускаем nginx

Теперь необходимо сделать настройки со стороны Confluence, правим настройки tomcat

Раскомментируем и подправим строку ниже:

Если вы не будите использовать ssl, то последняя строка будет выглядеть:

localhost так же можно заменить на ваш хост

Настраиваем Firewall

Т.к. ранее мы открывали порт 8090, закрываем его

Открываем порты 80,443

Настраиваем SeLinux

Завершение настройки Confluence

Обновляем базовый URL в настройках Confluence

Confluence как системный сервис в Linux

Создаем юнит-файл confluence.service

Меняем права на файл

После создания юнит-файла, необходимо перезагрузить процесс самого systemd, для подхвата изменений. Затем запускаем сервис и добавляем его в автозагрузку. Проверяем статус

Читайте также: