NextCloud

Nextcloud отлично работает на Debian, по этому все команды в нем.


Ручное обновление

  1. Переходим в каталог, где находится опубликованная папка html в которой лежит сайт: cd /var/www
  2. Отключаем веб-сервер: systemctl stop apache2
  3. Переводим Nextcloud в режим обслуживания: sudo -u www-data php ./html/occ maintenance:mode --on
  4. Отключение заданий по расписанию: crontab -e закомментив строку вызывающую "/var/www/html/cron.php"
  5. Переименовываем существующий в архивный: mv html html.bak
  6. Качаем последнюю версию: wget https://download.nextcloud.com/server/releases/latest.zip
  7. Паспаковываем: unzip latest.zip
  8. Переименовываем распакованный nextcloud в html mv nextcloud html
  9. Копируем конфиг из архива cp ./html.bak/config/config.php ./html/config/config.php
  10. На всякий случай смотрим приложения которых нет в новой версии diff --brief html.bak/apps/ html/apps/ | grep "Only in html.bak" и копируем их ручками по необходимости из архива: cp ./html.bak/apps/<приложение> ./html/apps/<приложение>
  11. Задаем права на папку для apache: chown -R www-data:www-data html
  12. Стартуем апач: systemctl start apache2
  13. Запускаем обновление: sudo -u www-data php ./html/occ upgrade
  14. Отключаем режим обслуживания: sudo -u www-data php ./html/occ maintenance:mode --off
  15. Проверяем индексы базы: sudo -u www-data php ./html/occ db:add-missing-indices
  16. Включаем крон crontab -e путём снятия коммента на строке
  17. Проверяем работу в браузере!
  18. Удаляем архивную папку: rm -rf /var/www/html.bak
  19. Удаляем скаченный архив Nextcloud: rm -f latest.zip
  20. Готово sync && exit

Установка и настройка TURN сервера для Nextcloud

  1. Обновляем и устанавливаем apt update && apt install coturn -y
  2. Сохраняем оригинальную версию конфигаcp /etc/turnserver.conf /etc/turnserver.conf.orig
  3. Генерируем код openssl rand -hex 32 он нам понадобится
  4. приводим конфиг к виду:
    listening-port=3478
    fingerprint
    use-auth-secret
    static-auth-secret=<наш код из шага 3>
    realm=<доменное имя или внешний ip-адрес роутера>
    total-quota=100
    bps-capacity=0
    stale-nonce
    no-multicast-peers
  5. Рестартим наш coturn systemctl restart coturn
  6. Пробрасываем на роутере порт 3478 tcp/udp на TURN сервер
  7. В настройках Nextcoud / Конференции указываем только turn с урлом или ip из realm:3478 и протоколы tcp/udp - ждём когда появится значок молнии вместо восклицательного знака.
  8. Готово sync && exit