Anonim

Spremanje u oblaku odličan je način zaštite datoteka u slučaju da se nešto dogodi i vaše računalo se izgubi ili ošteti. To vam može pomoći da pristupite svojim datotekama na putu ili s posla i pomaže vam da sve bude sinkronizirano na svim uređajima.

Međutim, pohrana u oblaku ima jedan veliki nedostatak. Morate vjerovati nekoj tvrtki sa svim svojim osobnim dosjeima. Što se događa ako ih se uhvati? Jesu li doista svi toliko pouzdani ili prolaze kroz vaše stvari kad ne gledate? To stvarno nije moguće znati sigurno.

Postoji još jedna opcija. Svojom vlastitom pohranom u oblaku možete ugostiti Nextcloud. Nextcloud je rješenje otvorenog koda za pohranu oblaka koje vam omogućuje da budete vaša vlastita tvrtka za pohranu oblaka. Ima jednostavno korištenje i čišćenje sučelja i pratećih aplikacija za sve svoje uređaje, tako da se ne bavite nekim hakiranim smećem.

Ovaj vodič će se fokusirati na hosting Nextcloud-a na VPS-u (Virtual Private Server), ali možete ga pokrenuti i lokalno na svojoj kućnoj mreži. Samo nemojte očekivati ​​da će mu pristupiti izvana osim ako niste postavili prosljeđivanje porta ili imate VPN. Neki od koraka bili bi malo drugačiji, te vam neće trebati kupiti ime domene ili postavljati SSL certifikate.

Odaberite domaćina

Brze veze

  • Odaberite domaćina
  • Instalirajte ono što vam treba
  • Postavljanje vatrozida
  • Konfigurirajte SSH
    • SSH ključevi
      • Windows
      • Mac i Linux
    • Onemogući korijen i lozinke
  • Konfigurirajte svoju bazu podataka
  • Konfigurirajte PHP
  • Get Nextcloud
  • Napravite SSL certifikate
  • Konfigurirajte Nginx
  • Započnite Nextcloud

Ako pretpostavimo da imate istinsko rješenje u oblaku i želite da vaše datoteke budu dostupne putem interneta, morate postaviti VPS na kojem će se nalaziti Nextcloud. Postoje neke sjajne opcije vani, pa odaberite ono što vam se čini najbolje. Pogledajte Linode, DigitalOcean i Gandi ako već nemate domaćina na umu.

Ovaj će vodič koristiti Debian 9 "Stretch" kao operativni sustav poslužitelja. Debian je super stabilan i poprilično sigurno siguran. Također je dobro podržana od strane većine hosting platformi. Ako vam je ugodnije s Ubuntuom, većina toga primijenit će se izravno tamo, budući da se Ubuntu temelji na Debianu.

Trebate također dobiti naziv domene za svoj poslužitelj. Budući da ovo neće biti javno web mjesto, stvarno možete napraviti sve što želite. Postupak kupnje i povezivanja imena domene različit je za svakog davatelja usluga i imena domena, zato svakako provjerite dokumentaciju koju pružaju odabrane usluge.

Sve će se ovdje rješavati na daljinu iz Linux naredbenog retka. Ako ste na Macu ili Linuxu, možete jednostavno otvoriti terminal i koristiti SSH za pristup vašem VPS-u. Ako ste na Windows-u, uzmite SSH klijent poput PuTTY .

Instalirajte ono što vam treba

Ima puno komada ove zagonetke. Sad ih možete i sve ugrabiti, pa imate ono što trebate nastaviti odavde. Debian obično nema defaultno instaliran sudo, pa prvo zgrabite taj uređaj i postavite ga.

$ su -c 'apt install sudo'

Unesite svoju root lozinku i Sudo će biti instaliran. Zatim svog korisnika trebate dodati u sudo grupu.

$ su -c 'gpasswd - korisničko ime sudo'

Sada možete koristiti sudo. Možda ćete se morati ponovno prijaviti ako ne radi odmah. Od ovog trenutka nadalje ćete umjesto toga koristiti sudo, posebno jer ćete zbog sigurnosnih razloga onemogućiti korijenske prijave.

Sada, zgrabite sve iz Debianovih spremišta.

