Anonim

Saugojimas debesyje yra puikus būdas saugoti failus, jei kas nors nutiktų ir jūsų kompiuteris būtų pamestas ar sugadintas. Tai gali padėti jums pasiekti savo failus kelyje ar iš darbo ir padeda viską sinchronizuoti visuose jūsų įrenginiuose.

Debesų saugykla turi vieną svarbų trūkumą. Turite pasitikėti kai kuriomis įmonėmis visais savo asmeniniais failais. Kas nutiks, jei jie bus nulaužti? Ar tikrai jie visi yra patikimi, ar jie išgyvena tavo reikalus, kai tu nežiūri? Tikrai to neįmanoma žinoti.

Yra dar vienas variantas. Savo „debesies saugyklą“ galite priglobti naudodami „Nextcloud“. „Nextcloud“ yra atvirojo kodo debesų saugyklos sprendimas, kuris leidžia jums būti savo debesų saugyklos įmone. Jis turi lengvai naudojamą ir švarią sąsają bei kartu su visais jūsų įrenginiais esančias programas, todėl jūs neturite reikalų su kai kuriomis nulaužtomis šiukšlėmis.

Šiame vadove pagrindinis dėmesys bus skiriamas „Nextcloud“ prieglobai VPS (virtualiame privačiame serveryje), tačiau jūs galite ją paleisti ir savo namų tinkle. Tik nesitikėkite, kad prie jo prieisite iš išorės, nebent nustatėte prievado peradresavimą ar naudojate VPN. Kai kurie veiksmai bus šiek tiek kitokie, ir jums nereikės pirkti domeno vardo ar nustatyti SSL sertifikatų.

Pasirinkite pagrindinį kompiuterį

Greitos nuorodos

  • Pasirinkite pagrindinį kompiuterį
  • Įdiekite tai, ko jums reikia
  • Nustatykite užkardą
  • Konfigūruokite SSH
    • SSH raktai
      • „Windows“
      • „Mac“ ir „Linux“
    • Neleisti šaknies ir slaptažodžių
  • Konfigūruokite savo duomenų bazę
  • Konfigūruokite PHP
  • Gaukite „Nextcloud“
  • Sukurkite SSL sertifikatus
  • Konfigūruokite „Nginx“
  • Pradėkite „Nextcloud“

Darant prielaidą, kad jūs naudojate tikrą debesies sprendimą ir norite, kad failai būtų pasiekiami internete, turite nustatyti VPS, kad būtų galima valdyti „Nextcloud“. Yra keletas puikių variantų, todėl išsirinkite tai, kas jums atrodo geriausia. Peržiūrėkite „ Linode“, „ DigitalOcean“ ir „ Gandi“, jei dar neturite omenyje pagrindinio kompiuterio.

Šiame vadove ketinama naudoti „Debian 9“ „Stretch“ kaip serverio operacinę sistemą. „Debian“ yra labai stabili ir gana saugi pagal numatytuosius nustatymus. Tai taip pat gerai palaiko dauguma prieglobos platformų. Jei jums labiau patinka „Ubuntu“, dauguma to bus taikoma ir ten, nes „Ubuntu“ yra „Debian“ pagrindas.

Jūs taip pat turėsite gauti savo serverio domeno vardą. Kadangi tai nebus vieša svetainė, tikrai galite padaryti tai, kas jums patinka. Domeno vardo pirkimo ir susiejimo procesas skiriasi kiekvienam pagrindinio kompiuterio ir domeno vardo teikėjui, todėl būtinai patikrinkite pasirinktų paslaugų teikiamą dokumentaciją.

Viskas čia bus tvarkoma nuotoliniu būdu iš „Linux“ komandinės eilutės. Taigi, jei naudojate „Mac“ ar „Linux“, galite tiesiog atidaryti terminalą ir naudoti SSH norėdami pasiekti savo VPS. Jei naudojate „Windows“, patraukite tokį SSH klientą kaip „ PuTTY“ .

Įdiekite tai, ko jums reikia

Prie šio galvosūkio yra daugybė gabalų. Taip pat galite dabar juos visus patraukti, taigi turite tai, ko jums reikia tęsti iš čia. Paprastai „Debian“ pagal nutylėjimą neįdiegia sudo, todėl pirmiausia suimkite ir nustatykite.

$ su -c 'apt install sudo'

Įveskite pagrindinį slaptažodį ir „Sudo“ bus įdiegta. Tada jūs turite įtraukti savo vartotoją į sudo grupę.

$ su -c 'gpasswd - vartotojo vardas sudo'

