Home » Linux » Перенос и обновление Onlyoffice

Перенос и обновление Onlyoffice

Недавно я писал про установку и настройку Onlyoffice - сервиса для совместной работы и редактирования документов. Сегодня хочу поделиться некоторыми моментами из практики, чтобы у вас появилось представление о том, как все это работает. А самое главное, как обслуживать onlyoffice - обновлять или переносить на другой сервер. Я рассмотрю на конкретном примере оба этих варианта.

Онлайн-курс "Базы данных" – для разработчиков, администраторов СУБД и всех, кто стремится повысить профессиональный уровень, научиться проектировать базы данных и создавать оптимальную структуру их хранения (PostgreSQL, MySQL, Redis, MongoDB, Cassandra и т. д.) Подробности по .

 

Обновление и перенос Onlyoffice

Введение

У меня под управлением есть Onlyoffice на базе следующих продуктов:

  1. Community Server версии 9.6.4.
  2. Document Editor 5.2.3.

Все установлено из пакетов на сервере под управлением Centos 7. Данные версии продукта были выпущены минимум пару лет назад, а может и больше. Несколько раз я предпринимал попытки все это обновить штатным образом через менеджер пакетов, но у меня ничего не получалось. Обновленная система не работала. Проблемы в первую очередь возникают либо с зависимостями, либо с интеграцией портала с редактором документов.

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

  • Перенос Onlyoffice на другой сервер.
  • Переход на работу в Docker.
  • Обновление до последних версий софта.

Здесь на каждом этапе будут свои сложности. Во-первых, как такового Community Server на сайте onlyoffice и в документации нет. Его заменил продукт ONLYOFFICE Groups, который включает в том числе и Community Server. Во-вторых, не существует актуальных инструкций по данной теме. Да, есть отдельно по переносу, есть по обновлению. Но рассматривается это примитивно, типа запустите yum update и обновите пакеты, или docker pull и обновите образы. Варианты, когда где-то возникает проблема, не рассматриваются. Ну и в-третьих, нет никакой поддержки. Во всем надо разбираться самому.

У меня по сути наложились две ошибки, поэтому все сильно усложнилось. Обновить onlyoffice через обновление пакетов у меня не получилось, поэтому исходные данные были старой версии. При их переносе на новый сервер, не получалось просто взять их и подсунуть ему. Сервер падал с ошибками. По логам я понял, что изменилась структура базы данных, что с этим делать не сразу догадался.

Здесь косвенно можно судить о качестве разработки и подходу к self-hosted решению (качество не очень). Я ожидал, что когда я перекину старые данные новому серверу, он поймет, что они старые и обновит все до последней версии. Но так не получилось. В итоге все делал вручную, о чем дальше и расскажу.

Обновление Onlyoffice

Чтобы не быть голословным, показываю, чем заканчивается обновление Onlyoffice из пакетов, с использованием предлагаемых разработчиком репозиториев. Причем в разное время ошибки были разные. Это последняя.

Обновление Onlyoffice

В первую очередь возникает проблема с mono. Я ее в итоге решил. Пришлось полностью удалить старую версию и поставить новую. Дальше все равно обновление не идет, так как в зависимостях новой версии стоит elasticsearch, а в старой ее не было. Автоматически это несоответствие никак не разрешается. Ну ок, подключил сам репу с elsticsearch и поставил его. Дальше опять идет ошибка уже с пакетом mono-webserver-hyperfastcgi, которого опять нет ни в одном репозитории. Подключаю вручную репозиторий с этим пакетом, обновляю.

На этот раз проходит обновление всех пакетов, но на выходе все равно ничего не работает. Оба приложения - Document Editor и Community Server запускаются на 80-м порту. Раньше было не так - работали на разных. Опять автоматически этот конфликт никак не разрешается. Лезу в настройки nginx и вручную все разруливаю. Это не так просто, так как конфигов там навалом с разными include и location. В общем, все разнес, приложения по отдельности работают, а вот интеграцию docs в портал так и не настроил.

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

Берем новую виртуалку и устанавливаем Onlyoffice с помощью Docker образов, как я это показал в прошлой статье, ссылку на которую дал в начале. Инсталлятор подключает volume с данными портала в директорию хоста - /app/onlyoffice. Нас в первую очередь будут интересовать данные отсюда:

  • /app/onlyoffice/CommunityServer/data - непосредственно сами файлы
  • /app/onlyoffice/mysql/data - база данных mysql