$ sudo apt instalirati ufw mariadb-server nginx certbot php php-mysql php-fpm php-cli php-json php-curl php-imap php-gd php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring

Postavljanje vatrozida

Vaš poslužitelj je na Internetu. Nema šanse za to, a to znači da ćete se trebati nositi s napadačima. Postavljanje jednostavnog vatrozida pomoći će u sprječavanju mnogih potencijalnih prijetnji.

Umjesto da izravno upotrebljavate iptables, za zaštitu sustava možete koristiti UFW (nekomplicirani vatrozid). Ima jednostavniju sintaksu i s njim je puno lakše raditi.

Započnite onemogućavanjem svega na vatrozidu. Ovo će postaviti zadanu politiku za uskraćivanje veza sa svim uslugama i portovima, osiguravajući da se napadači ne mogu povezati na nekom zaboravljenom priključku.

$ sudo ufw zadani uskraćuje dolazni

$ sudo ufw default odbiti odlazni $ sudo ufw zadani uskratiti naprijed

Zatim možete reći uslugama koje želite da to omoguće. U tom slučaju trebat će vam samo SSH i web pristup. Također ćete htjeti omogućiti NTP i DNS kako bi vaš poslužitelj mogao doraditi ažuriranja i postaviti svoj sat.

$ sudo ufw dopustiti u ssh $ sudo ufw dopustiti ssh $ sudo ufw dopustiti u http $ sudo ufw dopustiti http $ sudo ufw dopustiti u https $ sudo ufw dopustiti https $ sudo ufw dopustiti u ntp $ sudo ufw dopustiti ntp $ sudo ufw dopustiti u 53 $ sudo ufw dopustiti 53 $ sudo ufw dopustiti u 67 $ sudo ufw dopustiti 67

Sada možete pokrenuti vatrozid. Upozvat će vas na prekid SSH-a, ali SSH ste već dopustili, tako da ćete biti u redu.

$ sudo ufw omogućuju

Konfigurirajte SSH

SSH je jedna od najčešće napadanih usluga na Linux poslužiteljima. To je pristup svim ostalim poslužiteljima, a obično je zaštićen samo lozinkom. Zato je važno osigurati da vaš poslužitelj nije lako dostupan napadačima putem SSH-a.

SSH ključevi

Prvo, morate postaviti puno sigurniju alternativu lozinku, SSH ključu. Proces je u Windows-u drugačiji nego na Mac-u i Linuxu, pa slijedite upute koje odgovaraju vašoj radnoj površini.

Windows

Kao što je Windows način, za završetak ovog jednostavnog zadatka potreban vam je još jedan program. PuTTYgen je RSA generator ključeva za PuTTY. Dostupno je na PuTTY stranici za preuzimanje . Preuzmite je i pokrenite.

U prozoru koji se otvori dodijelite naziv ključu i stvorite lozinku za njega. To je lozinka koju ćete koristiti za prijavu na svoj poslužitelj. Na dnu odaberite SSH-2 RSA i postavite veličinu ključa od najmanje 2048 bita. 4096 je bolji, ali 2048. bit će malo brži. Zatim generirajte svoje ključeve i spremite i javne i privatne ključeve. Na kraju, kopirajte javni ključ koji se prikazuje na vrhu prozora.

Upotrijebite PuTTY za povezivanje s vašim poslužiteljem. Otvorite datoteku na ~ / .ssh / autoriziranim ključevima i zalijepite ključ.

Natrag u PuTTY, pronađite SSH na bočnom izborniku. Zatim otvorite opciju "Auth". U polju za ključ ključa potražite mjesto privatnog ključa koji ste upravo spremili. Kad je sve u PuTTY postavljeno za vaš poslužitelj, spremite sesiju. Testirajte to kako biste bili sigurni da se povezujete s ključem prije nego što krenete dalje.

Mac i Linux

Korisnici Mac-a i Linuxa ovdje imaju puno lakši put. Započnite generiranjem SSH ključa, ako ga već nemate. Imate mogućnost stvaranja lozinke za ključ. Izborno je, tako da je to vaš poziv.

$ ssh-keygen -b 4096 -t rsa

Sada samo pošaljite svoj ključ vašem poslužitelju. Zamijenite svoje korisničko ime i IP poslužitelja.