Dabar galite naudoti sudo. Jei neveikia iškart, gali tekti vėl prisijungti. Nuo to laiko vietoj to naudosite sudo, ypač todėl, kad saugos tikslais ketinate išjungti pagrindinius prisijungimus.

Dabar paimkite viską iš „Debian“ saugyklų.

$ sudo apt install 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

Nustatykite užkardą

Jūsų serveris yra internete. Tai nėra kitaip, ir tai reiškia, kad jums reikės kovoti su užpuolikais. Nustatydami paprastą ugniasienę padėsite išvengti daugybės galimų grėsmių.

Užuot tiesiogiai naudodami „iptables“, galite naudoti UFW (nesudėtingą ugniasienę), kad apsaugotumėte savo sistemą. Jo sintaksė paprastesnė ir su juo dirbti daug lengviau.

Pradėkite išjungdami viską užkardoje. Tai nustatys numatytąją politiką, kad būtų atmetami ryšiai su visomis paslaugomis ir prievadais, užtikrinant, kad užpuolikai negalėtų prisijungti prie pamiršto uosto.

$ sudo ufw pagal nutylėjimą atmeta gaunamus duomenis

$ sudo ufw numatytasis neigimas išeinantis $ sudo ufw numatytasis neigimas pirmyn

Toliau galite pasakyti „ufw“ paslaugoms, kurias norite leisti. Tokiu atveju jums reikia tik SSH ir prieigos prie interneto. Taip pat norėsite įgalinti NTP ir DNS, kad jūsų serveris galėtų gauti naujinius ir nustatyti savo laiką.

$ sudo ufw leisti per ssh $ sudo ufw leisti per ssh $ sudo ufw leisti į http $ sudo ufw leisti ne http $ sudo ufw leisti į https $ sudo ufw leisti https $ sudo ufw leisti į ntp $ sudo ufw leisti iš ntp $ sudo „ufw“ leidžiama su 53 USD „sudo“

Galite paleisti ugniasienę dabar. Tai įspės jus apie SSH trikdymą, bet jūs jau leidote SSH, todėl jums viskas bus gerai.

$ sudo ufw įjungti

Konfigūruokite SSH

SSH yra viena iš dažniausiai užpultų paslaugų „Linux“ serveriuose. Tai vartai į visa kita serveryje esančius vartus, ir paprastai jie yra apsaugoti tik slaptažodžiu. Štai kodėl svarbu įsitikinti, kad jūsų serveris nėra lengvai prieinamas užpuolikams per SSH.

SSH raktai

Pirmiausia turite nustatyti daug saugesnę slaptažodžio, SSH rakto, alternatyvą. „Windows“ procesas skiriasi nei „Mac“ ir „Linux“, todėl vykdykite instrukcijas, kurios tinka jūsų darbalaukiui.

„Windows“

Kaip ir „Windows“ būdas, norint atlikti šią paprastą užduotį, reikia dar vienos programos. „PuTTYgen“ yra „PuTTY“ pagrindinis RSA generatorius. Tai galima rasti „ PuTTY“ atsisiuntimo puslapyje . Atsisiųskite jį ir paleiskite.

Atsidariusiame lange pavadinkite savo raktą ir sukurkite jo slaptažodį. Tai slaptažodis, kurį naudosite prisijungdami prie savo serverio. Apačioje pasirinkite SSH-2 RSA ir nustatykite bent 2048 bitų rakto dydį. 4096 yra geresnis, bet 2048 bus šiek tiek greitesnis. Tada sugeneruokite savo raktus ir išsaugokite viešuosius ir asmeninius raktus. Galiausiai nukopijuokite viešąjį raktą, rodomą lango viršuje.

Norėdami prisijungti prie savo serverio, naudokite „PuTTY“. Atidarykite failą, esantį ~ / .ssh / authorised_keys, ir įklijuokite savo raktą.

Atgal į „PuTTY“, šoniniame meniu raskite SSH. Tada atidarykite „Auth“. Pilato mygtuko lauke suraskite ką tik išsaugoto asmeninio rakto vietą. Kai „PuTTY“ viskas bus nustatyta jūsų serveriui, išsaugokite sesiją. Išbandykite, kad įsitikintumėte, jog jungiatės su savo raktu prieš judėdami toliau.

„Mac“ ir „Linux“

„Mac“ ir „Linux“ vartotojams čia yra kur kas lengvesnis kelias. Pradėkite sugeneruodami SSH raktą, jei jo dar neturite. Turite galimybę sukurti rakto slaptažodį. Tai neprivaloma, todėl tai yra jūsų skambutis.