Все остальное можно потерять, там ничего критичного. Теперь идем на старый сервер и смотрим, где эти же данные хранятся там:

  • /var/www/onlyoffice/Data
  • /var/lib/mysql

Базу данных можно остановить и просто скопировать со старого сервера на новый. Но я предпочитаю действовать более надежно - сделать дамп и восстановиться из него. Идем на старый сервер и делаем дамп базы данных mysql от onlyoffice:

# mysqldump -uroot -hlocalhost -p'oNlYoFfIcE2017!' onlyoffice > /root/onlyoffice.sql

Обращаю внимание на выделенный пароль. Раньше дефолтным был этот. По крайней мере на момент установки сервера.

Копируем дамп на новый сервер. Команду выполняю на нем:

# rsync -av --progress root@10.1.4.11:/root/onlyoffice.sql /root

10.1.4.11 - ip адрес старого сервера. Сразу же скопируем остальные файлы:

# rsync -av --progress root@10.1.4.11:/var/www/onlyoffice/Data /root

Теперь наша задача восстановить базу данных из дампа. Смотрим имя контейнера с базой данных на новом сервере.

# docker ps

Набор docker контейнеров onlyoffice

Копируем дамп базы данных в контейнер.

# docker cp /root/onlyoffice.sql ef4c6676f46e:/onlyoffice.sql

Теперь идем в контейнер и восстанавливаем базу данных onlyoffice из дампа.

# docker exec -it ef4c6676f46e bash
# mysql -u root -p'my-secret-pw' onlyoffice < onlyoffice.sql

Жирным выделил актуальный на момент написания статьи дефолтный пароль базы данных mysql для onlyoffice.

Теперь останавливаем docker контейнер onlyoffice/communityserver и заменяем содержимое /app/onlyoffice/CommunityServer/data на то, что вы скопировали со старого сервера. Набор директорий может отличаться. В новом сервере их немного больше. Я просто удалил на новом те папки, что есть на старом и заменил их полностью старыми данными.

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

# chown -R 104:107 /app/onlyoffice/CommunityServer/data

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

Итак, вы запустили контейнер и отправились в браузер по адресу http://ip-сервера/. Скорее всего увидите ошибку 500. Дальше можно посмотреть логи nginx, чтобы хоть примерно понимать, откуда ошибка. Смотреть надо файл /app/onlyoffice/CommunityServer/logs/nginx.error.log. В моем случае там было это:

[error] 460#460: *163 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: , request: "GET /api/2.0/capabilities.json HTTP/1.1", upstream: "fastcgi://unix:/var/run/onlyoffice/onlyoffice.socket:", host: "127.0.0.1"

Я сходил в контейнер CommunityServer и убедился, что указанный сокет существует, значит служба запущена, но выдает ошибку. Проверяю лог самой службы - /app/onlyoffice/CommunityServer/logs/onlyoffice.log.

Debug Listening on port: 0
Debug Listening on address: /var/run/onlyoffice/onlyoffice.socket

Здесь все в порядке, сервис работает, ошибок нет. Смотрю следующий лог - /app/onlyoffice/CommunityServer/logs/web.log. Тут трудночитаемая лапша, но суть уловить можно. Вот содержательная часть ошибки:

ERROR [6] ASC.Resources - ReplaceLogo MySql.Data.MySqlClient.MySqlException (0x80004005): Unknown column 'p.campaign' in 'field list'

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

Гугление особо не помогло, в документации тоже ничего не нашел. Отправился смотреть исходники и заметил там любопытную директорию - https://github.com/ONLYOFFICE/CommunityServer/tree/master/build/sql. Я понял, что тут лежит именно то, что мне нужно. Здесь описаны изменения базы данных в новых версиях.

Моя старая версия 9.6, значит мне сверху на нее нужно накатить следующие изменения:

  • onlyoffice.upgradev100.sql
  • onlyoffice.upgradev105.sql
  • onlyoffice.upgradev110.sql

Скачиваю эти файлы и копирую в контейнер с mysql.

