Anonim

Shranjevanje v oblaku je odličen način za varovanje datotek v primeru, da se kaj zgodi in računalnik izgubi ali poškoduje. Pomaga vam lahko do datotek na cesti ali z dela in vam omogoča, da vse sinhronizirate v svojih napravah.

Hramba v oblaku ima eno pomembno pomanjkljivost. Nekemu podjetju morate zaupati vse svoje osebne datoteke. Kaj se zgodi, če se zlomijo? Ali so res vsi tako vredni zaupanja, ali vam grejo skozi stvari, ko ne gledate? To zagotovo ni mogoče vedeti.

Obstaja še ena možnost. S svojim Nextcloudom lahko gostite lastno shrambo v oblaku. Nextcloud je odprtokodna rešitev za shranjevanje v oblaku, ki vam omogoča, da ste lastno podjetje za shranjevanje v oblaku. Ima enostaven za uporabo in čisti vmesnik ter spremljajoče aplikacije za vse svoje naprave, zato se ne ukvarjate z nekaterimi vpadljivimi smeti.

Ta vodnik se bo osredotočil na gostovanje Nextclouda na VPS (Virtual Private Server), lahko pa ga zaženete tudi lokalno v domačem omrežju. Samo ne pričakujte, da boste do njega dostopali od zunaj, če niste nastavili posredovanja vrat ali ne uporabljate VPN-ja. Nekateri koraki bi bili nekoliko drugačni, zato vam ne bo treba kupovati domenskega imena ali postavljati SSL potrdil.

Izberite gostitelja

hitre povezave

  • Izberite gostitelja
  • Namestite, kar potrebujete
  • Nastavite požarni zid
  • Konfigurirajte SSH
    • SSH ključi
      • Windows
      • Mac in Linux
    • Onemogoči Root in gesla
  • Konfigurirajte svojo bazo podatkov
  • Konfigurirajte PHP
  • Pridobite Nextcloud
  • Ustvari SSL potrdila
  • Konfigurirajte Nginx
  • Začnite Nextcloud

Če predpostavljamo, da imate resnično rešitev v oblaku in želite, da so vaše datoteke dostopne prek spleta, morate nastaviti VPS, na katerem bo gostitelj Nextcloud. Tu je nekaj odličnih možnosti, zato izberite tisto, kar se vam zdi najboljše. Oglejte si Linode, DigitalOcean in Gandi, če še nimate v mislih gostitelja.

Ta vodnik bo uporabljal Debian 9 "Stretch" kot strežniški operacijski sistem. Debian je privzeto zelo stabilen in dokaj varen. Dobro ga podpira tudi večina gostujočih platform. Če vam bolj ustreza Ubuntu, se bo večina tega nanašala tudi tam neposredno, saj Ubuntu temelji na Debianu.

Morali boste dobiti tudi ime domene za vaš strežnik. Ker to ne bo javno spletno mesto, si lahko v resnici naredite karkoli želite. Postopek nakupa in povezovanja domenskega imena je za vsakega ponudnika gostiteljev in domen različen, zato preverite dokumentacijo, ki jo nudijo izbrane storitve.

Vse tukaj bo urejeno na daljavo iz ukazne vrstice Linux. Če ste na Macu ali Linuxu, lahko preprosto odprete terminal in uporabite SSH za dostop do svojega VPS. Če ste v operacijskem sistemu Windows, vzemite odjemalca SSH, kot je PuTTY .

Namestite, kar potrebujete

V tej sestavljanki je veliko kosov. Zdaj jih boste lahko tudi zgrabili, tako da imate od tega naprej vse, kar morate nadaljevati. Debian običajno nima privzetega nameščenega sudo-ja, zato ga najprej zagrabite in nastavite.

$ su -c 'apt namestite sudo'

Vnesite svoje korensko geslo in Sudo bo nameščen. Nato morate uporabnika dodati v skupino sudo.

$ su -c 'gpasswd - uporabniško ime sudo'

