NextCloud + MegaCMD

Необходимые пакеты на сервере Synology:

  1. MariaDB 10
  2. Web Station
  3. Apache HTTP Server 2.4
  4. PHP 7.2

Шаг 1. Установить пароль root пользователя для MariaDB 10. Этот пароль очень важно всегда помнить, а еще лучше записать и спрятать под подушкой
Шаг 2. Установка Apache HTTP Server 2.4 с центра пакетов Synology не затруднит
Шаг 3. Установим PHP 7.2 как и предыдущий пакет с центра пакетов
Шаг 4. После установки Web Station его необходимо настроить:

  • Включить все Расширения
  • Включить кэш PHP

Модифицировать Ядро

  • mysql.default_port=3307  (порт по умолчанию для MariaDB 10)
  • opcache.enable=1
  • opcache.enable_cli=1
  • opcache.interned_strings_buffer=8
  • opcache.max_accelerated_files=10000
  • opcache.memory_consumption=128
  • opcache.save_comments=1
  • opcache.revalidate_freq=1

Добавить виртуальный хост в Web Station (Выбрать Apache 2.4 и PHP 7.2)

Скачать и извлечь архив NextCloud

  • zip архив взять отсюда nextcloud.com/install
  • Извлеченный архив nextcloud.zip скопировать в папку WEB (/volume1/web/) . Пользователю http даете права на чтение/запись файлов на всю директорию Web

Теперь откройте веб-браузер и введите адрес вашей следующей установки IP или домен

Если все хорошо, вы должны найти себя на странице установки Nextcloud. Если ваша страница пуста или вы получаете ошибку, убедитесь, что на вашей веб-станции / виртуальном хосте выбраны apache 2.4 и php 7.2, а не nginx.

Корректно заполнить данные поля следуя подсказкам в поле ввода
Теперь нужно установить пакет MegaCMD

  • Добавить в Центр пакетов новый репозиторий Источников пакетов http://packages.synocommunity.com/
  • Установить пакет MegaCMD
  • Создать скрипт со следующий содержимым
    !/bin/bash
    mega-cmd
    login Ваша_почта от Mega Ваш_пароль
    sync Локальная_папка_для_синхронизации /Удаленная_папка_на_Mega

    Скачать пример скрипта
  • Поместить скрипт в удобную папку (закинул в /volume1/web/saniaowner.space/data/)
  • Добавить скрипт в планировщик Synology от имени Root с нужной частотой синхронизации (у меня 1 в час)
    Скрипт /volume1/web/saniaowner.space/data/mega.sh

В папке Config в файле config.php добавить следующую строку
'filesystem_check_changes' => 1,
Эта команда позволяет проверять автоматическое наличие изменений в файлах


Решение возможных проблем


Режим обслуживания

  • Чтобы исправить эту проблему нужно запустить команду occ maintenance:mode --off находясь в корневой папке NextCloud.
    Для этого подключаемся с помощью Putty к Synology по протоколу SSH
  • Вводим команду cd /volume1/web/nextcloud и нажимаем Enter. У Вас путь к каталогу может отличаться
  • Вводим команду ./occ maintenance:mode --off
    Получаем ошибку с текстом: «This version of Nextcloud requires at least PHP 7.2 You are currently runnin g 5.6.11. Please update your PHP version.«
    Странно, ведь в Web Station выбран PHP 7.2.
  • Меняем версию PHP для командной строки.
    Входим с правами супер-пользователя командой sudo -i
    Переходим в каталог cd /bin
    Переименовываем файл mv php php2
    Создаем симлинк sudo cp /volume1/@appstore/PHP7.2/usr/local/bin/php72 /bin/php
    Переходим в каталог NextCloud и выключаем режим обслуживания cd /volume1/web/nextcloud
    Выключаем режим обслуживания sudo -u admin ./occ maintenance:mode --off
    Переименовываем обратно файл php cd /bin; mv php2 php
  • Проверяем исправилась ли проблема

Перенос данных пользователя

  • Создаем пользователя, копируем нужные данные в его папку
  • Выдаем права на всю папку пользователя rwxrwx— (0770) с разрешением для потомков
  • Переходим в директорию NextCloud cd /volume1/web/nextcloud
  • Выполняем команду ./occ files:scan user, где user пользователь которого нужно перенести
  • Проверяем
Наверх