$ ssh-keygen -b 4096 -t rsa

Dabar tiesiog atsiųskite raktą į savo serverį. Pakeiskite savo vartotojo vardą ir serverio IP.

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

Viskas!

Neleisti šaknies ir slaptažodžių

Kai nustatysite raktą, galėsite neleisti SSH slaptažodžių. Nesijaudinkite, jei nustatysite raktą su slaptažodžiu. Tai yra kažkas kito, ir tai visai neturės įtakos. Atidarykite SSH konfigūracijos failą aplanke / etc / ssh / sshd_config.

$ sudo nano / etc / ssh / sshd_config

Raskite šią eilutę:

#PermitRootLogin uždrausti slaptažodį

Pakeiskite jį į:

„PermitRootLogin“ Nr

Toliau raskite dvi eilutes:

#PasswordAuthentication taip #PermitEmptyPasswords no

Pakeiskite juos į:

„PasswordAuthentication no PermitEmptyPasswords“ Nr

Pagaliau raskite:

„UsePAM“ taip

Padaryti tai:

„UsePAM“ Nr

Išsaugokite failą ir uždarykite jį. Tada paleiskite SSH iš naujo. Tai gali jus nublokšti, todėl, jei atsitiks, vėl prisijunkite.

$ sudo systemctl paleisti sshd

Konfigūruokite savo duomenų bazę

Kitas dalykas, kurį jums reikės padaryti, yra sukonfigūruoti duomenų bazę. Čia tikrai nedaug dalyvauja, todėl nesijaudinkite per daug. Jums tereikia nustatyti vartotojo ir tuščią duomenų bazę, kad „Nextcloud“ galėtų pasiekti.

Iš tikrųjų yra patogus scenarijus, kaip nustatyti ir apsaugoti „MariaDB“. Pirmiausia paleiskite.

$ sudo mysql_secure_installation

Numatytasis šakninis slaptažodis yra tuščias, todėl paprašytas „Enter“. Tada jūsų paprašys nustatyti pagrindinį slaptažodį. Padaryti, kad. Atsakykite „Taip“ į kiekvieną sekantį klausimą.

Galite prisijungti prie savo duomenų bazės naudodami pagrindinį slaptažodį, kurį ką tik nustatėte.

$ sudo mysql -u root -p

Raginimas pasikeis į „MariaDB“. Tai yra jūsų duomenų bazės serverio valdymo pultas. Pradėkite kurdami naują duomenų bazę. Čia skaičiuojama didžiosios raidės.

CREATE DATABASE nextcloud;

Tada sukurkite tos duomenų bazės vartotoją.

CREATE USER `nextcloud` @` localhost`, IDENTIFIKUOTAS „PasswordForUser“;

Tada suteikite vartotojui leidimą naudoti duomenų bazę.

SUTEIKTI VISUS „nextcloud“. * TO `nextcloud` @` localhost`;

Viskas! Dabar galite išeiti iš duomenų bazės serverio.

q

Konfigūruokite PHP

„Nextcloud“ parašytas PHP. Jūs jau įdiegėte naujausią „PHP“ versiją, pasiekiamą „Debian Stretch“, kartu su PHP plėtiniais, kuriuos „Nextcloud“ reikia tinkamai naudoti. Vis tiek turite atlikti keletą pakeitimų savo PHP konfigūracijoje, kad jis lengviau veiktų su Nginx.

Tam tikrai reikia tam tikrų pagrindinių saugumo pataisų. Tai nėra nieko esminio, tačiau jie padės pagerinti jūsų serverio saugumą.

Atidarykite /etc/php/7.0/fpm/php.ini naudodami sudo ir savo mėgstamą teksto rengyklę.

Failas yra didelis, todėl naršykite naudodami redaktoriaus paieškos funkciją. Jei jūs naudojote „Nano“, tai „Ctrl + W“. Pirmasis variantas, kurį jums reikia rasti, yra „invalid_functions“. Pabaigoje pridėkite „phpinfo“, sistemą, paštą, „Exe“.

Tada suraskite „sql.safe_mode“ ir įjunkite. Tada nustatykite „luba_url_fopen“. Failo pabaigoje pridėkite šią eilutę, išsaugokite ir uždarykite.

register_globals = Išjungta

Gaukite „Nextcloud“

„Nextcloud“ dar nėra kaip „Debian“ paketas, ir viskas gerai. Jums tikrai to nereikia. Tai labai panašu į kitas iš anksto sukurtas PHP žiniatinklio programas, pvz., „WordPress“, ir yra suglaudintame archyve, kurį galite išskleisti ten, kur norite įdiegti „Nextcloud“.

