Как да изградите своя собствена синхронизация на облачни файлове с Nextcloud

Услуги като 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. Digital Ocean’s $5 droplet предлага 1 GB RAM, 1 ядро ​​на процесора, 1 TB трансфер на данни и 25 GB място за съхранение. Linode предлага подобен VPS на същата цена.

  Как да промените езика си в WeChat

Освен ако не сте доволни от 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.

  StorageStatus Наблюдава всички физически устройства за съхранение, свързани към Mac

Сега въвеждаме следното, за да се уверим, че защитната стена на 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] в нашия пример), влезте отново.

  Как да споделите статична моментна снимка на вашия Google Календар

Сега въвеждаме следното, за да добавим нашия нов домейн към Nextcloud:

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

След „–value=“ въведете вашия домейн, а не нашия (wdzwdztest.xyz).

След това въвеждаме следното, за да се уверим, че новият ни домейн е добавен правилно:

sudo nextcloud.occ config:system:get trusted_domains

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

В

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

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 MB. За да увеличите това до 512 MB, трябва да влезете в сървъра с помощта на терминала и да въведете следното:

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

Сега, когато Nextcloud е стартиран и работи, можете да влезете, да преглеждате наличните приложения, да споделяте файлове с други и да инсталирате Nextcloud на вашия настолен компютър и мобилни устройства за синхронизиране на множество устройства. Nextcloud предлага инструменти за синхронизиране на работния плот и мобилни приложения за Windows, Mac, Linux, iPhone, iPad и Android.

Добре дошли във вашата лична кутия!