Zdaj lahko uporabite sudo. Morda se boste morali še enkrat prijaviti, če ne deluje takoj. Od tega trenutka naprej boste namesto tega uporabljali sudo, še posebej, ker boste iz varnostnih razlogov onemogočili korenske prijave.

Zdaj zgrabite vse iz Debianovih skladišč.

$ sudo apt namestite ufw mariadb-strežnik 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

Nastavite požarni zid

Vaš strežnik je v internetu. Nikakor ne gre, kar pomeni, da se boste morali spoprijeti z napadalci. Postavitev preprostega požarnega zidu bo pomagala preprečiti številne potencialne grožnje.

Namesto neposredne uporabe iptables lahko za zaščito sistema uporabite UFW (Nezapleteni požarni zid). Ima enostavnejšo skladnjo in z njim je veliko lažje delati.

Začnite z onemogočanjem vsega v požarnem zidu. S tem boste nastavili privzeti pravilnik za zavrnitev povezav z vsemi storitvami in pristanišči, s čimer boste zagotovili, da se napadalci ne bodo mogli povezati na pozabljenem pristanišču.

$ sudo ufw privzeto zavrne prihod

$ sudo ufw privzeto zavrne odhodne $ sudo ufw privzeto zavrne naprej

Nato lahko storite, če želite, da vam storitve dovolijo. V tem primeru potrebujete samo SSH in dostop do spleta. Prav tako boste želeli omogočiti NTP in DNS, da bo vaš strežnik lahko dobil posodobitve in nastavil uro.

$ sudo ufw dovoli v ssh $ sudo ufw dovoli ssh $ sudo ufw dovoli v http $ sudo ufw dovoli http $ sudo ufw dovoli v https $ sudo ufw dovoli https $ sudo ufw dovoli v ntp $ sudo ufw dovoli ntp $ sudo ufw dovoli v 53 $ sudo ufw dovoli 53 $ sudo ufw dovoli v 67 $ sudo ufw dovoli ven 67

Zdaj lahko zaženete požarni zid. Opozorilo vas bo na prekinitev SSH, vendar ste že dovolili SSH, tako da boste v redu.

$ sudo ufw enable

Konfigurirajte SSH

SSH je ena najpogosteje napadlih storitev na strežnikih Linux. To je prehod na vse ostalo na strežniku in je običajno zaščiteno le z geslom. Zato je pomembno zagotoviti, da vaš strežnik napadalcem prek SSH ni lahko dostopen.

SSH ključi

Najprej morate postaviti veliko varnejšo alternativo geslu, ključ SSH. Postopek je v operacijskem sistemu Windows drugačen kot pri Mac in Linuxu, zato sledite navodilom, ki ustrezajo namizju.

Windows

Tako kot v sistemu Windows, potrebujete še en program za dokončanje te preproste naloge. PuTTYgen je generator ključev RSA za PuTTY. Na voljo je na strani za prenos PuTTY . Prenesite ga in zaženite.

V oknu, ki se odpre, poimenujte svoj ključ in ustvarite geslo zanj. To je geslo, ki ga boste uporabili za prijavo v strežnik. Na dnu izberite SSH-2 RSA in nastavite velikost ključa vsaj 2048 bitov. 4096 je boljši, a 2048 bo nekoliko hitrejši. Nato ustvarite ključe in shranite javne in zasebne ključe. Končno kopirajte javni ključ, ki se prikaže na vrhu okna.

Za povezavo s strežnikom uporabite PuTTY. Odprite datoteko na ~ / .ssh / pooblaščeni ključi in prilepite ključ.

Nazaj v PuTTY poiščite SSH na stranskem meniju. Nato odprite »Auth.« V polju za ključ ključ poiščite mesto zasebnega ključa, ki ste ga pravkar shranili. Ko je vse v PuTTY nastavljeno za vaš strežnik, shranite sejo. Preden začnete, preverite, ali se s ključem povežete.

Mac in Linux

Uporabniki Maca in Linuxa imajo tukaj veliko lažjo pot. Začnite z generiranjem SSH ključa, če ga še nimate. Za ključ lahko ustvarite geslo. Izbirno je, tako da je to vaš klic.