$ ssh-copy-id -i ~ / .ssh / id_rsa.pub

To je to!

Onemogući korijen i lozinke

Nakon postavljanja ključa možete onemogućiti lozinke za SSH. Ne brinite ako postavite ključ sa zaporkom. To je nešto drugačije, a to uopće neće utjecati. Otvorite SSH konfiguracijsku datoteku na / etc / ssh / sshd_config.

$ sudo nano / etc / ssh / sshd_config

Pronađite redak koji glasi:

#PermitRootLogin zaporka-lozinka

Promijenite ga na:

PermitRootLogin br

Zatim pronađite dva retka:

#PasswordAuthentication yes #PermitEmptyPasswords br

Promijenite ih na:

PasswordAuthentication no PermitEmptyPasswords br

Na kraju, pronađite:

UsePAM da

Napraviti:

UsePAM br

Spremite datoteku i zatvorite je. Zatim ponovno pokrenite SSH. To bi vas moglo pokrenuti, pa se ponovo spojite ako uspije.

$ sudo systemctl ponovo pokrenite sshd

Konfigurirajte svoju bazu podataka

Sljedeće što morate učiniti je konfigurirati vašu bazu podataka. Ovdje stvarno nije puno uključeno, tako da se ne brinite previše. Trebate samo postaviti korisničku i praznu bazu podataka kako bi Nextcloud mogao pristupiti.

Zapravo postoji prikladna skripta za postavljanje i sigurnost MariaDB-a za vas. Pokrenite prvo.

$ sudo mysql_secure_installation

Zadana lozinka korijena je prazna, pa na upit piše "Enter". Tada će se tražiti da postavite root lozinku. Učiniti. Odgovorite "Da" na svako sljedeće pitanje.

Možete se prijaviti u bazu podataka pomoću lozinke za korijen koju ste upravo postavili.

$ sudo mysql -u korijen -p

Promjena će se promijeniti u MariaDB. Ovo je konzola za upravljanje poslužiteljem baze podataka. Započnite stvaranjem nove baze podataka. Kapitalizacija se ovdje računa.

SAVJETITE BAZU DODATKA sljedeći sloj;

Zatim naredite korisnika za tu bazu podataka.

USTVARATI KORISNIKA `nextcloud` @` localhost` IDENTIFIKIRANO "PasswordForUser";

Zatim dodijelite tom korisniku dozvolu za upotrebu baze podataka.

PODELITE SVE NA nextcloud. * TO `nextcloud` @` localhost`;

To je to! Sada možete izaći iz poslužitelja baze podataka.

q

Konfigurirajte PHP

Nextcloud je napisan na PHP-u. Već ste instalirali najnoviju verziju PHP-a dostupnu na Debian Stretch-u, zajedno s PHP ekstenzijama koje Nextcloud treba da bi ispravno funkcionirao. Još morate napraviti nekoliko podešavanja na vašoj PHP konfiguraciji da biste lakše radili s Nginxom.

Zaista trebaju samo neke temeljne sigurnosne promene. To nisu ništa važno, ali će vam pomoći poboljšati sigurnost vašeg poslužitelja.

Otvorite /etc/php/7.0/fpm/php.ini pomoću suda i vašeg omiljenog uređivača teksta.

Datoteka je ogromna, pa se pomoću navigacijske funkcije uređivača krećite po njoj. Ako koristite Nano, to je Ctrl + W. Opcija šake koju trebate pronaći su onemogućene funkcije. Na kraju dodajte phpinfo, sustav, mail, exec.

Zatim pronađite sql.safe_mode i uključite ga. Zatim isključite enable_url_fopen. Na kraju datoteke dodajte sljedeći redak, spremite i zatvorite.

register_globals = Isključeno

Get Nextcloud

Nextcloud još nije dostupan kao paket za Debian, i to je u redu. Stvarno ne trebate biti. Dosta je poput ostalih unaprijed izgrađenih PHP web aplikacija, poput WordPressa, i dolazi u komprimiranoj arhivi koju možete izdvojiti tamo gdje želite instalirati Nextcloud.

