Як встановити ONLYOFFICE Docs на Ubuntu 24.04 | Ubuntu 22.04 | Ubuntu 22.04

Як встановити ONLYOFFICE Docs на Ubuntu 24.04 | Ubuntu 22.04 | Ubuntu 22.04

 

ONLYOFFICE Docs — це безкоштовний у використанні, але потужний онлайн-офісний пакет для спільної роботи, який постачається з переглядачами та редакторами документів для текстів, презентацій, електронних таблиць, форм та PDF. Пакет ONLYOFFICE повністю сумісний з форматами Office Open XML: .docx, .xlsx, .pptx і підтримує спільне редагування документів в режимі реального часу. У цій статті ми покажемо вам, як встановити та налаштувати ONLYOFFICE Docs на Ubuntu 24.04 (Noble Numbat).

ONLYOFFICE Docs комплектується з наступними компонентами:

  • сервер – це рівень сервера, який керує всіма компонентами ONLYOFFICE Docs.
  • Core – забезпечує обмін даними між форматами документів Office (DOC, DOCX, ODT, RTF, TXT, PDF, HTML, EPUB, XPS, DjVu, XLS, XLSX, ODS, CSV, PPT, PPTX, ODP).
  • sdkjs – JavaScript SDK API для взаємодії всіх включених компонентів на стороні клієнта.
  • web-apps– це фронтенд для ONLYOFFICE Docs
  • dictionaries – містять словники різних мов, які використовуються для перевірки правопису в ONLYOFFICE Docs.

Ось список редакторів, який постачається з ONLYOFFICE Docs:

  • Редактор документів ONLYOFFICE
  • Редактор електронних таблиць ONLYOFFICE
  • Редактор презентацій ONLYOFFICE
  • ONLYOFFICE Творець форм
  • ONLYOFFICE PDF редактор, читач і конвертер

Вимоги до налаштування

У цій статті ми встановлюємо Community Edition ONLYOFFICE Docs на локальний сервер Ubuntu. Мінімальні вимоги до серверного обладнання такі:

  • Процесор: Як мінімум двоядерний 2 GHz
  • Оперативна пам’ять: Як мінімум 2 GB
  • Місце на диску: принаймні вільного місця40 GB
  • SWAP: Принаймні , або більше оперативної пам’яті, якщо немає свопу.4 GB
  • ОС: 64-бітна система Ubuntu або Debian Linux

Якщо ви відповідаєте вимогам, саме час переключити увагу на налаштування сервера документів.

Крок 1: Налаштуйте базу даних PostgreSQL

Почніть налаштування, переконавшись, що ваша система оновлена

sudo apt update && sudo apt upgrade -y

Ми можемо встановити версію сервера PostgreSQL, доступну в наших репозиторіях за замовчуванням.

sudo apt install postgresql

Як тільки пакет встановлений сервіс запускається автоматично, наступним пунктом дії це створення бази даних PostgreSQL і користувача:

sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"

Крок 2: Встановіть сервер RabbitMQ

ONLYOFFICE використовує RabbitMQ як брокера обміну повідомленнями для забезпечення зв’язку між різними службами в пакеті ONLYOFFICE. Встановіть пакет, виконавши наступну команду:

sudo apt install rabbitmq-server

Перевірити статус послуги можна:

$ systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ Messaging Server
     Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-07-30 08:20:24 UTC; 6s ago
   Main PID: 15046 (beam.smp)
      Tasks: 24 (limit: 4658)
     Memory: 102.8M (peak: 107.9M)
        CPU: 3.770s
     CGroup: /system.slice/rabbitmq-server.service
             ├─15046 /usr/lib/erlang/erts-13.2.2.5/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdcpu none -sb>
             ├─15056 erl_child_setup 65536
             ├─15108 /usr/lib/erlang/erts-13.2.2.5/bin/inet_gethost 4
             ├─15109 /usr/lib/erlang/erts-13.2.2.5/bin/inet_gethost 4
             └─15112 /bin/sh -s rabbit_disk_monitor

Jul 30 08:20:20 ubuntu-cloudspinx-com systemd[1]: Starting rabbitmq-server.service - RabbitMQ Messaging Server...
Jul 30 08:20:24 ubuntu-cloudspinx-com systemd[1]: Started rabbitmq-server.service - RabbitMQ Messaging Server.

Крок 3: Встановіть ONLYOFFICE Docs

Тепер, коли ми налаштували середовище, ми готові встановити ONLYOFFICE Docs у нашу систему Ubuntu. Однак, нам потрібно імпортувати ключ GPG, який використовується для підпису пакетів, як перший крок.

curl -fsSL  https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/onlyoffice.gpg

Після того, як GPG нас імпортовано, ми можемо додати репозиторій ONLYOFFICE APT:

echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list

Оновіть кеш менеджера пакетів і встановіть ONLYOFFICE Docs.

sudo apt update
sudo apt install onlyoffice-documentserver ttf-mscorefonts-installer

Коли з’явиться запит на введення пароля бази даних, просто натисніть клавішу <ENTER> на клавіатурі, щоб продовжити. Далі прийміть умови ліцензійної угоди.

