Предупреждение
Cистема находится в статусе бета-версии и может содержать ошибки и недоработки.
Doc-v (Дóкви) доступна для следующих операционных систем:
Настройка базы данных
Для работы системы необходима установленная СУБД MySQL / MariaDB. Если у вас уже установлена эта СУБД, есть выделенный пользователь и база данных, переходите сразу к установке.
Если СУБД установлена и есть пользователь, обладающий привилегией создания новой базы данных, этот шаг также можно пропустить, т.к. установщик Doc-v сможет сам создать базу данных. Если нет, то сначала установите СУБД. Для Linux достаточно выполнить команду sudo apt install mysql-server, для Windows загрузить инсталлятор и запустив установочный файл.
Создание пользователя и базы данных MySQL может выполняться разными способами, и вы можете использовать любой из них; ниже приводится вариант с использованием командной строки.
Запустите командную строку MySQL
Для Linux:
sudo mysql
Для Windows:
mysql.exe
Если вы получите ошибку о том, что Windows не может найти исполняемый файл mysql.exe добавьте в системную переменную операционной системы PATH полный путь к исполняемым файлам MySQL (каталог bin).
В зависимости от настроек, вы можете получить ошибку аутентификации. В этом случае запустите команду с параметрами:
mysql -uПОЛЬЗОВАТЕЛЬ -p
Успешно открыв командную строку MySQL, вы сможете выполнить нижеприведенные SQL-запросы для создания пользователя и базы данных.
Если у вас еще нет пользователя базы данных для работы Doc-v, создайте его (имя может быть любым, в дальнейших примерах используется doc-v):
CREATE USER 'doc-v'@'localhost' IDENTIFIED BY 'ВАШ_ПАРОЛЬ';
для MySQL8:
ALTER USER 'doc-v'@'localhost' IDENTIFIED WITH mysql_native_password BY ' ВАШ_ПАРОЛЬ ';
После чего можно создать базу данных следующими запросами:
CREATE DATABASE docv CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON docv . * TO ' doc-v '@'localhost';
FLUSH PRIVILEGES;
quit;
База данных готова и можно приступить непосредственно к установке Дóкви.
Установка
Есть два варианта:
Начало у обоих вариантов одинаковое - создаем каталог для системы и устанавливаем права.
LINUX Ubuntu
Во второй команде замените USERNAME на имя своего пользователя. Не стоит использовать пользователя root.
sudo mkdir -p /opt/doc-v
sudo chown USERNAME /opt/doc-v
cd /opt/doc-v
su USERNAME
Копируем дистрибутив системы в /opt/doc-v вручную или при помощи команды:
wget https://www.doc-v.com/download/doc-v.linux.tar.gz
И распаковываем:
tar xzvf doc-v.linux.tar.gz
WINDOWS
Загрузите дистрибутив для Windows по адресу
и скопируйте его в созданный на свое усмотрение новый каталог своего сервера.
Запустите командую строку, перейдите в созданный каталог и выполните команду:
tar xf doc-v.windows.tar.gz
Установка новой системы
Запускаем установку командой:
Для Linux:
/opt/doc-v/doc-v
Для Windows:
/каталог_системы/doc-v.exe:
В процессе установки необходимо будет ввести:
Адрес сервера MySQL (по умолчанию, 127.0.0.1): если MySQL на том же сервере просто нажимаем Enter
Номер порта сервера MySQL (по умолчанию, 3306): если порт не изменяли, нажимаем Enter
Название базы данных MySQL: docv
Имя пользователя MySQL: doc-v
Пароль пользователя MySQL: ВАШ_ПАРОЛЬ
Имя пользователя Doc-v (рекомендуется e-mail)
Пароль пользователя Doc-v не менее 8 символов
Будет автоматически создан конфигурационный файл, и Дóкви запустится. Но он будет привязан к консоли, поэтому, как только вы ее закроете, Дóкви остановится. Поэтому перезапустите его в режиме демона:
Ctrl+C
для остановки и
Для Linux:
/opt/doc-v/doc-v start
Для Windows:
doc-v.exe start
В консоли никаких сообщений больше не будет, вся информация в логах в каталоге /opt/doc-v/log
Обновление существующей систем
В первую очередь необходимо создать копию существующей базы. Вы можете сделать это любым удобным для себя способом либо тем, что описан ниже:
Создаем новую базу данных:
sudo mysql
CREATE DATABASE docv CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON docv . * TO 'ВАШ_ПОЛЬЗОВАТЕЛЬ'@'localhost';
FLUSH PRIVILEGES;
quit;
Импортируем данные в новую базу:
mysqldump -u ВАШ_ПОЛЬЗОВАТЕЛЬ -p БАЗА_ПЕРВОЙ_ВЕРСИИ > db.sql
mysql -u ВАШ_ПОЛЬЗОВАТЕЛЬ -p docv < db.sql
Копируем файловое хранилище из существующей версии:
cp -Rf /путь_к_первой_версии/system/storage/download /opt/doc-v/storage/
chown -R USERNAME /opt/doc-v/storage
где USERNAME - имя вашего пользователя для запуска Doc-v
И создаем конфигурационный файл
/opt/doc-v/doc-v.conf
со следующим содержимым:
[Network]
Hostname = doc-v.com # для формирования URL-адресов
Port = 8080
[File]
MaxFileSize = 32M
[DB]
Hostname = 127.0.0.1
Name = название базы
User = пользователь
Password = пароль
После запуска системы в лог-файле log/info.log (в Linux можно ввести команду tail -f
/opt/doc-v/log/info.log
, чтобы наблюдать за изменением этого файла) вы увидите сообщения об
обновлении.
После завершения обновления сервер будет запущен, но еще некоторое время будут создаваться таблицы для
просмотра журналов (информация об этом также будет выводится в файл log/info.log). В зависимости от
количества документов в журналах это время может быть продолжительным, а работа с системой будет
затруднена,
поэтому дождитесь окончания операции и не останавливайте сервер.
Автозагрузка
После перезагрузки сервера Дóкви самостоятельно не запустится. Исправить это упущение пока можно так:
LINUX Ubuntu
/opt/doc-v/doc-v stop
sudo cp /opt/doc-v/data/doc-v.service /etc/systemd/system/
Изменяем файл /etc/systemd/system/doc-v.service:
User=ВАШ_ПОЛЬЗОВАТЕЛЬ
Выполняем команды:
sudo systemctl enable doc-v
sudo systemctl start doc-v
systemctl status doc-v
Получаем похожее сообщение:
doc-v.service - Doc-v
Loaded: loaded (/etc/systemd/system/doc-v.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-12-15 11:45:12 +06; 39s ago
Впредь запуск системы осуществляется командой:
sudo systemctl start doc-v
а остановку:
sudo systemctl stop doc-v
WINDOWS
Загрузите файл и распакуйте его.
Запустите консоль от имени администратора, перейдите в каталог nssm-2.24\win64 и выполните команду
nssm.exe install Doc-v путь_к_Doc-v\doc-v.exe
Изменение порта
По умолчанию, Doc-v запускается на порте 8080. Для запуска на порту с номером меньше 1024, необходимо предоставить сначала доступ к этим портам непривилегированным пользователям. Отредактируйте (или создайте, если его нет) файл:
/etc/sysctl.d/50-unprivileged-ports.conf
добавив в него строку:
net.ipv4.ip_unprivileged_port_start=0
После чего можно изменить файл /opt/doc-v/doc-v.conf:
[Network]
Port = 80
После чего выполнить команду:
sudo sysctl --system
и перезагрузить Doc-v.
Включение HTTPS
Для включения HTTPS необходимо в файле doc-v.conf в секцию Network добавить след настройки:
[Network]
HTTPS = true
Port = 443
SSLCertFile = ssl/www.crt
SSLKeyFile = ssl/private.key
SSLChainFile = ssl/www.ca-bundle
и перезагрузить Doc-v.
Если у вас нет сертификата SSL, его можно приобрести или зарегистрировать бесплатно, например, в центре сертификации Let’s Encrypt. Ниже приводится краткая инструкция по работе с Let’s Encrypt в Linux Ubuntu:
sudo apt install certbot
certbot certonly --standalone
Ответьте на вопросы установщика (в DNS для доменного имение, для которого вы регистрируете сертификат, должен быть указан публичный IP-адрес сервера, с которого вы запускаете certbot)
/etc/letsencrypt/live
/etc/letsencrypt/archive
и файлу приватного
ключа в /etc/letsencrypt/archive/ВАШЕ ДОМЕННОЕ ИМЯ
для пользователя, от имени которого
запускается Doc-v,
или скопируйте файлы из /etc/letsencrypt/archive/ВАШЕ ДОМЕННОЕ ИМЯ
в, например,
/opt/doc-v/ssl (в пятом
пункте в этом случае подставьте этот путь для файлов SSL)
[Network]
HTTPS = true
Port = 443
SSLCertFile = /etc/letsencrypt/live/ВАШЕ ДОМЕННОЕ ИМЯ/cert.pem
SSLKeyFile = /etc/letsencrypt/live/ВАШЕ ДОМЕННОЕ ИМЯ/privkey.pem
SSLChainFile = /etc/letsencrypt/live/ВАШЕ ДОМЕННОЕ ИМЯ/fullchain.pem
Обратите внимание, что сертификаты Let’s Encrypt действительны три месяца. Для продления сертификата необходимо будет выполнить команду:
sudo certbot renew --dry-run
Для автоматизации обновления сертификатов можно использовать следующий скрипт (он предполагает, что сертификаты будут копироваться в каталог /opt/doc-v/ssl, этот путь должен быть указан в doc-v.conf для настроек SSL):
#!/bin/sh
certbot renew --dry-run
cp /etc/letsencrypt/live/ВАШЕ ДОМЕННОЕ ИМЯ/* /opt/doc-v/ssl/
chown doc-v /opt/doc-v/ssl/*
systemctl restart doc-v
Если на 80-м порте у вас работает веб-сервер, добавьте команду для его остановки перед certbot renew --dry-run и запуска после нее, т.к. в приведенной конфигурации для certbot необходим свободный 80-й порт.
Настройте в cron запуск этого скрипта каждые три месяца во время наименьшей нагрузки от имени пользователя root.
После включения HTTPS в Doc-v необходимо будет включить HTTPS и для OnlyOffice, если вы используете этот сервис.
Дополнительные приложения
Для работы некоторых функций необходимы следующие приложения, установленные на сервере:
Установка unoconv / LibreOffice
LINUX Ubuntu
sudo apt install unoconv
Однако в состав Ubuntu включены устаревшие версии uniconv / LibreOffice, которые имеют программные ошибки, из-за которых для некоторых файлов может не работать предварительный просмотр. Ниже приводится инструкция по обновлению ( здесь более подробно):
Установка последней версии Unoconv
cd /opt
sudo wget
https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv
Изменить в файле /opt/unoconv первую строку на:
#!/usr/bin/env python3
после чего выполнить команды:
sudo chmod ugo+x /opt/unoconv
sudo mv /usr/bin/unoconv /usr/bin/unoconv2
// если не была установлен unoconv, команда
выведет
ошибку - это
нормально
sudo ln -s /opt/unoconv /usr/bin/unoconv
Обновление до последней версии LibreOffice
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install libreoffice
Проверка результата:
unoconv --version
Результат должен быть похожим на следующие строки:
unoconv 0.8.2
Written by Dag Wieers < dag@wieers.com <
Homepage at http://dag.wieers.com/home-made/unoconv/
platform posix/linux
python 3.8.10 (default, Nov 26 2021, 20:14:08)
[GCC 9.3.0]
LibreOffice 7.2.5.2
WINDOWS
В папке Windows/System32 создать файл unoconv.cmd со строкой:
call "c:\Program Files\LibreOffice\program\python.exe" C:\unoconv\unoconv %*
Установка Wkhtmltopdf
LINUX Ubuntu
sudo apt install wkhtmltopdf
WINDOWS
Установка OnlyOffice
LINUX Ubuntu
sudo apt install - docker docker.io
sudo docker run -i -t -d -p 90:80 --restart=always onlyoffice/documentserver
http://Ваш_IP_или_доменное_имя:90
(IP не может быть 127.0.0.1)
При включенном HTTPS в Doc-v необходимо также перевести на HTTPS и OnlyOffice:
sudo mkdir -p /app/onlyoffice/DocumentServer/data/certs
/app/onlyoffice/DocumentServer/data/certs
файлы
SSL-сертификата и приватного ключа
и дайте им названия: onlyoffice.crt и onlyoffice.key соответственно
Запустите контейнер:
sudo docker run -i -t -d -p 8443:443 --restart=always -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice onlyoffice/documentserver
В настройках сервиса Doc-v OnlyOffice укажите сервер:
https://Ваш_IP_или_доменное_имя:8443
Если при открытии документа OnlyOffice будет выдавать ошибку о невозможности сохранения файла и
необходимости проверки соединения, посмотрите лог файл
/app/onlyoffice/DocumentServer/logs/documentserver/docservice/out.log.
Если в этом файле будет ошибка,похожая на "Error: unable to verify certificate", проблему можно решить
перезапуском контейнера с переменной USE_UNAUTHORIZED_STORAGE:
sudo docker run -i -t -d -e USE_UNAUTHORIZED_STORAGE=true -p 8443:443 --restart=always -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice onlyoffice/documentserver