Doc-v (Дóкви) можно установить на следующие операционные системы:
Для работы Doc-v понадобится установленная СУБД MySQL (MariaDB)
Во второй команде замените 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
Запускаем установку командой:
/opt/doc-v/doc-v
Перед установкой убедитесь, что у вас установлена СУБД MySQL
Адрес сервера MySQL (по умолчанию, 127.0.0.1): если MySQL на том же сервере просто нажимаем Enter
Номер порта сервера MySQL (по умолчанию, 3306): если порт не изменяли, нажимаем Enter
Название базы данных MySQL: docv
Имя пользователя MySQL: doc-v
Пароль пользователя MySQL: ВАШ_ПАРОЛЬ
Придумайте имя пользователя Doc-v (с этим именем вы сможете войти в систему после завершения установки)
Пароль пользователя Doc-v (не менее 8 символов)
Будет автоматически создан конфигурационный файл, и Doc-v запустится. Но он будет привязан к консоли, поэтому, как только вы ее закроете, Doc-v остановится. Поэтому перезапустите его в режиме демона:
Ctrl+C
для остановки и
/opt/doc-v/doc-v start
Загрузите дистрибутив для Windows и скопируйте его в созданный на свое усмотрение новый каталог своего сервера.
Запустите командую строку, перейдите в созданный каталог и выполните команду:
tar xf doc-v.windows.tar.gz
Запускаем установку командой:
/каталог_системы/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 символов
Будет автоматически создан конфигурационный файл, и Doc-v запустится. Но он будет привязан к консоли, поэтому, как только вы ее закроете, Doc-v остановится. Поэтому перезапустите его в режиме демона:
Ctrl+C
для остановки и
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]
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). В зависимости от
количества документов в журналах это время может быть продолжительным, а работа с системой будет
затруднена,
поэтому дождитесь окончания операции и не останавливайте сервер.
После перезагрузки сервера 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
Загрузите файл и распакуйте его.
Запустите консоль от имени администратора, перейдите в каталог 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 необходимо в файле 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
Для автоматизации обновления сертификатов можно использовать следующий скрипт (он предполагает, что сертификаты будут копироваться в каталог /opt/doc-v/ssl, этот путь должен быть указан в doc-v.conf для настроек SSL):
#!/bin/sh
certbot renew
cp /etc/letsencrypt/live/ВАШЕ ДОМЕННОЕ ИМЯ/* /opt/doc-v/ssl/
chown doc-v /opt/doc-v/ssl/*
systemctl restart doc-v
Если на 80-м порте у вас работает веб-сервер, добавьте команду для его остановки перед certbot renew и запуска после нее, т.к. в приведенной конфигурации для certbot необходим свободный 80-й порт.
Настройте в cron запуск этого скрипта каждые три месяца во время наименьшей нагрузки от имени пользователя root.
После включения HTTPS в Doc-v необходимо будет включить HTTPS и для OnlyOffice, если вы используете этот сервис.
Для работы системы необходима установленная СУБД MySQL / MariaDB. Если у вас уже установлена эта СУБД, есть выделенный пользователь и база данных, переходите сразу к установке.
Если СУБД установлена и есть пользователь, обладающий привилегией создания новой базы данных, этот шаг также можно пропустить, т.к. установщик 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 'ВАШ_ПАРОЛЬ';
для 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;
Для работы некоторых функций необходимы следующие приложения, установленные на сервере:
sudo apt install unoconv
Однако в состав Ubuntu включены устаревшие версии uniconv / LibreOffice, которые имеют программные ошибки, из-за которых для некоторых файлов может не работать предварительный просмотр. Ниже приводится инструкция по обновлению (здесь более подробно):
cd /opt
sudo wget
https://raw.githubusercontent.com/dagwieers/unoconv/master/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 %*
sudo apt install wkhtmltopdf
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
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
Проверьте также лог-файл/opt/doc-v/log/info.log
на наличие в нем ошибок вида:Get "https://...": x509: certificate signed by unknown authority
Если такие ошибки будут найдены, скопируйте свой SSL-сертификат (желательно fullchain) в каталог
/etc/ssl/certs и перезагрузите Doc-v