$ ssh-keygen -b 4096 -t rsa

Zdaj samo pošljite ključ na vaš strežnik. Zamenjajte svoje uporabniško ime in IP strežnika.

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

To je to!

Onemogoči Root in gesla

Po nastavitvi ključa lahko gesla za SSH onemogočite. Brez skrbi, če nastavite ključ z geslom. To je nekaj drugega in to na to sploh ne bo vplivalo. Odprite konfiguracijsko datoteko SSH na / etc / ssh / sshd_config.

$ sudo nano / etc / ssh / sshd_config

Poiščite vrstico, ki se glasi:

#PermitRootLogin-geslo za prepoved

Spremenite ga v:

Št. Dovoljenja za dovoljenje

Nato poiščite dve vrstici:

#PasswordAuthentication yes #PermitEmptyPasswords št

Spremenite jih v:

PasswordAuthentication no PermitEmptyPasswords št

Končno poiščite:

UsePAM da

Naredi to:

UsePAM št

Shranite datoteko in jo zaprite. Nato znova zaženite SSH. To bi vas lahko začelo, zato se ponovno povežite, če se bo.

$ sudo systemctl znova zaženite sshd

Konfigurirajte svojo bazo podatkov

Naslednja stvar, ki jo boste morali narediti, je konfiguriranje baze podatkov. Tu res ni veliko vpletenih, zato ne skrbite preveč. Za dostop do Nextclouda morate samo nastaviti uporabniško in prazno bazo podatkov.

Za vas je dejansko primeren skript, s katerim lahko MariaDB nastavite in zaščitite. Zaženi najprej.

$ sudo mysql_secure_installation

Privzeto korensko geslo je prazno, zato ga ob vprašanju »vnese«. Nato vas bo pozval, da nastavite korensko geslo. Naredi to. Na vsako vprašanje, ki sledi, odgovorite z »da«.

V svojo bazo podatkov se lahko prijavite s korenskim geslom, ki ste ga pravkar nastavili.

$ sudo mysql -u root -p

Poziv se bo spremenil v MariaDB. To je konzola za upravljanje vašega strežnika baz podatkov. Začnite z ustvarjanjem nove baze podatkov. Tu se štejejo kapitalizacije.

USTVARJAJO PODATKOV naslednjič;

Nato naredite uporabnika za to bazo podatkov.

USTVARJATI UPORABNIK `nextcloud` @` localhost`, IDENTIFIKIRAN S "PasswordForUser";

Nato dodelite uporabniku dovoljenje za uporabo baze podatkov.

PODELITE VSE NA naslednjicloud. * DO `nextcloud` @` localhost`;

To je to! Zdaj lahko zapustite strežnik baz podatkov.

q

Konfigurirajte PHP

Nextcloud je napisan v PHP. Na Debian Stretch ste že namestili zadnjo različico PHP, skupaj s priponami PHP, ki jih Nextcloud potrebuje za pravilno delovanje. Še vedno morate narediti nekaj nastavitev vaše PHP konfiguracije, da boste lažje delali z Nginxom.

Resnično potrebuje le nekaj osnovnih varnostnih popravkov. To ni nič večjega, vendar bo pomagalo izboljšati varnost vašega strežnika.

Odprite /etc/php/7.0/fpm/php.ini s sudo in najljubšim urejevalnikom besedil.

Datoteka je množična, zato za iskanje po urejevalniku uporabite funkcijo iskanja urejevalnika. Če uporabljate Nano, je to Ctrl + W. Možnost pesti, ki jo morate najti, je onemogočanje funkcij. Na koncu dodajte phpinfo, sistem, pošto, exec.

Nato poiščite sql.safe_mode in ga vklopite. Nato nastavite dovoljenje_url_fopen. Na koncu datoteke dodajte naslednjo vrstico, jo shranite in zaprete.

register_globals = Izklopljeno

Pridobite Nextcloud