# docker cp /root/onlyoffice/Sql/onlyoffice.upgradev100.sql ef4c6676f46e:/onlyoffice.upgradev100.sql
# docker cp /root/onlyoffice/Sql/onlyoffice.upgradev100.sql ef4c6676f46e:/onlyoffice.upgradev105.sql
# docker cp /root/onlyoffice/Sql/onlyoffice.upgradev100.sql ef4c6676f46e:/onlyoffice.upgradev110.sql

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

# docker exec -it ef4c6676f46e bash
# mysql -u root -p'my-secret-pw'
> use onlyoffice
> source onlyoffice.upgradev100.sql;
> source onlyoffice.upgradev105.sql;
> source onlyoffice.upgradev110.sql;

После этого перезапускаю контейнер с CommunityServer.

# docker restart onlyoffice-community-server

Теперь можно идти в web интерфейс и пробовать залогиниться администратором. У меня все заработало, портал запустился. Единственное, почему-то не смог войти, используя пароль от учетной записи админа на старом портале. Сбросил его, на почту пришла ссылка для обновления пароля, и я установил такой же. После этого успешно зашел в систему.

Дальше нужно выполнить важный шаг. На прошлом сервере пути для интеграции со службой документов были другие. При работе в Docker контейнерах пути должны быть следующие:

Интеграция службы документов

/ds-vpath/
http://onlyoffice-document-server/
http://onlyoffice-community-server/

Сразу дам подсказку для тех, кто будет возиться с этими настройками. Они у меня много крови попили, так как не всегда получалось сразу настроить правильно, а подсказок нигде никаких нет. Открывайте dev tools в chrome и смотрите консоль ошибок. Если какие-то пути неправильные, вы в консоли увидите ошибки и поймете, как работает проверка, куда она отправляет запросы и с какими ошибками они возвращаются. После этого можно идти в nginx и разбираться, в чем проблема.

Это в основном актуально, если у вас documentserver и communityserver разнесены по разным машинам, либо через пакеты всё ставили. Когда всё работает на одном хосте в докере, проблем быть не должно. Теоретически и тут могут быть, если по какой-то причине не будет работать внутренний dns в докере. Были раньше такие баги, но это лечится.

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

Community Server 11

ONLYOFFICE Docs 6

Перенос Onlyoffice

В целом, про перенос onlyoffice я почти все рассказал в предыдущем разделе. Выношу его отдельно для тех, кто будет переезжать без обновления. А так же для тех, у кого обновление прошло штатно и отдельно заострять на нем внимания нет необходимости. Если вы переносите данные onlyoffice между серверами одной и той же версии, то проблем никаких быть не должно. Вам необходимо перенести:

  1. Базу данных Mysql.
  2. Директорию Data портала, где хранятся сами файлы.

В большинстве случаев для переноса базы данных достаточно остановить сервер mysql и скопировать директорию /var/lib/mysql, если у вас локальная версия, либо подключенную к docker через volume - /app/onlyoffice/mysql/data. Я делал так много раз, проблем не было.

Далее переносите файлы из директории /var/www/onlyoffice/Data в случае локальной версии, или /app/onlyoffice/CommunityServer/data в случае с docker. После этого на новом месте проверяете права на файлы и стартуете сервисы. Все, больше ничего делать не надо.

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

Здесь же сделаю еще одно важное дополнение. Я уже говорил в первой статье, что не рекомендую настраивать https на самом сервере Onlyoffice. Потом будет труднее переезжать, обновляться, тестировать какие-то изменения. Когда у вас версия работает по http, вы спокойно ее клонируете, меняете ip и заходите по нему в веб интерфейс. Нет никаких ошибок https. Если нужно переехать, просто поднимаете новый сервер, все отлаживаете на нем, переносите данные и переключаете на nginx, работающем в режиме proxy_pass бэкенд и все. Я всегда придерживаюсь такого подхода при работе web приложений. Все входящие соединения пропускаю через nginx.

Бэкап

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

С появлением отдельного компонента портала - Панель управления, этот вопрос упростился, так как то же самое можно сделать через web интерфейс.

Backup Onlyoffice

У вас есть возможность подключить внешнее хранилище и бэкапить портал туда по расписанию. Либо в локальный файл сохранять и потом куда-то копировать. Надежнее всего использовать оба способа - забирать сырые данные и сформированный через панель управления архив. Бэкапов много не бывает :) С помощью сырых данных можно без проблем держать холодный или горячий резерв.

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

