Работа с Nextcloud
Обновлено 29 апреля 2020
Введение
В этой статье собраны материалы по особенностям работы с Nextcloud, а также по интеграции с облачным сервисом сторонних приложений. Для установки Nextcloud воспользуйтесь следующим руководством.
Исправления
Обновление фотографий в контактах
Уже давно присутствует один неприятный баг, связанный с невозможностью заменить загруженную фотографию контакта. Когда вы кликаете на загруженной ранее фотографии, вместо формы выбора новой открывается загруженное ранее фото.
Эта ошибка исправляется следующим образом:
- Зайдите в Nextcloud администратором, перейдите в Меню -> Приложения и установите приложение "Custom CSS".
- Перейдите в Меню -> Настройки -> Темы оформления. В форму "Custom CSS" впишите:
.contact-header-avatar__photo + .contact-header-avatar__options { z-index: 1; } .contact-header-avatar__photo + .contact-header-avatar__options { opacity: 0; }
После этого клик по фотографии будет вызывать всплывающее меню загрузки нового изображения:
Оптимизация Nextcloud
Использование фоновой обработки заданий
Для улучшения производительности все операции по обработке данных следует выполнять в фоне по расписанию. По умолчанию Nextcloud предлагает использовать запуск cron.php
каждые 15 минут. Опция настройки находится в меню Настройки -> Администрирование -> Основные параметры. В разделе Фоновые задания выберите Cron:
После этого создайте сценарий запуска фонового процесса каждые 15 минут:
/etc/cron.d/nextcloud
# Global variables SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin HOME=/ #Nextcloud */15 * * * * nginx php -f /var/calculate/www/nextcloud/htdocs/cron.php
Файлы
Превью файлов
Типы файлов
По аналогии с файловыми менеджерами Nextcloud может создавать миниатюры с предпросмотром содержимого файлов для картинок, видео и аудиофайлов, текстовых документов и так далее. Более подробно об этом можно прочитать здесь. Для добавления отображения превью видеофайлов отредактируйте файл настроек проекта, включив отображение превью для всех типов фотографий и видеофайлов:
/var/calculate/www/nextcloud/htdocs/config/config.php
'enabledPreviewProviders' => array ( 'OC\\Preview\\Movie', 'OC\\Preview\\Image' ),
Для улучшения производительности и совместимости при работе с изображениями установите imagemagick
для PHP:
emerge -a dev-php/pecl-imagick
Для извлечения превью из видеофайлов установите пакет ffmpeg
:
emerge -a media-video/ffmpeg
Размер
Разумно ограничить максимальный размер превью, иначе в кэш будут попадать все ваши изображения в оригинальном размере. Для этого добавьте строчку:
/var/calculate/www/nextcloud/htdocs/config/config.php
'preview_max_x' => 512, 'preview_max_y' => 512,
Обновление кэша
Для ускорения доступа к директориям с файлами превью поддерживайте кэш в актуальном состоянии при помощи Nextcloud-приложения Preview Generator, которое можно установить из раздела "Мультимедиа".
После установки выполните:
su nginx -s /bin/bash
cd /var/calculate/www/nextcloud/htdocs
php occ preview:generate-all
При наличии большого количества файлов с изображениями в одной директории вам может понадобиться увеличить размер оперативной памяти, выделяемой для выполнения PHP. Для этого отредактируйте значение переменной memory_limit:
/etc/php/cli-php7.1/php.ini
; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 512M
Фотографии
Имена файлов
По умолчанию Nextcloud клиент выгружает отснятые в телефоне фотографии в облако в одну папку. При этом имена у фотографий используются вида IMG_20180806_124329_1.jpg, где "20180806" - год, месяц и день, "124329" - часы, минуты и секунды, "1" - вторая по счёту фотография, сделанная в ту же секунду.
Импортируемые из соцсетей фотографии могут иметь случайную последовательность символов в имени файла - что-то типа "MY0bLxnxTaM.jpg". Если это фотография, а не рисунок или скриншот, вы можете извлечь время снимка из EXIF-информации файла. Сделать это можно при помощи утилиты exiv2
, входящей в пакет media-gfx/exiv2:
exiv2 -F -r'IMG_%Y%m%d_%H%M%S' rename -- *.jpg
Чтобы посмотреть, все ли фотографии обработаны должным образом, вы можете указать другой путь сохранения переименованных:
mkdir new; exiv2 -F -r'new/IMG_%Y%m%d_%H%M%S' rename -- *.jpg
В итоге в исходной директории могут остаться скриншоты и обработанные фотографии, которые вы можете легко отделить от оригинальных снимков.
У такого именования файлов есть несколько плюсов:
- При объединении фотографий из разных фотоаппаратов или карт памяти вы, скорее всего, никогда не столкнётесь с двумя одинаковыми именами, а значит, сможете после обработки спокойно переносить файлы в одну директорию.
- Фотографии всегда будут расположены в хронологическом порядке. Вы можете помещать в одно место фотографии из разных источников.
- При объединении фотографий, скачанных из облака в урезанном качестве, и оригиналов имена файлов будут совпадать. Благодаря этому после объединения в одной директории вы не получите дубли, а снимки с уменьшенным разрешением будет корректно замещены оригиналами.
Если расширение имён файлов было написано заглавными буквами, вы можете перевести его в нижний регистр следующей командой:
rename .JPG .jpg *.JPG
Время создания файлов
Во время копирования фотографий время изменения файла может измениться. Это неудобно, поскольку теряется инфорамация о времени снимка. Восстановить время создания файла можно по EXIF-информации при помощи упомянутой ранее утилиты exiv2
. Для восстановления перейдите в директорию с фотографиями и выполните:
exiv2 -T *.jpg
Переиндексируйте базу, чтобы изменения вступили в силу.
Просмотрщик под Android
Для доступа к фотографиям из Nextcloud вы можете установить приложение Галерея QuickPic.
Музыка
Плеер под Android
Для проигрывания музыки из Nextcloud вы можете воспользоваться Soumi: Network Music Player. Плейер выгодно отличается тем, что умеет кэшировать аудио файлы из плейлиста.
Чтобы подключиться к облаку, перейдите на вкладку Libraries, кликните на "+", выберите Internet, а затем введите настройки подключения к своему облаку:
Заметка
Адрес сервера следует вводить без "https://" с путем к webdav. Пример: cloud.example.org/remote.php/webdav
Окно воспроизведения:
Пароли к сайтам
Для хранения паролей в Nextcloud существует приложение Passman. Оно полезно тем, что создает шифрованное хранилище внутри вашего облака. Таких хранилищ может быть несколько. Для взаимодействия с хранилищем паролей существуют расширения для браузеров Firefox (включая мобильную версию) и Chrome. Подключившись к хранилищу в облаке, вы создаёте пароль, при помощи которого будут зашифрованы данные подключения:
Passman сам находит поля авторизации на сайте и добавляет к ним своё изображение. При наличии сохранённого пароля данные будут подставлены в поля - см. скриншот:
Закладки браузера
Для работы с закладками в Nextcloud существует одноимённое приложение Закладки. Вместо привычной древовидной структуры для поиска закладок используются тэги. Для доступа к вашим закладкам вы можете установить расширение FreedomMarks для браузеров Firefox и Chrome:
Под Android существует также приложение Nextcloud Bookmarks для доступа к закладкам. В нём тоже используются тэги.
Если вы сторонник классического подхода к хранению закладок, то можете воспользоваться расширением floccus. Данное расширение добавляет свой тэг к каждой закладке с указанием вложенности.
GPS навигация
Для работы с GPS навигацией существует приложение PhoneTrack, позволяющее как производить импортированные маршрутов из файлов с расширением .gpx, так и отслеживать положение устройств в режиме реального времени.
Настройка приложения PhoneTrack
Все устройства, с которых необходимо получать данные, возможно объединить в группы (сессии). Создаётся сессия, после чего в ней необходимо произвести резервирование устройства.
На скрине видно, что создана группа Family, где зарезервировано 3 устройства, имеющие имя и маркер.
Перейдя на следующую закладку, мы увидим список URL-адресов, где перечислены все возможные варианты для передачи данных в режиме реального времени. Рядом с каждым вариантом стоит восклицательный знак, нажав на который мы получим ссылку. Её необходимо указать в программе на устройстве, подставив маркер устройства.
Ниже рассмотрим вариант настройки на примере программы GPS Logger.
Настройка GPS логера
Программа GPS Logger позволяет сохранять маршруты в файл .gpx и передавать их как в ручном режиме, так и автоматически. Присутствует возможность передачи координат в режиме реального времени.
Для передачи в режиме реального времени нам необходимо перейти по пути Настройки записи лога - Сохранять журналы по указанному пользователем URL-адресу и внести URL-адрес, указав вместо yourname маркер необходимого нам устройства.
Для проверки необходимо выполнить HTTP Test и проверить логи.
На скриншотах показан успешный тест проверки и информация в логе о том, что координаты определены и переданы на требуемый адрес.
Данные записываются в используемую базу данных, так что устройство сразу появится в списке в виде цветного кружочка с первой буквой имени устройства.
Заметка
В случае если на устройстве нет Интернета, координаты будут отправлены после подключения к нему.
Видео-аудио конференция
Nextcloud позволяет проводить чат, аудио-видео конференций через WebRTC. Для этого понадобится приложение Talk. Если вы планируете проводить конференции, где участники находятся в разных сетях, а тем более за симметричным NAT - вам понадобится TURN/STUN сервер.
Настройка TURN сервера
Настройте TURN сервер turn.example.org согласно руководству.
Теперь откройте настройки Talk и укажите STUN сервер turn.example.org:443, TURN сервер turn.example.org и ключ 4b85833c7fdf06130bd7398ac9af558b, указанный в параметре static-auth-secret, настройки TURN сервера.
Работа с офисными документами
После установки NextCloud вы сможете просматривать и работать только с документами формата txt. Чтобы работать со всеми видами офисных документов, можно использовать Collabora Online.
Collabora Online
Установите и настройте Collabora Online согласно руководству.
Администрирование
Переиндексация базы
При копировании/переименовании файлов, изменении прав доступа или редактировании файлов напрямую на сервере, минуя Web-интерфейс Nextcloud или WebDAV, следует выполнить обновление базы данных Nextcloud. Для этого выполните следующее.
В случае прямого доступа к файлам Nextcloud (не через WebDAV или веб-интерфейс) не забывайте пересканировать файлы. Для этого выполните:
su nginx -s /bin/bash
cd /var/calculate/www/nextcloud/htdocs
php occ files:scan user
Вместо user подставьте логин пользователя.
Заключение
Заметка
Подписывайтесь на нашу группу @nextcloud@calculate.social в Федеративной сети Mastodon