Šiuo metu naujausias stabilus leidimas yra „Nextcloud“, dar kartą patikrinkite, kokia yra naujausia versija jums, kai jūs skaitote tai. Vadovas nurodys 12, tačiau naudokite bet kokį naujausią stabilų.

Pakeiskite į katalogą, kuriame norite atsisiųsti „Nextcloud“ archyvą. Tada pakeiskite į / var / www, kad jį išgautumėte.

$ cd ~ / Atsisiunčiama $ programėlė 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

Jei ateityje skaitote tai, atsisiuntimo nuorodą galite rasti „Nextcloud“ serverio diegimo puslapyje .

Galiausiai pakeiskite „Nextcloud“ diegimo nuosavybę į „www-data“.

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

Sukurkite SSL sertifikatus

„Certbot“ dėka labai lengva sukurti savo SSL sertifikatus. „Certbot“ automatiškai sugeneruos jūsų SSL pažymėjimus jums ir įdės juos į bet kurios svetainės, kuriai juos kuriate, žiniatinklio šaknį. Jums reikia paleisti tik vieną komandą.

$ sudo certbot certonly - webroot -w / var / www / nextcloud -d jūsų-domenas.com -d www.jūsų-domenas.com

Kadangi pirmą kartą naudojate „Certbot“, ji paprašys nurodyti el. Pašto adresą. Šis adresas bus naudojamas įspėti jus, kai baigsis jūsų pažymėjimų galiojimo laikas. Juos lengvai atnaujinsite ir viena komanda.

$ sudo certbot atnaujinimas

Konfigūruokite „Nginx“

„Nginx“ yra lengvas, tačiau galingas interneto serveris. Tai aptarnaus sąsają, kurią naudojate norėdami pasiekti „Nextcloud“. Yra keletas konfigūracijos failų, susijusių su „Nginx“. Pirmasis yra pagrindinė konfigūracija, esanti /etc/nginx/nginx.conf. Tai yra pagrindinis konfigūracijos failas, tačiau jame yra numatytųjų reikšmių. Galite žaisti su juo, jei žinote, ką darote, tačiau galite palikti jį ramybėje ir taip pat puikiai.

Kita konfigūracija yra daug ilgesnė ir sudėtingesnė. Laimei, jums nereikia viso to rašyti. „Nextcloud“ devai jau padarė. Jums tereikia jį modifikuoti. Konfigūracijos failas yra „ Nextcloud“ svetainėje . Paimkite tai, kas skirta „Nginx“ žiniatinklio programai. Sukurkite naują failą aplanke / etc / nginx / site-available / nextcloud ir įklijuokite jį.

Kai turėsite failą, turėsite atlikti keletą paprastų pakeitimų. Pirmiausia suraskite aukštupio bloką ir pakeiskite jį taip, kad atrodytų taip:

aukščiau esančio „php-handler“ {server unix: /run/php/php7.0-fpm.sock; }

Tada raskite bet kur, kur parašyta cloud.example.com, ir pakeiskite jį į savo domeno vardą.

Paskutinis dalykas, kurį turite padaryti, tai nurodyti Nginx į savo SSL pažymėjimus. Pakeiskite eilutes:

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

Kam:

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

Viskas! Toliau turite jį susieti, kad „Nginx“ galėtų jį rasti.

$ cd / etc / nginx / site-enabled $ sudo ln -s / etc / nginx / sites-available / nextcoud nextcloud

Pašalinkite esamą numatytąją.

$ sudo rm numatytasis

Iš naujo paleiskite PHP ir Nginx, ir galėsite pasiekti Nextcloud!

$ sudo systemctl paleisti php7.0-fpm $ sudo systemctl paleisti iš naujo nginx

Pradėkite „Nextcloud“

Atidarykite savo interneto naršyklę ir eikite į savo domeno vardą. Jus pasveikins „Nextcloud“ sąrankos ekranas. Sukurkite sau administratoriaus abonementą ir įveskite savo sukurtos duomenų bazės paskyros informaciją.

„Nextcloud“ užtruks keletą minučių, kad sukonfigūruotų save ir įdiegtų. Kai jis baigsis, būsite įleistas į savo naująjį „Nextcloud“ prietaisų skydelį. Iš čia galite sukurti naujus vartotojus, kad žmonės, kuriais pasitikite, galėtų naudotis jūsų nauja debesies saugykla. Taip pat galite nedelsdami pradėti siųsti failus.

Viskas! Dabar jūs turite savo asmeninį debesį!

Sukurkite savo asmeninį debesį naudodami „nextcloud“