Заключение

На этом по Onlyoffice на сегодня все. Надеюсь, у вас появилось представление, как этот портал работает и с чем можно столкнуться во время эксплуатации. Как видите, надо немного разбираться во внутренностях этой штуки, чтобы успешно решать проблемы. Если у вас нет достаточного опыта, я бы аккуратно внедрял onlyoffice и старался перейти на платную подписку с тех поддержкой. Либо использовал его для вспомогательных вещей, которые терпят некоторого простоя, пока вы восстановитесь из резервной копии. Как я уже говорил, он отлично подходит для ведения большой и разноплановой документации. Удобно и не критично, если что-то где-то засбоит.

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

Если у вас есть желание поднять у себя подобный портал, но некому это сделать, можете обращаться ко мне. Я рассчитаю примерную стоимость своей работы и всё вам настрою по вашему заданию (бэкапы, клонирование, мониторинг, интеграция с почтой и т.д.).

Онлайн курс "Data Engineer"

Онлайн-курс Data Engineer – для разработчиков, администраторов СУБД и всех, кто стремится повысить профессиональный уровень, освоить новые инструменты и заниматься интересными задачами в сфере работы с большими данными. Курс не для новичков – нужно пройти вступительный тест. Выпускники курса смогут:
  • разворачивать, налаживать и оптимизировать инструменты обработки данных;
  • адаптировать датасеты для дальнейшей работы и аналитики;
  • создавать сервисы, которые используют результаты обработки больших объемов данных;
  • отвечать за архитектуру данных в компании.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