Nextcloud še ni na voljo kot paket za Debian, in to je v redu. Tega res ne potrebuješ. Podobno je z drugimi že vgrajenimi spletnimi aplikacijami PHP, kot je WordPress, in prihaja v stisnjenem arhivu, ki ga lahko izvlečete tam, kjer želite, da je Nextcloud nameščen.

Zdaj je zadnja stabilna izdaja Nextcloud, ko berete to, še enkrat preverite, kakšna je najnovejša različica za vas. Vodnik se bo skliceval na 12, vendar uporabljajte ne glede na najnovejši stabilni.

Spremenite se v imenik, kamor želite prenesti svoj arhiv Nextcloud. Nato spremenite v / var / www, da jo izvlečete.

$ 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

Če to berete v prihodnosti, lahko najdete povezavo za prenos na strani za namestitev strežnika Nextcloud.

Končno spremenite lastništvo svoje namestitve Nextcloud v www-data.

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

Ustvari SSL potrdila

Zahvaljujoč Certbotu je ustvarjanje SSL certifikatov zelo enostavno. Certbot bo samodejno ustvaril vaša potrdila SSL in jih postavil v spletni koren, za katero spletno mesto ste jih ustvarili. Izvesti morate samo en ukaz.

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

Ker je Certbot prvič predstavljen, bo zahteval e-poštni naslov. Ta naslov bo uporabil za opozorilo, ko bo vaš certifikat potekel. Lahko jih enostavno obnovite tudi z enim ukazom.

$ sudo certbot obnovi

Konfigurirajte Nginx

Nginx je lahek, a hkrati močan spletni strežnik. Služil bo vmesniku, ki ga uporabljate za dostop do Nextclouda. Z Nginxom je povezanih nekaj konfiguracijskih datotek. Prva je glavna konfiguracija, ki se nahaja na /etc/nginx/nginx.conf. To je glavna konfiguracijska datoteka, vendar ima solidne privzete vrednosti. Z njim se lahko igrate, če veste, kaj počnete, lahko pa ga pustite pri miru in bodite tudi v redu.

Naslednja konfiguracija je veliko daljša in bolj zapletena. K sreči vam ni treba vsega napisati. Nextcloud devs so že storili. Morate ga le spremeniti. Konfiguracijska datoteka se nahaja na spletnem mestu Nextcloud . Zgrabite tisto za spletno korenino Nginx. Ustvarite novo datoteko na / etc / nginx / sites-available / nextcloud in jo prilepite.

Ko imate datoteko, morate narediti nekaj preprostih sprememb. Najprej poiščite zgornji blok in ga spremenite tako, da je videti tako:

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

Nato poiščite kjer koli piše cloud.example.com in ga spremenite v svoje ime domene.

Zadnja stvar, ki jo morate storiti, je usmeriti Nginx na svoje SSL certs. Spremeni vrstice:

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

Za:

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

To je to! Nato jo morate povezati, da jo bo Nginx našel.

$ cd / etc / nginx / omogočena spletna mesta $ sudo ln -s / etc / nginx / spletna mesta na voljo / nextcoud nextcloud

Odstranite obstoječi privzeti tam.

$ sudo rm privzeto

Znova zaženite PHP in Nginx in lahko boste dostopali do Nextcloud-a!

$ sudo systemctl znova zaženite php7.0-fpm $ sudo systemctl ponovno zaženite nginx

Začnite Nextcloud

Odprite spletni brskalnik in se pomaknite do imena svoje domene. Pozdravljeni boste z zaslonom za nastavitev Nextcloud. Ustvarite si skrbniški račun in vnesite podatke za račun baze podatkov, ki ste ga ustvarili.

Nextcloud traja nekaj minut, da se konfigurira in namesti. Ko se konča, boste spuščeni v svojo novo nadzorno ploščo Nextcloud. Od tam lahko ustvarite nove uporabnike, da ljudem, ki jim zaupate, omogočite novo shrambo v oblaku. Prav tako lahko začnete nalagati datoteke takoj.

To je to! Zdaj imate svoj zasebni oblak!

Ustvarite svoj zasebni oblak z nextcloudom