Як встановити ONLYOFFICE Docs на Ubuntu 24.04

 

Як встановити ONLYOFFICE Docs на Ubuntu 24.04

Перевірте, чи не виникли помилки під час встановлення. Якщо все пройде успішно, ONLYOFFICE можна отримати у своєму браузері за адресою http://localhost або http://serverdomain_or_ip.

Крок 4: Захистіть ONLYOFFICE Docs за допомогою SSL

Ми можемо налаштувати ONLYOFFICE Docs для доступу за допомогою протоколу HTTPS, який набагато безпечніший, ніж HTTP. За замовчуванням він налаштований на роботу на HTTP.

У нашій конфігурації використовуваний сервер працює в хмарному середовищі. Це дозволяє використовувати безкоштовний SSL від Let’s Encrypt.

Використання Let’s Encrypt SSL

Найпростіший спосіб налаштувати HTTPS для ONLYOFFICE Docs – використовувати SSL-сертифікати Let’s Encrypt за допомогою certbot. Використовуйте наступну команду, щоб встановити certbot.

  • Debian / Ubuntu:
sudo apt update && sudo apt install certbot
sudo apt install python3-certbot-nginx
  • Системи на базі RHEL:
sudo dnf -y install epel-release
sudo dnf -y install certbot python3-certbot-nginx

Після того, як ви встановили certbot, запустіть скрипт ONLYOFFICE, який автоматизує конфігурації SSL.

sudo bash /usr/bin/documentserver-letsencrypt.sh email@example.com yourdomain.com

Замініть email@example.com на вашу фактичну адресу електронної пошти, а yourdomain.com на доменне ім’я, налаштоване в DNS для сервера ONLYOFFICE Docs.

Коли ви запустите команди, він виведе шлях до файлу журналу, звідки ви можете перевірити прогрес генерації SSL, і будь-які помилки будуть записані там.

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Для перевірки вмісту файлу журналу використовується команда:cat

sudo cat /var/log/letsencrypt/letsencrypt.log

Приклад останніх кількох рядків, виведених з файлу:

...

-----BEGIN CERTIFICATE-----
MIIEVzCCAj+gAwIBAgIRAIOPbGPOsTmMYgZigxXJ/d4wDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCRTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNCzqK
a2GOtu/cX1jnxkJFVKtj9mZhSAouWXW0gQI3ULc/FnncmOyhKJdyIBwsz9V8UiBO
VHhbhBRrwJCuhezAUUE8Wod/Bk3U/mDR+mwt4X2VEIiiCFQPmRpM5uoKrNijgfgw
gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSfK1/PPCFPnQS37SssxMZw
i9LXDTAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAH3KdNEVCQdqk0LKyuNImTKdRJY1C
2uw2SJajuhqkyGPY8C+zzsufZ+mgnhnq1A2KVQOSykOEnUbx1cy637rBAihx97r+
bcwbZM6sTDIaEriR/PLk6LKs9Be0uoVxgOKDcpG9svD33J+G9Lcfv1K9luDmSTgG
6XNFIN5vfI5gs/lMPyojEMdIzK9blcl2/1vKxO8WGCcjvsQ1nJ/Pwt8LQZBfOFyV
XP8ubAp/au3dc4EKWG9MO5zcx1qT9+NXRGdVWxGvmBFRAajciMfXME1ZuGmk3/GO
koAM7ZkjZmleyokP1LGzmfJcUd9s7eeu1/9/eg5XlXd/55GtYjAM+C4DG5i7eaNq
cm2F+yxYIPt6cbbtYVNJCGfHWqHEQ4FYStUyFnv8sjyqU8ypgZaNJ9aVcWSICLOI
E1/Qv/7oKsnZCWJ926wU6RqG1OYPGOi1zuABhLw61cuPVDT28nQS/e6z95cJXq0e
K1BcaJ6fJZsmbjRgD5p3mvEf5vdQM7MCEvU0tHbsx2I5mHHJoABHb8KVBgWp/lcX
GWiWaeOyB7RP+OfDtvi2OsapxXiV7vNVs7fMlrRjY1joKaqmmycnBvAq14AEbtyL
sVfOS66B8apkeFX2NY4XPEYV4ZSCe8VHPrdrERk2wILG3T/EGmSIkCYVUMSnjmJd
VQD9F6Na/+zmXCc=
-----END CERTIFICATE-----

