Servisi kao što je Dropbox olakšavaju pristup vašim datotekama na različitim uređajima. Međutim, možda želite veću kontrolu nad njima. Za manje od 30 minuta, možete postaviti sopstveni servis za sinhronizaciju u oblaku na serveru, sa kojim upravljate putem Nextcloud-a.
Šta je Nextcloud?
Nextcloud je softver otvorenog koda koji vam omogućava da sinhronizujete fajlove između vaših računara i drugih uređaja, slično kao Dropbox, OneDrive ili Google Drive. Pored toga, Nextcloud ima razvijen ekosistem aplikacija koji vam omogućava da radite više od same sinhronizacije datoteka. Možete koristiti Nextcloud za upravljanje kalendarom i kontaktima, ili da pokrenete IMAP klijent e-pošte direktno u pretraživaču. Čak možete podesiti i program za ćaskanje uživo, isključivo za vas i druge koji imaju pristup vašem serveru.
Ipak, pre nego što uđemo u detalje, treba da znate sledeće. Kada počnete da koristite Nextcloud, vi ste odgovorni za održavanje servera. To znači da pored upravljanja Nextcloud softverom, morate se pobrinuti da operativni sistem servera bude ažuriran najnovijim zakrpama. Nextcloud serveri generalno rade bez problema, ali ako nešto krene po zlu, na vama je da to rešite.
Dobra vest je da postoji mnogo blogova, foruma i stranica za pomoć koji vam mogu pomoći u rešavanju problema. Ako naiđete na problem, velika je verovatnoća da se to već desilo nekome drugom i da postoji rešenje.
Šta vam je potrebno
Podrazumevani Nextcloud web interfejs.
Da biste počeli sa Nextcloud-om, potrebne su vam sledeće tri stvari:
Virtuelni server koji koristi Ubuntu 18.04.
Bash školjka na vašem računaru.
Ime domena.
Za potrebe ovog vodiča, kreiraćemo nekoliko korisničkih imena i lozinki, uključujući:
Root korisničko ime i lozinku za vaš server.
Obično korisničko ime i lozinku servera sa administratorskim privilegijama.
Korisničko ime i lozinku za Nextcloud.
U ovom uputstvu koristimo virtuelni server koji pokreće Ubuntu 18.04 sa DigitalOcean-a. Međutim, možete koristiti bilo kog provajdera koji vam se sviđa, uključujući Linode ili AWS. Bez obzira koju uslugu izaberete, bitno je da koristite Ubuntu 18.04 (trenutna verzija sa dugoročnom podrškom u trenutku pisanja ovog teksta) kako biste izbegli potencijalne probleme.
Svaki provajder virtuelnih servera je malo drugačiji, ali svi imaju za cilj da pokrenu server sa nekoliko klikova mišem. Za početak, preporučujemo da koristite osnovni nivo servera probno dok se ne naviknete na Nextcloud. Digital Ocean’s server od 5 dolara nudi 1 GB RAM-a, 1 CPU jezgro, 1 TB prenosa podataka i 25 GB prostora za skladištenje. Linode nudi sličan VPS po istoj ceni.
Osim ako niste sigurni u upotrebu SSH ključeva, zatražite od svog provajdera detalje za prijavu sa root pristupom koristeći lozinku. Kada vaš server bude pokrenut, a vi se naviknete na komandnu liniju, možete proveriti stranice pomoći vašeg provajdera o tome kako dodati SSH ključeve radi sigurnije prijave.
Ako vaš računar koristi Windows 10, moraćete da instalirate Windows podsistem za Linux i nabavite Bash školjku sa Linux uslužnim programima da biste nastavili. Ako koristite Linux ili macOS, program Terminal je sve što vam treba. Većina Bash terminala dolazi sa instaliranim SSH-om, ali, ako nije, samo ukucajte sudo apt-get install ssh u prozor terminala da biste ga instalirali.
Kada kupite ime domena, to ne mora biti .COM adresa. Samo vi i vaši najbliži ćete ga koristiti. Na primer, našli smo .XYZ ime domena za samo 1 dolar godišnje, koje radi sasvim dobro.
Priprema vašeg servera
Da bi vaš server bio spreman za rad, potrebno je da postavite regularni korisnički nalog sa administratorskim privilegijama. Veoma je loša ideja da se prijavite kao svemoćni root korisnik nakon početne konfiguracije.
Do sada bi trebalo da imate IP adresu i root lozinku od svog provajdera servera. IP adresa je način na koji se povezujete sa serverom, a lozinka vas pušta unutra.
Za početak, ukucajte sledeće (zamenite X sa IP adresom vašeg servera), a zatim pritisnite Enter:
ssh [email protected]
Naša IP adresa je 165.22.81.172, tako da smo to uneli u našu komandu. Ako sve bude u redu, udaljeni server (gde ćete instalirati Nextcloud) će tražiti lozinku. Unesite lozinku koju vam je dao provajder servera.
Zatim će se od vas tražiti da postavite novu lozinku za root pristup. Izaberite šta god želite, samo nemojte zaboraviti!
Sada ste unutar vašeg udaljenog servera i vreme je da počnete da radite. Pritisnite Enter posle svake komande u ovom članku da biste je izvršili.
Prvo, ukucajte sledeće da biste dodali novog korisnika na server:
adduser jan
Zamenite „jan“ korisničkim imenom koje želite da koristite. Kada izvršite ovu komandu, od vas se traži da novom korisniku date lozinku. Nakon što to uradite, ostale informacije koje server zahteva su opcione; ako ne želite da ih unesete, samo pritisnite Enter.
Zatim upisujemo sledeće da bismo našem novom korisniku dali administratorske privilegije:
usermod -aG sudo jan
Opet, zamenite „jan“ korisničkim imenom koje ste prethodno izabrali.
Sada otvorite drugi prozor terminala i ukucajte sledeće da biste bili sigurni da novi korisnički nalog radi:
ssh [email protected]
Opet, zamenite gore navedeno svojim korisničkim imenom i IP adresom vašeg servera. Unesite lozinku koju ste kreirali za ovaj korisnički nalog kada se to od vas zatraži. Ako radi, vratite se na prozor terminala u koji ste prijavljeni kao root.
Sada unosimo sledeće da bismo bili sigurni da Ubuntu zaštitni zid radi ispravno:
ufw allow OpenSSH
ufw enable
ufw status
Poslednja komanda „status“ bi trebalo da vrati nešto slično slici ispod, potvrđujući da zaštitni zid neće blokirati SSH.
Još uvek nećete videti deo „80, 443/tcp“, ali ćemo do toga doći kasnije. Sada, zatvorite početni prozor i vratite se na drugi prozor terminala sa regularnim korisnikom.
Instaliranje Nextcloud-a
Nekada je bilo neophodno da se konfiguriše i instalira Nextcloud softver, PHP, softver web servera i baza podataka odvojeno.
Mnogo je lakše koristiti zvanični Snap paket, koji se o svemu brine jednom komandom. Nema potrebe da se petljate sa bazom podataka, niti da brinete da li Apache ili Nginx opslužuju vašu web lokaciju.
Ako želite da vidite šta tačno Snap paket instalira (spoiler: to je ostatak LAMP stek, plus Redis), pogledajte Nextcloud snap repozitorijum na GitHub-u.
Ukucavamo sledeće:
sudo snap install nextcloud
„sudo“ na početku omogućava običnom korisničkom nalogu da ima privremene administratorske privilegije. Od vas će biti zatraženo da unesete lozinku da biste ovo izvršili. Ako sve prođe kako treba, za minut ili dva, Nextcloud će biti instaliran i (skoro) spreman za korišćenje.
Zatim unosimo sledeće da bismo kreirali novi Nextcloud korisnički nalog koji može da se prijavi na našu web lokaciju:
sudo nextcloud.manual-install janpaul correctHorseBatteryStaple
Umesto „janpaul“, unesite korisničko ime koje želite da koristite za prijavu na Nextcloud. „correctHorseBatteryStaple“ je naša lozinka. Nemojte je koristiti – preuzeta je iz poznatog XKCD stripa i služi samo kao primer.
Rad sa domenima
Da bismo sebi olakšali život, ne želimo da koristimo IP adresu svaki put kada želimo da pristupimo našem serveru. Umesto toga, koristićemo ime domena, koje, ponovo, možete nabaviti za samo 1 dolar godišnje. U našem primeru, koristimo vdzvdzTest.xyz.
Kada imate domen, potrebno je da upravljate DNS podešavanjima od svog registrara domena (odakle ste kupili domen) i usmerite ih na svog provajdera servera. Ako izaberete DigitalOcean, na primer, ta podešavanja bi bila ns1.digitalocean.com, ns2.digitalocean.com i ns3.digitalocean.com.
Zatim idite kod svog provajdera servera (na primer, DigitalOcean, Linode ili šta god da ste izabrali) i dodajte novi domen svom nalogu. Moraćete da dodate A zapis koji pokazuje na vašu IP adresu, CNAME zapis ako ne želite da koristite „www“ sve vreme, i NS zapise ako nisu automatski dodati.
Slika ispod prikazuje primer iz DigitalOcean-a.
Tehnički, može proći do 24 sata pre nego što vaš domen postane dostupan, ali obično počinje da radi u roku od nekoliko minuta.
Povratak na Nextcloud
Sa postavljenim domenom, možemo se vratiti na dovršavanje Nextcloud-a u terminalu. Ako ste se odjavili sa servera sa svojim regularnim korisničkim nalogom ([email protected] u našem primeru), ponovo se prijavite.
Sada unosimo sledeće da bismo dodali naš novi domen u Nextcloud:
sudo nextcloud.occ config:system:set trusted_domains 1 –value=vdzvdztest.xyz
Posle „–value=“, ukucajte svoj domen umesto našeg (vdzvdztest.xyz).
Zatim unosimo sledeće da bismo bili sigurni da je naš novi domen ispravno dodat:
sudo nextcloud.occ config:system:get trusted_domains
Terminal bi trebalo da ispiše nešto slično slici ispod.
Zatim, ukucavamo sledeće i uveravamo se da možemo koristiti portove koje želimo tako što ćemo ih propustiti kroz zaštitni zid:
sudo ufw allow 80,443/tcp
Port 80 koristi nešifrovani HTTP saobraćaj, dok je 443 za SSL/TLS.
Kad smo već kod toga, trebaće nam besplatni SSL/TLS sertifikat od Let’s Encrypt, pa ćemo ukucati sledeće:
sudo nextcloud.enable-https lets-encrypt
Kada generator Let’s Encrypt počne da radi, traži adresu e-pošte i ime vašeg Nextcloud domena. Samo pratite uputstva i trebali biste imati sertifikat za siguran web sajt za kratko vreme. Ako je Let’s Encrypt uspeo, vreme je da testirate svoje podešavanje.
Idite na svoj novi domen (poput našeg vdzvdztest.xyz). Trebali biste da vidite Nextcloud stranicu za prijavu (pogledajte ispod) sa ikonom katanca u adresnoj traci.
Ako vidite stranicu za prijavu, spremni ste za rad. Ako ne, sačekajte nekoliko sati i pokušajte ponovo. Ako želite odmah da rešite problem, možete proveriti da li server odgovara preko IP adrese.
Da bi ovo funkcionisalo, moramo da ukucamo sledeće, kako bismo dodali IP adresu našim pouzdanim domenima:
sudo nextcloud.occ config:system:set trusted_domains 2 –value=165.22.81.172
Imajte na umu da smo koristili „trusted_domains 2“, a ne „trusted_domains 1“. Ako samo ponovite „trusted_domains 1“, prebrisaćete svoje pravo ime domena na listi pouzdanih domena i nećete moći da ga koristite.
Kada to uradite, unesite IP adresu u adresnu traku vašeg pretraživača i trebali biste da vidite stranicu za prijavu iznad. Ako ne, nešto nije u redu sa instalacijom.
Pošto nemamo SSL sertifikat za IP adresu, nećete se moći sigurno prijaviti. Iz tog razloga, predlažemo da obrišete IP sa liste pouzdanih domena nakon što potvrdite da server radi. Da biste to uradili, ukucajte sledeće:
sudo nextcloud.occ config:system:delete trusted_domains 2
Poboljšanje performansi
Ako vaš Nextcloud server ne radi dobro, možda ćete morati da povećate ograničenje memorije. Podrazumevano je 128 MB. Da biste to povećali na 512 MB, prijavite se na server pomoću terminala i ukucajte sledeće:
sudo snap set nextcloud php.memory-limit=512M
Sada kada je Nextcloud pokrenut i radi, možete da se prijavite, pregledate dostupne aplikacije, delite fajlove sa drugima i instalirate Nextcloud na svoj desktop i mobilne uređaje za sinhronizaciju na više uređaja. Nextcloud nudi alate za sinhronizaciju na desktopu i mobilne aplikacije za Windows, Mac, Linux, iPhone, iPad i Android.
Dobrodošli u vaš lični oblak!