Як створити власну синхронізацію файлів у хмарі з Nextcloud

| | 0 Comments| 12:30 PM
Categories:

Такі служби, як Dropbox, полегшують вам доступ до файлів на кількох пристроях. Однак вам може знадобитися більше контролю над ними. Менш ніж за 30 хвилин ви зможете запустити власну службу синхронізації з хмарою на сервері, за допомогою якого ви керуєте Nextcloud.

Що таке Nextcloud?

Nextcloud — це програмне забезпечення з відкритим вихідним кодом, яке дозволяє синхронізувати файли між вашим ПК та іншими пристроями, так само, як і з Dropbox, Onedrive або Google Drive. Крім того, Nextcloud має яскраву екосистему додатків, яка дозволяє вам робити більше, ніж просто синхронізувати файли. Ви можете використовувати Nextcloud для керування календарем і контактами або для запуску веб-клієнта електронної пошти IMAP. Ви навіть можете налаштувати програму чату в реальному часі виключно для вас і будь-кого іншого, хто має доступ до вашого сервера.

Однак, перш ніж ми вдаємося в деталі, є попередження. Після того, як ви почнете використовувати Nextcloud, ви повинні підтримувати сервер. Це означає, що на додаток до керування програмним забезпеченням Nextcloud, ви повинні переконатися, що базова операційна система сервера залишається актуальною з виправленнями. Сервери Nextcloud, як правило, безпроблемні, але якщо щось піде не так, ви можете це виправити.

Хороша новина полягає в тому, що існує купа блогів, форуми, і довідкові сторінки щоб допомогти вам у вирішенні несправностей. Якщо ви зіткнулися з проблемою, швидше за все, це сталося з кимось іншим, і є рішення.

Що вам знадобиться

Веб-інтерфейс Nextcloud за замовчуванням.

Щоб розпочати роботу з Nextcloud, вам знадобляться наступні три елементи:

Віртуальний сервер під керуванням Ubuntu 18.04
Оболонка Bash на робочому столі комп’ютера.
Доменне ім’я.

Для наших прикладів ми створимо кілька імен користувачів та паролів, включаючи такі:

Ім’я користувача та пароль root для вашого сервера.
Звичайне ім’я користувача та пароль сервера з правами адміністратора.
Ім’я користувача та пароль Nextcloud.

Для цілей цього посібника ми використовуємо віртуальний сервер під керуванням Ubuntu 18.04 від DigitalOcean. Однак ви можете використовувати будь-якого постачальника, який вам подобається, в тому числі Лінода або AWS. Який би сервіс ви не вибрали, ключем є запуск Ubuntu 18.04 (поточний випуск довгострокової підтримки на момент написання цієї статті), щоб уникнути будь-яких потенційних проблем.

Кожен постачальник віртуальних серверів трохи відрізняється, але всі вони прагнуть запустити сервер за допомогою кількох клацань миші. Для початку радимо використовувати сервер базового рівня на пробній основі, поки ви не звикнете до Nextcloud. Цифровий океан $5 droplet пропонує 1 ГБ оперативної пам’яті, 1 ядро ​​ЦП, 1 ТБ передачі даних і 25 ГБ пам’яті. Linode пропонує подібний VPS за ту ж ціну.

  Як скопіювати та створювати резервні копії файлів у зовнішній сховище на iPhone та iPad

Якщо ви не влаштовуєте ключі SSH, попросіть свого постачальника надати дані для входу root на основі пароля. Після того, як ваш сервер запуститься, і вам буде зручно користуватися командним рядком, ви можете перевірити сторінки довідки свого постачальника про те, як додати ключі SSH для більш безпечного входу.

Якщо на вашому комп’ютері працює Windows 10, вам потрібно буде інсталювати підсистему Windows для Linux і отримати оболонку Bash із утилітами Linux, щоб продовжити. Якщо ви використовуєте Linux або macOS, програма Terminal — це все, що вам потрібно. Більшість терміналів Bash мають встановлений SSH, але якщо ні, просто введіть sudo apt-get install ssh у вікні терміналу, щоб встановити його.

Коли ви купуєте доменне ім’я, воно не обов’язково має бути адресою .COM. Тільки ви і ваші близькі друзі та родина будете користуватися ним. Наприклад, ми знайшли доменне ім’я .XYZ всього за 1 долар на рік, яке буде працювати нормально.

Підготовка сервера

