Doc-v (Дóкви) можно установить на следующие операционные системы:
Для работы Doc-v необходима предварительно настроенная СУБД MySQL / MariaDB (при установке Дóкви на ОС Linux Ubuntu СУБД может быть установлена автоматически; для других ОС СУБД необходимо установить и настроить вручную).
Установку системы необходимо выполнять от имени непривилегированного пользователя. Если запустить установку от имени пользователя root, будет выведен набор команд для создания такого пользователя, а установка будет прервана.
Итак, от имени непривилегированного пользователя выполните следующие команды (в командах ниже используется пользователь docv, которого можно создать введя в командную строку sudo adduser docv; можно использовать любого другого пользователя, кроме root):
sudo mkdir -p /opt/doc-v
sudo chown docv /opt/doc-v
cd /opt/doc-v
su docv
Загрузите дистрибутив Дóкви нижеприведенной командой (или иным способом в каталог /opt/doc-v):
wget https://www.doc-v.com/download/doc-v.linux.tar.gz
Распакуйте архив:
tar xzvf doc-v.linux.tar.gz
И запустите установщик Дóкви:
/opt/doc-v/doc-v
После чего следуйте инструкциям установщика.
Если в процессе установки вы согласитесь на установку дополнительных приложений на сервер, вам останется (при необходимости) настроить предварительный просмотр файлов, интеграцию с OnlyOffice и работу через HTTPS (эти настройки могут быть выполнены в любое время; полученная после работы установщика система полностью работоспособна).
Для работы Дóкви можно использовать операционные системы семейства Windows версий не ниже Windows 10 / Windows Server 2019.
Можно загрузить и запустить переносимую версию, не требующую установки, и в будущем при необходимости преобразовать ее в обычную версию, либо выполнить полную установку сразу. Для этого загрузите дистрибутив для Windows и скопируйте его в созданный на свое усмотрение новый каталог своего сервера.
Запустите командную строку:
cmd
перейдите в созданный каталог:
cd путь
и выполните команду:
tar xf doc-v.windows.tar.gz
Убедитесь, что установили и настроили СУБД MySQL / MariaDB (базу данных можно не создавать, если пользователь MySQL, которого вы укажете в процессе инсталляции, будет обладает достаточными привилегиями для ее создания).
Запустите установку командой (из командной консоли cmd, чтобы видеть сообщения об ошибках, если что-то пойдет не так):
/каталог_системы/doc-v.exe
В процессе установки необходимо будет ввести:
Адрес сервера MySQL (по умолчанию, 127.0.0.1): если MySQL на том же сервере просто нажимаем Enter
Номер порта сервера MySQL (по умолчанию, 3306): если порт не изменяли, нажимаем Enter
Название базы данных MySQL: docv
Имя пользователя MySQL: doc-v
Пароль пользователя MySQL: PASSWORD
Имя пользователя Doc-v
Пароль пользователя Doc-v не менее 8 символов
Будет автоматически создан конфигурационный файл, и Doc-v запустится. При необходимости Doc-v можно остановить командой
doc-v.exe stop
и снова запустить командой
doc-v.exe start
В первую очередь необходимо создать копию существующей базы. Вы можете сделать это любым удобным для себя способом либо тем, что описан ниже:
Создаем новую базу данных:
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]
Port = 8080
[DB]
Hostname = 127.0.0.1
Name = название базы
User = пользователь
Password = пароль
После запуска системы в лог-файле log/info.log (в Linux можно ввести команду, чтобы наблюдать за изменением
этого файла) вы увидите сообщения об
обновлении.
tail -f /opt/doc-v/log/info.log
После завершения обновления сервер будет запущен, но еще некоторое время будут создаваться таблицы для
просмотра журналов (информация об этом также будет выводится в файл log/info.log). В зависимости от
количества документов в журналах это время может быть продолжительным, а работа с системой будет
затруднена,
поэтому дождитесь окончания операции и не останавливайте сервер. По окончании операции запустите задачу
оптимизации данных планировщика задач, которая выполнит очистку
конфигурации.
После перезагрузки сервера Doc-v самостоятельно не запустится. Исправить это упущение пока можно так:
/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
Для установки Doc-v в качестве сервиса, загрузите файл и распакуйте его.
Запустите консоль от имени администратора, перейдите в каталог 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
Выполните команду:
sudo sysctl --system
После чего можно изменить файл /opt/doc-v/doc-v.conf:
[Network]
Port = 80
и перезагрузить Doc-v.
Для включения HTTPS необходимо в файле doc-v.conf в секцию [Network] добавить следующие настройки:
[Network]
HTTPS = true
Port = 443
SSLCertFile = /opt/doc-v/ssl/www.crt
SSLKeyFile = /opt/doc-v/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
После включения HTTPS в Doc-v необходимо будет включить HTTPS и для OnlyOffice, если вы используете этот сервис.
Для работы системы необходима установленная СУБД MySQL версии не ниже 5.7/ MariaDB версии не ниже 10.3. Если у вас уже установлена эта СУБД, есть выделенный пользователь и база данных, переходите сразу к установке.
Если СУБД установлена и есть пользователь, обладающий привилегией создания новой базы данных, этот шаг также можно пропустить, т.к. установщик Doc-v сможет сам создать базу данных. Если нет, то сначала установите СУБД. Для Linux Ubuntu достаточно выполнить команду
sudo apt install mariadb-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 'PASSWORD';
для MySQL8:
ALTER USER 'doc-v'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
После чего можно создать базу данных следующими запросами:
CREATE DATABASE docv CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON docv . * TO 'doc-v'@'localhost';
FLUSH PRIVILEGES;
quit;
Для работы некоторых функций необходимы следующие приложения, установленные на сервере:
Для формирования предварительного просмотра файлов офисных форматов на сервере необходимо установить Unoserver или Unoconv (эта утилита устарела и не поддерживается производителем).
sudo apt install python3-pip
sudo pip install unoserver
Не забудьте также про LibreOffice. Последнюю версию можно установить следующими командами:
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install libreoffice
Unoserver может работать как на одном сервере с Дóкви, так и на выделенном. Во втором случае установка на сервер с Дóкви также требуется, т.к. пакет unoserver включает утилиту unoconvert, необходимую для обращения к unoserver.
После установки необходимо включить предварительный просмотр в настройках, выбрав движок Unoserver.
sudo apt install unoconv
Однако в состав Ubuntu включены устаревшие версии uniconv / LibreOffice, которые имеют программные ошибки, из-за которых для некоторых файлов может не работать предварительный просмотр. Ниже приводится инструкция по обновлению (здесь более подробно):
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
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
call "c:\Program Files\LibreOffice\program\python.exe" C:\unoconv\unoconv %*
Для экспорта в PDF действием «Экспорт в файл» необходимо установить пакет Wkhtmltopdf.
sudo apt install wkhtmltopdf
sudo apt install - docker docker.io
sudo docker run -i -t -d -e JWT_SECRET=secret -p 90:80 --restart=always onlyoffice/documentserver
Значение параметра JWT_SECRET необходимо будет ввести в качестве токена в настройках сервиса OnlyOffice.
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 -e JWT_SECRET=secret -p 8443:443 --restart=always -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice onlyoffice/documentserver
https://Ваш_IP_или_доменное_имя:8443
и токен из параметра JWT_SECRET/app/onlyoffice/DocumentServer/logs/documentserver/docservice/out.log
Если в этом файле будет ошибка, похожая на "Error: unable to verify certificate", проблему можно решить
перезапуском контейнера с переменной USE_UNAUTHORIZED_STORAGE:
sudo docker run -i -t -d -e JWT_SECRET=secret -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
Проверьте также лог-файл/opt/doc-v/log/info.log
на наличие в нем ошибок вида:Get "https://...": x509: certificate signed by unknown authority
Если такие ошибки будут найдены, скопируйте свой SSL-сертификат (желательно fullchain) в каталог
/etc/ssl/certs и перезагрузите Doc-v
Поле «Файл» может распознавать загруженные изображения при помощи пакета Tesseract.
sudo apt install tesseract-ocr libtesseract-dev tesseract-ocr-rus
Приведенная команда устанавливает поддержку английского и русского языков. Для добавления другого языка распознавания нужно установить соответствующий языковой пакет Tesseract и изменить соответствующее значение ключа OCRLanguages в секции [General] файла doc-v.conf, например, OCRLanguages = eng,rus,kaz для английского, русского и казахского языков. Ниже приводится неполный перечень некоторых языковых пакетов tesseract (Linux Ubuntu):