Od ovog trenutka najnovije stabilno izdanje je Nextcloud, dvaput provjerite koja je najnovija verzija za vas kad ovo čitate. Vodič će se odnositi na 12, ali koristite ono što je najnovije stabilno.

Promijenite u imenik u koji želite preuzeti svoju Nextcloud arhivu. Zatim promijenite u / var / www da biste ga izdvojili.

$ cd ~ / Downloads $ wget https://download.nextcloud.com/server/releases/nextcloud-12.0.3.tar.bz2 $ cd / var / www $ sudo tar xjpf ~ / Downloads / nextcloud-12.0.3. tar.bz2

Ako to čitate u budućnosti, vezu za preuzimanje možete pronaći na stranici instaliranja Nextcloudova poslužitelja .

Napokon, promijenite vlasništvo nad instalacijom Nextcloud u www-data.

$ sudo chown -R www-data: www-data / var / www / nextcloud

Napravite SSL certifikate

Stvaranje vaših SSL certifikata vrlo je jednostavno zahvaljujući Certbotu. Certbot će automatski generirati vaše SSL certs za vas i smjestit će ih u web korijen bez obzira na mjestu na kojem ih stvarate. Trebate pokrenuti samo jednu naredbu.

$ sudo certbot certonly --webroot -w / var / www / nextcloud -d your-domain.com -d www.your-domain.com

Budući da vam je Certbot prvi put pokrenut, zatražit će vam adresu e-pošte. Ta će se adresa upozoriti na vrijeme isteka vašeg certsa. Možete ih i jednostavno obnoviti s jednom naredbom.

$ sudo certbot obnoviti

Konfigurirajte Nginx

Nginx je lagan, ali moćan web poslužitelj. Služit će sučelje koje koristite za pristup Nextcloud-u. Postoji nekoliko konfiguracijskih datoteka povezanih s Nginxom. Prva je glavna konfiguracija koja se nalazi na /etc/nginx/nginx.conf. To je glavna konfiguracijska datoteka, ali ima solidne zadane vrijednosti. Možete se igrati s njim ako znate što radite, ali možete to ostaviti na miru i biti također u redu.

Sljedeća je konfiguracija mnogo duža i složenija. Srećom, ne morate sve to pisati. Nextcloud vragovi su već bili. Samo je morate modificirati. Konfiguracijska datoteka nalazi se na web mjestu Nextcloud . Uzmi onu za webroot Nginxa. Napravite novu datoteku na / etc / nginx / sites-available / nextcloud i zalijepite je u.

Nakon što imate datoteku, morate napraviti nekoliko jednostavnih izmjena. Prvo pronađite blok uzvodno i promijenite ga tako da izgleda ovako:

upstream php-handler {server unix: /run/php/php7.0-fpm.sock; }

Zatim ga pronađite bilo gdje na kojem piše "cloud.example.com" i promijenite ga u ime svoje domene.

Posljednje što trebate učiniti je usmjeriti Nginx na svoje SSL certs. Promijenite linije:

ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;

Do:

ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

To je to! Zatim ga trebate povezati kako bi ga Nginx mogao pronaći.

$ cd / etc / nginx / omogućeno web mjesta $ sudo ln -s / etc / nginx / web-mjesta / nextcoud nextcloud

Uklonite postojeću zadanu postavku koja je tu.

zadana vrijednost $ sudo rm

Ponovo pokrenite PHP i Nginx i moći ćete pristupiti Nextcloud!

$ sudo systemctl ponovno pokretanje php7.0-fpm $ sudo systemctl ponovno pokretanje nginx

Započnite Nextcloud

Otvorite web preglednik i pomaknite se do naziva svoje domene. Dočekat će vas zaslon za postavljanje Nextcloud. Napravite sebi administrativni račun i unesite podatke za račun baze podataka koji ste stvorili.

Nextcloud će vam trebati nekoliko minuta da se konfigurira i instalira. Kada se dovrši, bit ćete ubačeni u vašu novu nadzornu ploču Nextcloud. Od tamo možete stvoriti nove korisnike koji će osobama kojima vjerujete omogućiti novu pohranu u oblaku. Također možete početi prenositi datoteke odmah.

To je to! Sada imate svoj privatni oblak!

Stvorite vlastiti privatni oblak nextcloudom