Щоб підготувати сервер до дії, вам потрібно налаштувати звичайний обліковий запис користувача з правами адміністратора. Це жахлива, жахлива ідея увійти як повноправний користувач root після початкової конфігурації.

На даний момент ви повинні мати IP-адресу та пароль root від вашого постачальника сервера. IP-адреса – це спосіб підключення до сервера, а пароль для входу.

Для початку введіть наступне (замініть X на IP-адресу вашого сервера), а потім натисніть Enter:

ssh [email protected]

Наша IP-адреса — 165.22.81.172, тому ми ввели її в команді. Якщо все піде за планом, віддалений сервер (куди ви поставите Nextcloud) попросить пароль. Введіть пароль, який надав вам постачальник сервера.

Потім вам буде запропоновано встановити новий пароль для root. Вибирайте все, що вам подобається, тільки не пропустіть і не забудьте!

Тепер ви на своєму віддаленому сервері, і пора приступати до роботи. Натисніть Enter після кожної команди в цій статті, щоб запустити її.

Спочатку ми вводимо наступне, щоб додати нового користувача на сервер:

adduser ian

Замініть «ian» на ім’я користувача, яке ви хочете використовувати. Після виконання цієї команди вас попросять дати новому користувачеві пароль. Після цього решта інформації, яку запитує сервер, є необов’язковою; якщо ви не хочете його надавати, просто продовжуйте натискати Enter.

Далі ми вводимо наступне, щоб надати нашому новому користувачеві адміністративні привілеї:

usermod -aG sudo ian

Знову замініть «ian» на ім’я користувача, яке ви вибрали раніше.

Тепер ми відкриваємо друге вікно терміналу та вводимо наступне, щоб переконатися, що нові облікові записи користувачів працюють:

ssh [email protected]

Знову ж таки, замініть наведене вище своїм ім’ям користувача та IP-адресою вашого сервера. Введіть пароль, який ви створили для цього облікового запису користувача, коли буде запропоновано. Якщо це працює, поверніться до вікна терміналу, в якому ви ввійшли як root.

  Як встановити Microsoft Edge на Chromebook

Тепер ми вводимо наступне, щоб переконатися, що брандмауер Ubuntu працює належним чином:

ufw дозволити OpenSSH
ufw увімкнути
статус ufw

Ця остання команда статусу повинна повертати щось на зразок зображення нижче, підтверджуючи, що брандмауер не блокуватиме SSH.

Вихід з

Частини «80, 443/tcp» ви ще не побачите, але ми поговоримо про це пізніше. Тепер давайте закриємо кореневе вікно та повернемося до другого вікна термінала зі звичайним користувачем.

Встановлення Nextcloud

Був час, коли доводилося налаштовувати та встановлювати програмне забезпечення Nextcloud, PHP, програмне забезпечення веб-сервера та базу даних окремо.

Набагато простіше користуватися офіційним пакетом Snap, який керує всіма однією командою. Не потрібно возитися з базою даних або турбуватися, чи обслуговує ваш сайт Apache чи Nginx.

Якщо ви хочете побачити, що саме встановлює пакет Snap (спойлер: це решта стеку LAMP плюс Redis), перегляньте Nextcloud snap репозиторій на GitHub.

Набираємо наступне:

sudo snap встановити nextcloud

«sudo» на початку підвищує звичайний обліковий запис користувача, тому він має тимчасові права адміністратора. Для цього вам буде запропоновано ввести пароль. Якщо все піде добре, за хвилину-дві Nextcloud буде встановлено і (майже) готовий до дії.

Далі ми вводимо наступне, щоб створити новий обліковий запис користувача Nextcloud, який може входити на наш сайт:

sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple

Замість «ianpaul» введіть ім’я користувача, яке ви хочете використовувати для входу в Nextcloud. Біт “correctHorseBatteryStaple” – це наш пароль. Не використовуйте його — це з дуже відомого XKCD комікс і це лише приклад.

Робота з доменами

Щоб полегшити життя, ми не хочемо постійно використовувати IP-адресу для доступу до нашого сервера. Замість цього ми будемо використовувати доменне ім’я, яке, знову ж таки, ви можете отримати всього за 1 долар на рік. Для нашого прикладу ми використовуємо wdzwdzTest.xyz.

Коли у вас є домен, ви захочете керувати налаштуваннями DNS від свого реєстратора домену (де ви купили домен) і вказати їх на свого постачальника сервера. Наприклад, якщо ви вибрали DigitalOcean, ці налаштування будуть ns1.digitalocean.com, ns2.digitalocean.com і ns3.digitalocean.com.