35 комментариев

  1. Михаил

    Приветсвую вас!
    Имел неосторожность обновиться через панель управления, в итоге сервер вообще не запустился....
    Вернее контейнеры вроде запущены, но команда
    root@OnlyOffice:~# netstat -ptuln
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 128/systemd-resolve
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 223/sshd
    tcp6 0 0 :::22 :::* LISTEN 223/sshd
    udp 0 0 127.0.0.53:53 0.0.0.0:* 128/systemd-resolve

    И нет коннекта по вебу, куда копать?
    Работает только ssh - остальное нет....

    root@OnlyOfficeps aux
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.0 0.0 77600 8596 ? Ss 19:41 0:00 /sbin/init
    root 50 0.0 0.1 86376 15388 ? Ss 19:41 0:00 /lib/systemd/systemd-journald
    systemd+ 71 0.0 0.0 71720 5008 ? Ss 19:41 0:00 /lib/systemd/systemd-networkd
    root 98 0.0 0.0 17768 208 ? Ss 19:41 0:00 snapfuse /var/lib/snapd/snaps/core20_1081.snap /snap/core20/1081 -o ro,nodev,allow_other,suid
    root 99 0.0 0.0 17768 184 ? Ss 19:41 0:00 snapfuse /var/lib/snapd/snaps/core_11420.snap /snap/core/11420 -o ro,nodev,allow_other,suid
    root 103 0.0 0.0 17900 1784 ? Ss 19:41 0:00 snapfuse /var/lib/snapd/snaps/certbot_1343.snap /snap/certbot/1343 -o ro,nodev,allow_other,suid
    root 105 0.0 0.0 17768 204 ? Ss 19:41 0:00 snapfuse /var/lib/snapd/snaps/core20_1026.snap /snap/core20/1026 -o ro,nodev,allow_other,suid
    root 107 0.0 0.0 18064 2172 ? Ss 19:41 0:01 snapfuse /var/lib/snapd/snaps/core_11606.snap /snap/core/11606 -o ro,nodev,allow_other,suid
    root 108 0.0 0.0 17768 196 ? Ss 19:41 0:00 snapfuse /var/lib/snapd/snaps/certbot_1280.snap /snap/certbot/1280 -o ro,nodev,allow_other,suid
    systemd+ 128 0.0 0.0 70492 4776 ? Ss 19:41 0:00 /lib/systemd/systemd-resolved
    root 207 0.0 0.0 284640 6516 ? Ssl 19:41 0:00 /usr/lib/accountsservice/accounts-daemon
    message+ 209 0.0 0.0 50032 4396 ? Ss 19:41 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
    root 213 0.0 0.2 1073876 25788 ? Ssl 19:41 0:00 /usr/lib/snapd/snapd
    root 214 0.0 0.0 28360 2820 ? Ss 19:41 0:00 /usr/sbin/cron -f
    syslog 215 0.0 0.0 193404 4172 ? Ssl 19:41 0:00 /usr/sbin/rsyslogd -n
    root 216 0.0 0.1 167444 16952 ? Ssl 19:41 0:00 /usr/bin/python3 /usr/bin/networkd-dispatcher --run-startup-triggers
    root 217 0.0 0.0 70464 5640 ? Ss 19:41 0:00 /lib/systemd/systemd-logind
    root 220 0.0 0.4 1499268 45340 ? Ssl 19:41 0:00 /usr/bin/containerd
    root 223 0.0 0.0 72304 5672 ? Ss 19:41 0:00 /usr/sbin/sshd -D
    root 224 0.0 0.0 13024 1928 pts/0 Ss+ 19:41 0:00 /sbin/agetty -o -p -- \u --noclear --keep-baud tty1 115200,38400,9600 linux
    root 225 0.0 0.0 13024 1920 console Ss+ 19:41 0:00 /sbin/agetty -o -p -- \u --noclear --keep-baud console 115200,38400,9600 linux
    root 226 0.0 0.0 13024 1928 pts/1 Ss+ 19:41 0:00 /sbin/agetty -o -p -- \u --noclear --keep-baud tty2 115200,38400,9600 linux
    root 249 0.0 0.7 2012660 78864 ? Ssl 19:41 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    root 445 0.0 0.0 713064 9420 ? Sl 19:41 0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 3bc68b16d933bcfe0a9cec3df13a03828d0de938b1982f00a86254ef02d4ff48 -addre
    root 446 0.0 0.0 713064 9532 ? Sl 19:41 0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 52c927a81654689e641292ff05b2d958d439d15d69a1dad9ff8d1b61e0330d78 -addre
    root 447 0.0 0.0 712168 9564 ? Sl 19:41 0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id b031a012d6c01c011d56e7e79fc05a0f2eeb8d181d47ff6fe6356057a3ccd1ee -addre
    root 531 0.0 0.1 49604 18452 pts/0 Ss+ 19:41 0:00 /usr/bin/python /usr/bin/supervisord
    999 540 0.0 3.5 2123228 365080 pts/0 Ssl+ 19:41 0:01 mysqld
    root 547 0.0 0.0 7172 3504 pts/0 Ss+ 19:41 0:00 /bin/bash /app/ds/run-document-server.sh
    uuidd 1077 0.0 0.2 214460 28972 ? Ss 19:41 0:00 /usr/lib/postgresql/12/bin/postgres -D /var/lib/postgresql/12/main -c config_file=/etc/postgresql/12/main/postgresql.conf
    root 1078 0.0 0.7 1723388 74308 pts/0 Sl 19:41 0:04 node server.js
    root 1086 0.0 0.0 105692 7188 ? Rs 19:41 0:00 sshd: root@pts/2
    uuidd 1088 0.0 0.0 214460 6412 ? Ss 19:41 0:00 postgres: 12/main: checkpointer
    uuidd 1089 0.0 0.0 214460 6276 ? Ss 19:41 0:00 postgres: 12/main: background writer
    uuidd 1090 0.0 0.1 214460 10408 ? Ss 19:41 0:00 postgres: 12/main: walwriter
    uuidd 1091 0.0 0.0 215000 8988 ? Ss 19:41 0:00 postgres: 12/main: autovacuum launcher
    uuidd 1092 0.0 0.0 68824 5108 ? Ss 19:41 0:00 postgres: 12/main: stats collector
    uuidd 1093 0.0 0.0 214888 6948 ? Ss 19:41 0:00 postgres: 12/main: logical replication launcher
    108 1251 0.0 0.0 6352 200 ? S 19:41 0:00 /usr/lib/erlang/erts-10.6.4/bin/epmd -daemon
    108 1286 0.0 0.0 2608 536 ? S 19:41 0:00 /bin/sh /usr/sbin/rabbitmq-server
    108 1414 0.0 0.0 2608 1776 ? S 19:41 0:00 /bin/sh /usr/lib/rabbitmq/bin/rabbitmq-server
    108 1576 0.0 0.7 3221164 77700 ? Sl 19:41 0:05 /usr/lib/erlang/erts-10.6.4/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 104
    108 1680 0.0 0.0 2492 1476 ? Ss 19:41 0:00 erl_child_setup 524288
    root 1697 0.0 0.0 76524 7252 ? Ss 19:41 0:00 /lib/systemd/systemd --user
    root 1698 0.0 0.0 109280 4232 ? S 19:41 0:00 (sd-pam)
    root 1726 0.0 0.0 19288 4264 pts/2 Ss 19:41 0:00 -bash
    108 1745 0.0 0.0 3880 908 ? Ss 19:41 0:00 inet_gethost 4
    108 1746 0.0 0.0 3960 1792 ? S 19:41 0:00 inet_gethost 4
    root 1792 0.0 0.2 28972 20584 ? Ss 19:42 0:00 /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    109 1802 0.0 0.3 579752 32040 ? Sl 19:42 0:00 /var/www/onlyoffice/documentserver/server/Metrics/metrics ./config/config.js
    root 1815 0.0 0.0 6748 2216 ? Ss 19:42 0:00 /usr/sbin/cron
    root 1851 0.0 0.1 98716 16464 ? Ss 19:42 0:00 nginx: master process /usr/sbin/nginx
    109 1950 0.0 0.7 713744 73956 ? Sl 19:43 0:00 /var/www/onlyoffice/documentserver/server/DocService/docservice
    109 1961 0.0 0.4 594084 47364 ? Sl 19:43 0:00 /var/www/onlyoffice/documentserver/server/FileConverter/converter
    109 1967 0.0 0.6 711904 71060 ? Sl 19:43 0:00 /var/www/onlyoffice/documentserver/server/FileConverter/converter /snapshot/server/build/server/FileConverter/sources/conver
    root 7159 0.0 0.0 5476 580 pts/0 S+ 19:43 0:00 tail -f /var/log/onlyoffice/documentserver/converter/err.log /var/log/onlyoffice/documentserver/converter/out.log /var/log/o
    www-data 7160 0.0 2.2 316056 228360 ? S 19:43 0:00 nginx: worker process
    root 7469 0.0 0.0 36704 3112 pts/2 R+ 19:50 0:00 ps aux

  2. Алексей

    Не совсем по теме, но нужна помощь. Никто не знает как сбросить пароль админа без восстановления по почте? Она не была настроена и попасть в учётку не могу. Есть доступ к рутовому шеллу, но там неясно куда лезть, в БД видимо напрямую.

  3. Владимир

    При выполнении команды source onlyoffice.upgradev100.sql;
    валятся ошибки:

    <td id="L231" class="blob-num js-line-numbe' at line 1
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '

    <td id="L263" class="blob-num js-line-numbe' at line 1
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '

    <details class="details-reset details-overlay Blob' at line 1
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2021 GitHub, Inc.
    <a data-ga-click="Footer' at line 1

    • Смотрите внимательно содержимое файла onlyoffice.upgradev100.sql. Там явно не то, что должно быть. У вас в тексте ошибок четко видно, что внутри файла не sql команды. Где-то что-то напутали.

      • Аноним

        Я же и смотрю, что html какой-то ))

        • Аноним

          Я напортачил. Всё получилось. Огромное спасибо за статью !

          • Рад, что помог. Тема непростая. Давно используете onlyoffice? Раз дошли до этого обновления, значит версия старая.

            • Владимир

              Года 4 наверное. На момент обновления была 9-я версия. Тоже пытался накатить обновление, ничего не вышло. Пришлось переносить.

              • В целом устраивает продукт? Серьезных ошибок не было? Сколько человек с ним работают?

                • Владимир

                  Да, всё устраивает. Работают около 150 чел. До 9-й версии были проблемы (подвисал док. сервер). Начиная с 9-й версии проблем не возникало.

                  • Получается без подписки, раз сами обновляете? На бесплатной версии?

                    • Владимир

                      Да, версия бесплатная, функционала вполне хватает.

  4. Дмитрий

    Zerox, добрый день! А ВЫ не сталкивались с проблемой в onlyoffice Community Server, когда документ редактируют каждый день, но в бекапах не сохраняются данные и в таблице не актуальные данные?. Для полноты картины опишу свою ситуацию. Есть несколько человек, заполняют каждый день один файл данными, в один день набирают и говорят, что в таблице пропала информация за несколько последних дней. В версионности фала есть данные, что пользователи изменяли файл (объем файла меняется от версии с каждым днем), но скачивается разные версий один и тот же файл и в бекапах за прошедшие дни сохранился файл без данных. Такое складывается ощущение что таблицу заглючило и в ней не сохранялись данные. Что искать и куда копать не понятно. Вы сталкивались с потерями данных в данном продукте?

    • А этот файл случайно не остается открытым у кого-то постоянно? Я сталкивался с тем, что пользователи открывали файл и не закрывали в браузере. Потом открывали еще раз. И так по 10 раз один и тот же файл был открыт в браузере. После этого наблюдались похожие глюки. В идеале, файл нужно открыть, поработать и закрыть. Если он постоянно открыт, то бывают проблемы с сохранением данных и версионированием. Оно тупо не ведется.

  5. Михаил

    Владимир, здравствуйте!
    Прошу совета - поставил onlyoffice в контейнерах все настроил и все работает
    но ВМ с ним спрятана за haproxy - никак не могу понять как прикрутить валидный сертификат типа crm.mysite.ru - он прописан в днс хостера а вот без сертификата на этот домен извне зайти не удается...
    Спасибо

    • Не понял, что конкретно у вас не получается? Ставьте сертификат на haproxy и проксируйте дальше трафик на onlyoffice по http. На самом onlyoffice я tls сертификаты не настраиваю. С ними потом хлопот много.

      • Михаил

        Я здесь https://qna.habr.com/q/900867 обрисовал вопрос - тут не ответили и вряд ли ответят
        если вы есть на хабре можете там ответить или здесь, как вам будет удобно

        • Вам там правильно ответили. То же самое, что и я. Получайте сертификат на самом прокси. Вот как это выглядит для nginx:

          server {
              listen 443 http2 ssl;
              server_name site.ru;
              access_log /var/log/nginx/site.ru-access.log full;
              error_log /var/log/nginx/site.ru-error.log;
              
              ssl_certificate /etc/letsencrypt/live/site.ru/fullchain.pem;
              ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;
              
              location /.well-known {
          	root /tmp;
              }
          
              location / {
          	proxy_pass http://10.20.50.3:80;
          	proxy_set_header Host $host;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-Proto https;
              }
          }
          
          server {
              listen 80;
              server_name site.ru www.site.ru;
              return 301 https://site.ru$request_uri;
          }

          certbot для подтверждения домена использует location /.well-known и директорию /tmp, а все остальные запросы уходят на виртуалку с onlyoffice.

          • Михаил

            Да, это я понимаю, но у меня стоит HAPROXY
            Как с ним быть?

            PS спасибо за развернутый ответ!

            • Настроить по аналогии. Я не использую HAPROXY, поэтому не могу вам помочь.

              • Михаил

                Ок, тогда поставлю впн из вне во внутрь и будем так юзать, как вариант.

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

                • Да, я об этом говорил в первой статье. Очень сложная многокомпонентная система. Ставить ее в прод без тех. поддержки очень опасно. У меня тоже много раз ломалось. Я поэтому и перешел на докер контейнеры, чтобы запустил и больше в саму систему вообще не лазить, не трогать там ничего. Тогда работает стабильно.

      • Сергей

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

  6. Спасибо.
    При работе с онлиофис следует поинить, что фри-версия позволяет только 20 одновременных пользователей.

    • Не так. Бесплатная версия редактора документов позволяет одновременно редактировать не более 20-ти документов. Ограничения по пользователям нет.

  7. Сергей

    Владимир, спасибо за статью. Регулярно сижу на вашем сайте - спасибо вашу работу! Владимир, вопрос немного не по теме, но может быть поделитесь информацией - есть ли возможность совместного редактирования документов в бесплатной версии? Я полагаю нужно поставить onlyofficegroups для этого? Спасибо заранее.

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

      • Сергей

        Благодарю за ответ. Для начала ознакомлюсь с Docker - опять же с помощью вашего сайта)))

Добавить комментарий

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.