Установка onlyoffice в jail и подключение к nextcloud

Установка onlyoffice в jail и подключение к nextcloud

Установка onlyoffice в jail и подключение к nextcloud

ч1. Установка onlyoffice.

    В этой статье мы установим onlyoffice и подключим его к ранее установленному nextcloud чтоб можно было редактировать документы онлайн. Нужен доступ по домену. Буду использовать доменное имя keenetic-а. 
Заходим в трунас, создаем jail, запускаем его и входим терминалом (запускаем putty).

pkg update
pkg install nginx
pkg install onlyoffice-documentserver

дожидаемся установки и внимательно читаем послеустановочный вывод терминала. Там будет инструкция что надо сделать дальше. Для удобства выделяем весь текст в терминале (в putty выделенный текст автоматически сохраняется в буфер обмена, поэтому не надо нажимать правую кнопку мыши для копирования), создаем текстовый файл и вставляем текст:
alt text

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

  sysrc nginx_enable="YES"
  sysrc rabbitmq_enable="YES"
  sysrc supervisord_enable="YES"

Теперь нам надо определить нужную версию БД для установки. Можно прокрутить терминал колесом мыши и посмотреть какой версии клиент установлен:

или ввести в терминале:

 psql --version

устанавливаем 17 версию postgres:

pkg install postgresql17-server

После установки двигаемся дальше по инструкции, нас интересует всё что касается postgersql, mysql пропускаем:

sysrc postgresql_enable=yes
service postgresql initdb
chmod -R 777 /tmp
service postgresql start
 psql -U postgres -c "CREATE DATABASE onlyoffice;"
 psql -U postgres -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
 psql -U postgres -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
 psql -U postgres -c "ALTER DATABASE onlyoffice OWNER to onlyoffice;"
 psql -hlocalhost -Uonlyoffice -d onlyoffice -f /usr/local/www/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
service rabbitmq start
rabbitmqctl --erlang-cookie `cat /var/db/rabbitmq/.erlang.cookie` add_user onlyoffice придумай_пароль 
rabbitmqctl --erlang-cookie `cat /var/db/rabbitmq/.erlang.cookie` set_user_tags onlyoffice administrator
rabbitmqctl --erlang-cookie `cat /var/db/rabbitmq/.erlang.cookie` set_permissions -p / onlyoffice ".*" ".*" ".*"

Теперь идем по пути /usr/local/etc/onlyoffice/documentserver и в файле local.json в самом низу строчку amqp://guest:guest@localhost приводим к виду amqp://onlyoffice:придумай_пароль@localhost , где "придумай_пароль" это пароль придуманный выше.
   
    Пункт 4 инструкции:
Открываем файл /usr/local/etc/supervisord.conf и в самом конце добавляем:

[include]
files = /usr/local/etc/onlyoffice/documentserver/supervisor/*.conf

и стартуем сервис (в терминале уже):

service supervisord start

Пункт 5, настраиваем nginx. Открываем файл nginx.conf из папки /usr/local/etc/nginx/ и перед боком "server" вставляем:

include /usr/local/etc/onlyoffice/documentserver/nginx/ds.conf;

Не забываем про точку с запятой на конце и проверять синтаксис командой:

nginx -t
documentserver-update-securelink.sh #надо чтоб создался ключ AutorizationJWT в файле /usr/local/etc/onlyoffice/documentserver/nginx/ds.conf. Открыв его, найдите строчку "set $secure_link_secret" там будет ключ, скопируйте его.
service nginx start

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

ч2. Соединение с nextcloud.

      Открываем WinSCP, идем по адресу (мы всё еще в джейле с офисом) /usr/local/etc/onlyoffice/documentserver/ и открываем файл local.json. Нам надо его отредактировать. Три "false" заменить на "true" (внимательнее с запятыми, где-то есть, где-то нет), к "Authorization" добавить "JWT", чтоб получилось "AuthorizationJWT" в обеих строчках, ну и три слова "secret" заменить на сам ключ, который скопировали выше из ds.conf. Этот же ключ прописан в последней строчке.


Ну и на последок перезапускаем доксервер:

supervisorctl restart all

   Открываем наш Nextcloud, идем в приложения и устанавливаем Onlyoffice/

После установки идем в настройки onlyoffice и заполняем:
Адрес onlyoffice (напомню, доменное имя должно быть, и как говорит интернет, можно локальное доменное имя с самоподписным сертификатом, для этого нужно правильно настроить сеть), вписываем ключ (который выше вписывали в
local.json), ну и заголовок заполняем "AuthorizationJWT":




P.S. Если делаете через доменное имя кинетика, то придется зайти в cli кинетика и ввести три команды, в противном случае коннекта с офисом не будет (вместо "имя" вводите доменное имя, которое прописали в кинетике:

(config)> ip http proxy имя x-real-ip
(config)> ip http proxy имя preserve-host
(config)> system configuration save


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

Всем удачи !

P.S. Если всё выше написанное помогло вам со своим облаком, тогда можете выписать премию к пенсии )))))

Top