Далі перейдіть до свого постачальника сервера (наприклад, DigitalOcean, Linode або будь-що, що ви вибрали) і додайте новий домен до свого облікового запису. Вам потрібно буде додати запис A, який вказує на вашу IP-адресу, запис CNAME, якщо ви не хочете постійно використовувати «www», і записи NS, якщо вони не були додані автоматично.

На зображенні нижче показано приклад із DigitalOcean.

Технічно може пройти до 24 годин, перш ніж ваш домен стане доступним, але зазвичай він починає працювати протягом кількох хвилин.

Повернутися до Nextcloud

Після налаштування домену ми можемо повернутися до завершення Nextcloud в терміналі. Якщо ви вийшли з сервера за допомогою свого звичайного облікового запису користувача ([email protected] у нашому прикладі), увійдіть знову.

  Як переглянути Центр сповіщень на Mac

Тепер ми вводимо наступне, щоб додати наш новий домен до Nextcloud:

sudo nextcloud.occ config:system:set trusted_domains 1 –value=wdzwdztest.xyz

Після «–value=» введіть свій домен, а не наш (wdzwdztest.xyz).

Далі ми вводимо наступне, щоб переконатися, що наш новий домен додано належним чином:

sudo nextcloud.occ config:system:get trusted_domains

Термінал повинен роздрукувати щось на зразок зображення нижче.

The

Далі ми вводимо наступне, щоб переконатися, що ми можемо використовувати потрібні порти, пропустивши їх через брандмауер:

sudo ufw дозволити 80,443/tcp

Порт 80 використовується для незашифрованого HTTP-трафіку, а 443 – для SSL/TLS.

Говорячи про це, нам знадобиться безкоштовний сертифікат SSL/TLS від Let’s Encrypt, тому ми вводимо наступне:

sudo nextcloud.enable-https lets-encrypt

Як тільки генератор Let’s Encrypt почне працювати, він запитує адресу електронної пошти та ваше доменне ім’я Nextcloud. Просто дотримуйтесь інструкцій, і ви отримаєте безпечний сертифікат веб-сайту в найкоротші терміни. Якщо Let’s Encrypt вдалося, настав час перевірити налаштування.

Перейдіть до свого нового домену (наприклад, до нашого wdzwdztest.xyz). Ви повинні побачити сторінку входу в Nextcloud (див. нижче) зі значком замка в адресному рядку.

Якщо ви бачите сторінку входу, ви готові до роботи. Якщо ні, зачекайте кілька годин і повторіть спробу. Якщо ви хочете негайно вирішити проблему, ви можете побачити, чи відповідає сервер через IP-адресу.

Щоб це спрацювало, нам потрібно ввести наступне, щоб додати IP-адресу до наших надійних доменів:

sudo nextcloud.occ config:system:set trusted_domains 2 –value=165.22.81.172

Зауважте, що ми використовували «trusted_domains 2», а не «trusted_domains 1». Якщо ви просто повторите «trusted_domains 1», ви перезапишете своє фактичне доменне ім’я у списку довірених доменів і не зможете ним користуватися.

Після цього введіть IP-адресу в адресний рядок свого браузера, і ви побачите сторінку входу вище. Якщо ні, то під час встановлення щось пішло не так.

Оскільки ми не маємо сертифіката SSL для IP-адреси, він не зможе безпечно ввійти в систему. З цієї причини ми пропонуємо вам видалити IP-адресу зі списку надійних доменів після того, як ви переконаєтеся, що сервер працює. Для цього введіть наступне:

sudo nextcloud.occ config:system:delete trusted_domains 2

Підвищення продуктивності

Якщо ваш сервер Nextcloud працює погано, можливо, вам знадобиться збільшити ліміт пам’яті. За замовчуванням це 128 МБ. Щоб збільшити це до 512 МБ, ви повинні увійти на сервер за допомогою терміналу та ввести наступне:

sudo snap set nextcloud php.memory-limit=512M.

Тепер, коли Nextcloud запущено та працює, ви можете входити в систему, переглядати доступні програми, ділитися файлами з іншими та інсталювати Nextcloud на свій комп’ютер і мобільні пристрої для синхронізації на кількох пристроях. Nextcloud пропонує інструменти синхронізації на робочому столі та мобільні додатки для Windows, Mac, Linux, iPhone, iPad та Android.

Ласкаво просимо до вашої особистої коробки!