Конкурс инструкций

Бесплатный SharePoint или собственный GSuite за 20 минут

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

Для этого мы просто арендуем сервер за чашку кофе в день (на Ваш вкус 50-99 рублей) и разберем установку пакета ONLYOFFICE Community Edition.

Зачем вообще что-то ставить, если есть бесплатное решение Гугл Документы.

%UserName%
Опытный пользователь ПК

В чем-то %UserName%, конечно, прав, на эту тему можно привести множество аргументов с обеих сторон вопроса. Мы не будем заострять на этом внимание, ведь здесь инструкция для тех, кому это нужно. В интернете есть материалы на эту тему для холиварных историй. Правда, в нашем случае, вместо платного GSuite — бесплатный ONLYOFFICE.

Выбор сервера

Для простых манипуляций с документами нам подойдет простой облачный сервер линейки Standart Line с 8 ГБ ОЗУ и 64 ГБ жесткого диска за 80 рублей в день. При желании, мощности всегда можно увеличить выбрав варианты подороже (для идеальной работы подойдет 12 ГБ RAM и 64 ГБ диска, собранный через конфигуратор).

Стоимость нашей конфигурации Selectel

Настройка сети и выход в интернет

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

Приватная сеть работает только внутри созданного проекта и ваши сервера ещё не умеют выходить в интернет, поможем им — создадим роутер.

Создание Роутера для выхода в интернет 

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

Вкладка "Порты" созданного Роутера

Перейдем в консоль и проверим, работает ли интернет на нашей облачной платформе.

Консоль сервера

Подключаемся к серверу

Чтобы пользователи могли подключаться к нашему серверу документов необходимо присвоить ему публичный ip-адрес. Стоит эта услуга всего 4 рубля в день.

Добавляем плавающий ip-адрес

Теперь, когда публичный адрес известен ассоциируем его с приватным ip-адресом нашего сервера документов.

Сохраним публичный адрес и перезагрузимся

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

Проверка доступности сервера публично, через PuTTY

OnlyOffice Community Edition

Чтобы решить нашу задачу максимально быстро будем использовать уже готовые Docker контейнеры необходимого программного обеспечения.

Инструкций по установке Docker в интернете достаточно много, не будем останавливаться на ней подробно.

Установка Docker на Debian 10

Комплект установки, чтобы ничего не пропустить

Наша задумка с одновременным редактированием документов потребует установки сразу трех модулей OnlyOffice: Сервер документов, Сервер совместной работы и Почтовый сервер.

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

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

Подготовка системы

Обратите внимание, более подробная и полная инструкция доступна на официальном сайте.

Создадим каталоги для наших будущих модулей, которые мы пробросим в Docker контейнеры:

sudo mkdir -p "/app/onlyoffice/mysql/conf.d"; sudo mkdir -p "/app/onlyoffice/mysql/data"; sudo mkdir -p "/app/onlyoffice/mysql/initdb"; sudo mkdir -p "/app/onlyoffice/mysql/logs"; chown 999:999 /app/onlyoffice/mysql/logs; sudo mkdir -p "/app/onlyoffice/CommunityServer/data"; sudo mkdir -p "/app/onlyoffice/CommunityServer/logs"; sudo mkdir -p "/app/onlyoffice/DocumentServer/data"; sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";

Чтобы наши модули были интегрированы между собой внутри разных Docker контейнеров, создадим сеть в функцией bridge:

sudo docker network create --driver bridge onlyoffice

Сервер баз данных

Создадим файл конфигурации будущего SQL сервера. Обратите внимание, что в данном примере минимум настроек. Для лучшей производительности рекомендуется использовать mysqltuner и другие инструменты оптимизации.

echo "[mysqld] sql_mode = 'NO_ENGINE_SUBSTITUTION' max_connections = 1000 max_allowed_packet = 1048576000 group_concat_max_len = 2048 log-error = /var/log/mysql/error.log" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf sudo chmod 0644 /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

Теперь, создадим файл, который поможет автоматизировать создание пользователей и задаст их пароли. При установке офиса на своем сервере, используйте собственные пароли (вместо onlyoffice_pass, Isadmin123).

echo "CREATE USER 'onlyoffice_user'@'localhost' IDENTIFIED BY 'onlyoffice_pass'; CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY 'my-secret-pw'; GRANT ALL PRIVILEGES ON * . * TO 'onlyoffice_user'@'%' IDENTIFIED BY 'onlyoffice_pass'; GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123'; FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

Когда все готово, перейдём к установке контейнера с сервером БД

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server -p 3306:3306 \ -v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \ -v /app/onlyoffice/mysql/data:/var/lib/mysql \ -v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \ -v /app/onlyoffice/mysql/logs:/var/log/mysql \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_DATABASE=onlyoffice \ mysql:5.7
Установка сервера баз данных

Сервер документов

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

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \ -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \ -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql \ onlyoffice/documentserver
Установка Onlyoffice Document Server

Сервер совместной работы

Завершает установку загрузка контейнера Community Server. Ввиду того, что все модули OnlyOffice устанавливаются на одну машину, мы вручную разграничиваем использование портов.

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 \ -e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_SERVER_DB_NAME=onlyoffice \ -e MYSQL_SERVER_HOST=onlyoffice-mysql-server \ -e MYSQL_SERVER_USER=onlyoffice_user \ -e MYSQL_SERVER_PASS=onlyoffice_pass \ -e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \ -v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \ -v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \ onlyoffice/communityserver

Запуск и настройка решения

Теперь, если открыть наш сервер, мы должны увидеть окно первичной настройки.

Первичная настройка OnlyOffice

Рекомендуется дождаться завершения установки, однако может случиться так, что первичная настройка так и не закончится. В конце этой инструкции есть раздел FAQ, который должен помочь.

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

Настройки администратора

Демо-доступ

Специально для тех, кто дочитал до этого места, предлагаю протестировать получившийся продукт работающий на мощностях Selectel.

Адрес сервера:

Логин: info@uxel.ru

Пароль: DemoSelectel

У этого логина права администратора - делайте все что пожелаете. Главное — оцените скорость и функциональность решения, установка которого займёт не более 10 минут.

FAQ

Что делать если установка OnlyOffice прошла успешно, но никак не завершается первичная настройка?

1. Убедитесь, что вы используете сервер с минимальными системными требованиями.

2. Выполните команду:

docker ps

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

docker stop abcd123 docker rm abcd123

Где abcd123 - первые 7 символов названия контейнера.

3. Очистите всю папку /app.

4. Начните установку сначала.

0
Комментарии
Читать все 0 комментариев
null