2024-07-30 08:56:34,141:DEBUG:acme.client:Storing nonce: Ma8ZwRNA9J1JoJ_IMl_v_1HLCTTt5G01XNs8p_Mvri6JbKsSWrI
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive.
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live.
2024-07-30 08:56:34,142:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/README.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/archive/docs.cloudlabske.com.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Creating directory /etc/letsencrypt/live/docs.cloudlabske.com.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing certificate to /etc/letsencrypt/live/docs.cloudlabske.com/cert.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing private key to /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing chain to /etc/letsencrypt/live/docs.cloudlabske.com/chain.pem.
2024-07-30 08:56:34,143:DEBUG:certbot._internal.storage:Writing full chain to /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem.
2024-07-30 08:56:34,144:DEBUG:certbot._internal.storage:Writing README to /etc/letsencrypt/live/docs.cloudlabske.com/README.
2024-07-30 08:56:34,156:DEBUG:certbot.configuration:Var account=985390e388f48deb37eab1e67d361272 (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot._internal.plugins.selection:Requested authenticator webroot and installer None
2024-07-30 08:56:34,157:DEBUG:certbot._internal.plugins.selection:Requested authenticator webroot and installer None
2024-07-30 08:56:34,157:DEBUG:certbot.configuration:Var webroot_path=['/var/www/onlyoffice/documentserver/letsencrypt'] (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot.configuration:Var webroot_map={'docs.cloudlabske.com': '/var/www/onlyoffice/documentserver/letsencrypt'} (set by user).
2024-07-30 08:56:34,157:DEBUG:certbot._internal.storage:Writing new config /etc/letsencrypt/renewal/docs.cloudlabske.com.conf.
2024-07-30 08:56:34,159:DEBUG:certbot._internal.display.obj:Notifying user:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem
This certificate expires on 2024-10-28.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
2024-07-30 08:56:34,161:DEBUG:certbot._internal.display.obj:Notifying user: If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le

Використання самопідписаних SSL-сертифікатів

Для систем, розташованих у приватній мережі, можна генерувати самопідписані сертифікати. Крім того, якщо ви керуєте DNS на Cloudflare, перегляньте нашу статтю про те, як налаштувати Let’s Encrypt за допомогою Cloudflare DNS.

Користувачі, які використовують самопідписані сертифікати, можуть редагувати наведений нижче вміст файлу та коригувати шлях до ключа та сертифіката домену:

sudo nano /etc/onlyoffice/documentserver/nginx/ds.conf

Дивіться нижче вміст нашого налаштування в цій статті за допомогою Let’s Encypt.

include /etc/nginx/includes/http-common.conf;

## Normal HTTP host
server {
  listen 0.0.0.0:80;
  listen [::]:80 default_server;
  server_name _;
  server_tokens off;
  set $secure_link_secret nsdy8N28Ylobmp5EL4wF;

  ## Redirects all traffic to the HTTPS host
  root /nowhere; ## root doesn't have to be a valid path since we are redirecting
  rewrite ^ https://$host$request_uri? permanent;
}

#HTTP host for internal services
server {
  listen 127.0.0.1:80;
  listen [::1]:80;
  server_name localhost;
  server_tokens off;
  set $secure_link_secret nsdy8N28Ylobmp5EL4wF;

  include /etc/nginx/includes/ds-common.conf;
  include /etc/nginx/includes/ds-docservice.conf;
}

## HTTPS host
server {
  listen 0.0.0.0:443 ssl;
  listen [::]:443 ssl default_server;
  server_tokens off;
  set $secure_link_secret nsdy8N28Ylobmp5EL4wF;
  root /usr/share/nginx/html;

  ## Strong SSL Security
  ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
  ssl_certificate /etc/letsencrypt/live/docs.cloudlabske.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/docs.cloudlabske.com/privkey.pem;
  # Uncomment string below and specify the path to the file with the password if you use encrypted certificate key
  # ssl_password_file {{SSL_PASSWORD_PATH}};
  ssl_verify_client off;

  ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

  ssl_protocols TLSv1.2;
  ssl_session_cache  builtin:1000  shared:SSL:10m;

  ssl_prefer_server_ciphers   on;

  add_header Strict-Transport-Security max-age=31536000;
  # add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;

  ## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL.
  ## Replace with your ssl_trusted_certificate. For more info see:
  ## - https://medium.com/devops-programming/4445f4862461
  ## - https://www.ruby-forum.com/topic/4419319
  ## - https://www.digitalocean.com/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
  # ssl_stapling on;
  # ssl_stapling_verify on;
  # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
  # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
  # resolver_timeout 10s;

  ## [Optional] Generate a stronger DHE parameter:
  ##   cd /etc/ssl/certs
  ##   sudo openssl dhparam -out dhparam.pem 4096
  ##
  # ssl_dhparam /etc/ssl/certs/dhparam.pem;

  include /etc/nginx/includes/ds-*.conf;

}

Оновлюйте та відповідайте своєму оточенню.ssl_certificatessl_certificate_key

Доступ до документів OnlyOffice за адресою https://yourdomain

Як встановити ONLYOFFICE Docs на Ubuntu 24.04

Ви отримаєте сторінку привітання ONLYOFFICE Docs з подальшими інструкціями щодо того, як ви можете увімкнути приклади документів та інтегруватися у свої програми за допомогою наданого API.

Крок 5: Інтегруйте програми 3rd party

Це плавний процес інтеграції ONLYOFFICE із вашими сторонніми програмами, такими як Pydio, Zimbra, WordPress, Odoo, SuiteCRM, Mattermost, тощо. Перевірте всі конектори за наступним посиланням:

Прокрутка до верху