Cloud lagring er en utmerket måte å holde filene dine trygge i tilfelle noe skulle skje og datamaskinen din går tapt eller skadet. Det kan hjelpe deg med å få tilgang til filene dine på veien eller fra jobb, og hjelper deg med å holde alt synkronisert på tvers av enhetene dine.
Skylagring har imidlertid en stor ulempe. Du må stole på noe selskap med alle dine personlige filer. Hva skjer hvis de blir hacket? Er de virkelig så pålitelige, eller går de gjennom tingene dine når du ikke ser? Det er egentlig ikke mulig å vite det med sikkerhet.
Det er et annet alternativ. Du kan være vert for din egen skylagring med Nextcloud. Nextcloud er en open source skylagringsløsning som lar deg være ditt eget skylagringsfirma. Det har et brukervennlig og rent grensesnitt og tilhørende apper for alle enhetene dine, slik at du ikke har å gjøre med noe hacket sammen søppel.
Denne guiden kommer til å fokusere på å være vert for Nextcloud på en VPS (Virtual Private Server), men du kan også kjøre den lokalt på hjemmenettverket ditt. Bare ikke forvent å få tilgang til den utenfra med mindre du konfigurerer portvideresending eller kjører en VPN. Noen av trinnene vil være litt forskjellige, og du trenger ikke å kjøpe domenenavn eller sette opp SSL-sertifikater.
Velg en vert
Hurtigkoblinger
- Velg en vert
- Installer det du trenger
- Konfigurer brannmuren
- Konfigurer SSH
- SSH-nøkler
- Windows
- Mac og Linux
- Ikke tillat rot og passord
- SSH-nøkler
- Konfigurer databasen
- Konfigurer PHP
- Få Nextcloud
- Lag SSL-sertifikater
- Konfigurer Nginx
- Start Nextcloud
Forutsatt at du går med en ekte skyløsning og vil ha filene tilgjengelige over nettet, må du konfigurere en VPS for å være vert for Nextcloud på. Det er noen gode alternativer der ute, så velg det som virker best for deg. Sjekk ut Linode, DigitalOcean og Gandi, hvis du ikke allerede har en vert i tankene.
Denne guiden skal bruke Debian 9 “Stretch” som serveroperativsystem. Debian er superstabil og ganske sikker som standard. Det støttes også godt av de fleste vertsplattformer. Hvis du er mer komfortabel med Ubuntu, vil mesteparten av dette gjelde direkte der også, siden Ubuntu er basert på Debian.
Du vil også trenge å få et domenenavn for serveren din. Siden dette ikke skal være et offentlig nettsted, kan du virkelig lage det du vil. Prosessen for å kjøpe og knytte et domenenavn er forskjellig for hver leverandør av verts- og domenenavn, så husk å sjekke dokumentasjonen levert av tjenestene du velger.
Alt her kommer til å bli håndtert eksternt fra Linux-kommandolinjen. Så hvis du er på Mac eller Linux, kan du bare åpne en terminal og bruke SSH for å få tilgang til VPS-en. HVIS du er på Windows, kan du ta en SSH-klient som PuTTY .
Installer det du trenger
Det er mange brikker for dette puslespillet. Du kan like godt ta tak i dem alle nå, så du har det du trenger for å fortsette herfra. Debian har vanligvis ikke sudo installert som standard, så ta tak i det først, og sett det opp.
$ su -c 'apt install sudo'
Skriv inn root-passordet ditt, og Sudo blir installert. Deretter må du legge til brukeren din i sudo-gruppen.
$ su -c 'gpasswd-et brukernavn sudo'
Nå kan du bruke sudo. Du må kanskje logge deg på igjen hvis det ikke fungerer umiddelbart. Fra dette tidspunktet og fremover bruker du sudo i stedet, spesielt siden du vil deaktivere root-pålogginger for sikkerhetsformål.
Nå, ta tak i alt fra Debians depoter.
$ sudo apt installere 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
Konfigurer brannmuren
Serveren din er på Internett. Det er ingen vei rundt det, og det betyr at du trenger å takle angripere. Å sette opp en enkel brannmur vil bidra til å forhindre mange potensielle trusler.
I stedet for å bruke iptables direkte, kan du bruke UFW (Uncomplicated Firewall) for å sikre systemet ditt. Den har enklere syntaks, og det er mye lettere å jobbe med.
Begynn med å deaktivere alt i brannmuren. Dette vil sette standardpolitikken for å nekte tilkoblinger til alle tjenester og porter, og sikre at angriperne ikke kan koble til på en glemt port.
$ sudo ufw standard nekter innkommende
$ sudo ufw default nekter utgående $ sudo ufw default benekter fremover
Deretter kan du fortelle ufw tjenestene at du vil at det skal tillates. I dette tilfellet trenger du bare SSH og nettadgang. Du vil også ønske å aktivere NTP og DNS slik at serveren din kan hente oppdateringer og stille klokken.
$ sudo ufw tillate i ssh $ sudo ufw tillate ut ssh $ sudo ufw tillate i http $ sudo ufw tillate ut http $ sudo ufw tillate på https $ sudo ufw tillate ut https $ sudo ufw tillate i ntp $ sudo ufw tillate ut ntp $ sudo ufw tillate inn 53 $ sudo ufw tillate ut 53 $ sudo ufw tillate i 67 $ sudo ufw tillate ut 67
Du kan starte opp brannmuren din nå. Det vil gi deg en advarsel om å forstyrre SSH, men du har allerede tillatt SSH, så du vil være i orden.
Konfigurer SSH
SSH er en av de mest angrepne tjenestene på Linux-servere. Det er porten til alt annet på serveren, og det er vanligvis bare beskyttet med et passord. Derfor er det viktig å sørge for at serveren din ikke er lett tilgjengelig for angripere over SSH.
SSH-nøkler
Først må du sette opp et mye sikrere alternativ til et passord, en SSH-nøkkel. Prosessen er annerledes på Windows enn på Mac og Linux, så følg instruksjonene som passer til skrivebordet ditt.
Windows
Som på Windows-måten, trenger du enda et program for å fullføre denne enkle oppgaven. PuTTYgen er en RSA-nøkkelgenerator for PuTTY. Det er tilgjengelig fra PuTTY nedlastingsside . Last ned den, og kjør den.
Navngi nøkkelen i vinduet som åpnes og opprett et passord for den. Det er passordet du vil bruke for å logge på serveren din. På bunnen velger du SSH-2 RSA og angir en nøkkelstørrelse på minst 2048 biter. 4096 er bedre, men 2048 vil være litt raskere. Deretter genererer du nøklene dine, og lagrer både de offentlige og private nøklene. Til slutt kopierer du den offentlige nøkkelen som vises øverst i vinduet.
Bruk PuTTY for å koble til serveren din. Åpne en fil på ~ / .ssh / autorisert_tastene og lim inn nøkkelen din.
Tilbake i PuTTY, finn SSH på sidemenyen. Åpne deretter "Auth." I feltet for pivate-tasten, bla til stedet for den private nøkkelen du nettopp lagret. Når alt i PuTTY er konfigurert for serveren din, lagrer du økten. Test den ut for å forsikre deg om at du kobler til nøkkelen før du går videre.
Mac og Linux
Mac- og Linux-brukere har en mye enklere vei her. Start med å generere en SSH-nøkkel, hvis du ikke allerede har en. Du har muligheten til å opprette et passord for nøkkelen. Det er valgfritt, så det er samtalen din.
$ ssh-keygen -b 4096 -t rsa
Nå er det bare å sende nøkkelen til serveren din. Sett inn brukernavnet og IP-en til serveren.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub
Det er det!
Ikke tillat rot og passord
Etter at nøkkelen er konfigurert, kan du deaktivere passord for SSH. Ikke bekymre deg hvis du setter opp en nøkkel med et passord. Det er noe annerledes, og dette vil ikke påvirke det i det hele tatt. Åpne SSH-konfigurasjonsfilen på / etc / ssh / sshd_config.
$ sudo nano / etc / ssh / sshd_config
Finn linjen som lyder:
#PermitRootLogin forbyr passord
Endre det til:
PermitRootLoginr
Neste, finn de to linjene:
#PasswordAuthentication ja #PermitEmptyPasswords no
Endre dem til:
PassordAuthentication no PermitEmpty Passord no
Til slutt, finn:
UsePAM ja
Klare det:
BrukPAM-nr
Lagre filen din, og lukk den. Start SSH på nytt. Dette kan sparke deg, så koble til igjen hvis det gjør det.
$ sudo systemctl start sshd på nytt
Konfigurer databasen
Det neste du trenger å gjøre er å konfigurere databasen. Det er virkelig ikke mye involvert her, så ikke bekymre deg for mye. Du trenger bare å sette opp en bruker og en tom database for at Nextcloud skal få tilgang.
Det er faktisk et praktisk skript å sette opp og sikre MariaDB for deg. Kjør den først.
$ sudo mysql_secure_installation
Standardrotpassordet er tomt, så det "Enter" når du blir spurt. Deretter ber du deg om å sette opp et root-passord. Gjør det. Svar "Ja" på alle spørsmål som følger.
Du kan logge deg på databasen med root-passordet du nettopp konfigurerte.
$ sudo mysql -u root -p
Spørsmålet blir endret til MariaDB. Dette er konsollen for administrasjon av databaseserveren. Begynn med å opprette en ny database. Kapitalisering teller her.
Lage DATABASE nextcloud;
Lag deretter en bruker for den databasen.
SKAP BRUKER `nextcloud` @` localhost` IDENTIFISERT AV "PasswordForUser";
Gi deretter brukeren tillatelse til å bruke databasen.
TIL ALL PÅ nextcloud. * TIL `nextcloud` @` localhost`;
Det er det! Du kan avslutte databaseserveren nå.
Konfigurer PHP
Nextcloud er skrevet i PHP. Du har allerede installert den siste versjonen av PHP tilgjengelig på Debian Stretch sammen med PHP-utvidelsene som Nextcloud trenger for å fungere riktig. Du må fremdeles lage et par justeringer til PHP-konfigurasjonen for at det skal fungere lettere med Nginx.
Den trenger egentlig bare noen grunnleggende sikkerhetsinnstillinger. Dette er ikke noe viktig, men de vil bidra til å forbedre sikkerheten til serveren din.
Åpne /etc/php/7.0/fpm/php.ini med sudo og favoritttekstredigereren.
Filen er massiv, så bruk redaktørens søkefunksjon for å navigere rundt. Hvis du har brukt Nano, er det Ctrl + W. Det første alternativet du trenger å finne er disable_functions. Legg til legg phpinfo, system, mail, exec, på slutten.
Finn deretter sql.safe_mode og slå den på. Deretter setter du allow_url_fopen av. På slutten av filen legger du til følgende linje, lagrer og lukker den.
Få Nextcloud
Nextcloud er ikke tilgjengelig som pakke for Debian ennå, og det er OK. Du trenger virkelig ikke at det skal være det. Det er mye som andre forhåndsbygde PHP-nettapplikasjoner, som WordPress, og den kommer i et komprimert arkiv som du kan hente ut der du vil at Nextcloud skal installeres.
Som for øyeblikket er den siste stabile utgivelsen Nextcloud, dobbeltsjekke hva den siste versjonen er for deg når du leser dette. Guiden vil referere til 12, men bruk hva den nyeste stallen er.
Endre til en katalog der du vil laste ned Nextcloud-arkivet. Bytt deretter til / var / www for å trekke det ut.
$ cd ~ / Nedlastinger $ 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
Hvis du leser dette i fremtiden, kan du finne nedlastingslenken på Nextcloud sin serverinstallasjonsside .
Endelig, endre eierforholdet til Nextcloud-installasjonen til www-data.
$ sudo chown -R www-data: www-data / var / www / nextcloud
Lag SSL-sertifikater
Det er veldig enkelt å opprette SSL-sertifikater takket være Certbot. Certbot vil automatisk generere SSL-sertifikater for deg og plassere dem i webroten til hvilket nettsted du oppretter dem til. Du trenger bare å kjøre en enkelt kommando.
$ sudo certbot certonly --webroot -w / var / www / nextcloud -d ditt-domain.com -d www.your-domain.com
Siden det er første gang du kjører Certbot, vil den be om en e-postadresse. Den vil bruke den adressen til å advare deg når sertifikatene dine er i ferd med å utløpe. Du kan enkelt fornye dem med en enkelt kommando også.
Konfigurer Nginx
Nginx er en lett, men likevel kraftig webserver. Det kommer til å tjene grensesnittet du bruker for å få tilgang til Nextcloud. Det er et par konfigurasjonsfiler tilknyttet Nginx. Den første er hovedkonfigurasjonen som ligger på /etc/nginx/nginx.conf. Det er hovedkonfigurasjonsfilen, men den har solide standardverdier. Du kan leke med det hvis du vet hva du gjør, men du kan la det være i fred og være helt fin også.
Den neste konfigurasjonen er mye lengre og mer kompleks. Heldigvis trenger du ikke skrive alt. Nextcloud-devsene gjorde det allerede. Du trenger bare å endre det. Konfigurasjonsfilen ligger på Nextcloud sin side . Ta tak i den til nettstammen til Nginx. Lag en ny fil på / etc / nginx / sites-available / nextcloud, og lim den inn.
Når du har filen, må du gjøre et par enkle endringer. Først, finn oppstrømsblokken og endre den slik at den ser slik ut:
oppstrøms php-handler {server unix: /run/php/php7.0-fpm.sock; }
Finn deretter hvor som helst der det står cloud.example.com og endre det til domenenavnet ditt.
Det siste du trenger å gjøre er å peke Nginx til SSL-sertifikatene dine. Endre linjene:
ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;
Til:
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
Det er det! Deretter må du koble den slik at Nginx kan finne den.
$ cd / etc / nginx / sites-enabled $ sudo ln -s / etc / nginx / sites-available / nextcoud nextcloud
Fjern eksisterende standard som er der.
$ sudo rm standard
Start PHP og Nginx på nytt, så får du tilgang til Nextcloud!
$ sudo systemctl restart php7.0-fpm $ sudo systemctl restart nginx
Start Nextcloud
Åpne nettleseren din og naviger til domenenavnet ditt. Du blir møtt med konfigurasjonsskjermen til Nextcloud. Opprett deg en admin-konto og legg inn informasjonen for databasekontoen du opprettet.
Nextcloud vil ta flere minutter å konfigurere seg selv og installere. Når det er ferdig, blir du slengt inn i det nye Nextcloud-dashbordet. Derfra kan du opprette nye brukere som lar folk du stoler på, til den nye skylagringen din. Du kan også begynne å laste opp filer med en gang.
Det er det! Du har nå din egen private sky!
