Anonim

Cloudopbevaring er en fremragende måde at holde dine filer sikre på, hvis der sker noget, og din computer går tabt eller beskadiges. Det kan hjælpe dig med at få adgang til dine filer på vejen eller fra arbejde og hjælpe dig med at holde alt synkroniseret på tværs af dine enheder.

Skyopbevaring leveres dog med en stor ulempe. Du er nødt til at stole på noget firma med alle dine personlige filer. Hvad sker der, hvis de bliver hacket? Er de virkelig så pålidelige, eller går de igennem dine ting, når du ikke kigger? Det er ikke rigtig muligt at vide det med sikkerhed.

Der er en anden mulighed. Du kan være vært for din egen skyopbevaring med Nextcloud. Nextcloud er en open source cloud-opbevaringsløsning, der giver dig mulighed for at være dit eget cloud-lagerfirma. Det har en let at bruge og ren interface og ledsagende apps til alle dine enheder, så du ikke har at gøre med nogle hacket sammen junk.

Denne guide fokuserer på at være vært for Nextcloud på en VPS (Virtual Private Server), men du kan også køre den lokalt på dit hjemmenetværk. Bare forvent ikke at få adgang til det udefra, medmindre du konfigurerer portvideresendelse eller kører en VPN. Nogle af trinnene ville være lidt anderledes, og du behøver ikke at købe domænenavn eller konfigurere SSL-certifikater.

Vælg en vært

hurtige links

  • Vælg en vært
  • Installer det, du har brug for
  • Konfigurer din firewall
  • Konfigurer SSH
    • SSH-nøgler
      • vinduer
      • Mac og Linux
    • Afvis rod og adgangskoder
  • Konfigurer din database
  • Konfigurer PHP
  • Hent Nextcloud
  • Opret SSL-certifikater
  • Konfigurer Nginx
  • Start Nextcloud

Forudsat at du går med en ægte cloud-løsning og vil have dine filer tilgængelige via Internettet, skal du konfigurere en VPS til at være vært for Nextcloud på. Der er nogle gode muligheder derude, så vælg, hvad der synes bedst for dig. Tjek Linode, DigitalOcean og Gandi, hvis du ikke allerede har en vært i tankerne.

Denne vejledning bruger Debian 9 “Stretch” som serveroperativsystem. Debian er som standard meget stabil og temmelig sikker. Det understøttes også godt af de fleste hostingplatforme. Hvis du er mere komfortabel med Ubuntu, gælder det meste af dette også direkte der, da Ubuntu er baseret på Debian.

Du bliver også nødt til at få et domænenavn til din server. Da dette ikke bliver et offentligt sted, kan du virkelig gøre det til hvad du kan lide. Processen til at købe og sammenkæde et domænenavn er forskellig for enhver vært og domænenavnsudbyder, så sørg for at kontrollere dokumentationen leveret af de tjenester, du vælger.

Alt her skal håndteres eksternt fra Linux-kommandolinjen. Så hvis du er på Mac eller Linux, kan du bare åbne en terminal og bruge SSH til at få adgang til din VPS. HVIS du er på Windows, skal du gribe en SSH-klient som PuTTY .

Installer det, du har brug for

Der er mange stykker til dette puslespil. Du kan lige så godt gribe dem alle nu, så du har det, du har brug for, for at fortsætte herfra. Debian har normalt ikke sudo installeret som standard, så tag den først, og indstil den.

$ su -c 'apt install sudo'

Indtast din root-adgangskode, og Sudo bliver installeret. Derefter skal du tilføje din bruger til sudo-gruppen.

$ su -c 'gpasswd-et brugernavn sudo'

Nu kan du bruge sudo. Det kan være nødvendigt at du logger ind igen, hvis det ikke fungerer med det samme. Fra dette tidspunkt og fremover bruger du i stedet sudo, især da du vil deaktivere root-logins til sikkerhedsmæssige formål.

Tag nu alt fra Debians lagre.

$ 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 din firewall

Din server er på Internettet. Der er ingen vej omkring det, og det betyder, at du bliver nødt til at håndtere angribere. Opsætning af en simpel firewall vil hjælpe med at forhindre en masse potentielle trusler.

I stedet for at bruge iptables direkte, kan du bruge UFW (ukompliceret firewall) til at sikre dit system. Det har en enklere syntaks, og det er meget lettere at arbejde med.

Start med at deaktivere alt i firewall. Dette vil indstille standardpolitikken til at nægte forbindelser til alle tjenester og porte, og sikre, at angribere ikke kan oprette forbindelse til en glemt port.

$ sudo ufw standard nægter indgående

$ sudo ufw default afviser udgående $ sudo ufw default afviser fremad

Dernæst kan du fortælle ufw de tjenester, du vil have det tilladt. I dette tilfælde har du kun brug for SSH og webadgang. Du vil også ønske at aktivere NTP og DNS, så din server kan hente opdateringer og indstille sit ur.

$ sudo ufw tilladelse i ssh $ sudo ufw tilladt ud ssh $ sudo ufw tilladt i http $ sudo ufw tilladt ud http $ sudo ufw tilladt i https $ sudo ufw tilladt ud https $ sudo ufw tilladelse i ntp $ sudo ufw tilladt ud ntp $ sudo ufw tilladt i 53 $ sudo ufw tilladt 53 $ sudo ufw tilladt i 67 $ sudo ufw tilladt 67

Du kan starte din firewall nu. Det vil give dig en advarsel om at forstyrre SSH, men du har allerede tilladt SSH, så du har det godt.

$ sudo ufw aktivere

Konfigurer SSH

SSH er en af ​​de hyppigt angrebne tjenester på Linux-servere. Det er porten til alt andet på serveren, og det er normalt kun beskyttet med et kodeord. Derfor er det vigtigt at sikre dig, at din server ikke er let tilgængelig for angribere over SSH.

SSH-nøgler

Først skal du konfigurere et langt mere sikkert alternativ til en adgangskode, en SSH-nøgle. Processen er anderledes på Windows end på Mac og Linux, så følg instruktionerne, der passer til dit skrivebord.

vinduer

Som det er Windows måde, har du brug for endnu et program til at udføre denne enkle opgave. PuTTYgen er en RSA-nøglegenerator til PuTTY. Det er tilgængeligt fra PuTTY-downloadsiden . Download det, og kør det.

Navngiv din nøgle i det vindue, der åbnes, og opret en adgangskode til den. Det er den adgangskode, du vil bruge til at logge på din server. Vælg SSH-2 RSA i bunden og indstil en nøglestørrelse på mindst 2048 bit. 4096 er bedre, men 2048 vil være lidt hurtigere. Generer derefter dine nøgler, og gem både offentlige og private nøgler. Endelig skal du kopiere den offentlige nøgle, der vises øverst i vinduet.

Brug PuTTY til at oprette forbindelse til din server. Åbn en fil på ~ / .ssh / autoriserede_taster og indsæt din nøgle i.

Tilbage i PuTTY, find SSH i sidemenuen. Åbn derefter "Auth." I feltet til pivate-tasten skal du gennemse til placeringen af ​​den private nøgle, du lige har gemt. Når alt i PuTTY er konfigureret til din server, skal du gemme sessionen. Test det ud for at sikre dig, at du opretter forbindelse til din nøgle, inden du går videre.

Mac og Linux

Mac- og Linux-brugere har en meget lettere vej her. Start med at generere en SSH-nøgle, hvis du ikke allerede har en. Du har muligheden for at oprette en adgangskode til nøglen. Det er valgfrit, så det er dit opkald.

$ ssh-keygen -b 4096 -t rsa

Nu skal du bare sende din nøgle til din server. Udskift dit brugernavn og serverens IP-adresse.

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

Det er det!

Afvis rod og adgangskoder

Når du har konfigureret din nøgle, kan du deaktivere adgangskoder til SSH. Bare rolig, hvis du konfigurerer en nøgle med et kodeord. Det er noget andet, og det vil slet ikke påvirke det. Åbn SSH-konfigurationsfilen på / etc / ssh / sshd_config.

$ sudo nano / etc / ssh / sshd_config

Find den linje, der lyder:

#PermitRootLogin forby-adgangskode

Skift det til:

PermitRootLogin-nr

Find derefter de to linjer:

#PasswordAuthentication ja #PermitEmptyPasswords nej

Skift dem til:

PasswordAuthentication no PermitEmptyPasswords no

Endelig finder du:

UsePAM ja

Lav det:

UsePAM nr

Gem din fil, og luk den. Genstart derefter SSH. Dette sparker dig måske af, så tilslut igen, hvis det gør det.

$ sudo systemctl genstart sshd

Konfigurer din database

Den næste ting, du skal gøre, er at konfigurere din database. Der er virkelig ikke meget involveret her, så rol ikke for meget. Du skal bare oprette en bruger og en tom database for at Nextcloud skal få adgang.

Der er faktisk et praktisk script til at konfigurere og sikre MariaDB til dig. Kør det først.

$ sudo mysql_secure_installation

Standard root-adgangskoden er tom, så det "Enter", når du bliver spurgt. Den vil derefter bede dig om at konfigurere en root-adgangskode. Gøre det. Svar “Ja” på hvert spørgsmål, der følger.

Du kan logge ind i din database med den root-adgangskode, du lige har konfigureret.

$ sudo mysql -u rod -p

Spørgsmålet ændres til MariaDB. Dette er konsollen til styring af din databaseserver. Begynd med at oprette en ny database. Kapitalisering tæller her.

Opret DATABASE nextcloud;

Lav derefter en bruger til den database.

Opret BRUGER `nextcloud` @` localhost` IDENTIFICERET AF "PasswordForUser";

Giv derefter brugeren tilladelse til at bruge databasen.

TIL ALLE PÅ næstecloud. * TIL `næstecloud` @` localhost`;

Det er det! Du kan afslutte databaseserveren nu.

q

Konfigurer PHP

Nextcloud er skrevet i PHP. Du har allerede installeret den nyeste version af PHP tilgængelig på Debian Stretch sammen med PHP-udvidelser, som Nextcloud har brug for for at fungere rigtigt. Du skal stadig oprette et par justeringer til din PHP-konfiguration for at gøre det lettere at arbejde med Nginx.

Det har virkelig brug for nogle grundlæggende sikkerhedstips. Disse er ikke noget større, men de vil hjælpe med at forbedre sikkerheden på din server.

Åbn /etc/php/7.0/fpm/php.ini med sudo og din foretrukne teksteditor.

Filen er massiv, så brug din redaktørs søgefunktion til at navigere rundt. Hvis du har brugt Nano, er det Ctrl + W. Den næste indstilling, du har brug for, er deaktiverende_funktioner. Tilføj tilføj phpinfo, system, mail, exec, i slutningen.

Find derefter sql.safe_mode og tænd den. Sæt derefter allow_url_fopen fra. I slutningen af ​​filen skal du tilføje følgende linje, gemme og lukke den.

register_globals = Fra

Hent Nextcloud

Nextcloud er endnu ikke tilgængelig som en pakke til Debian, og det er okay. Du behøver virkelig ikke at det skal være det. Det er meget som andre forudbyggede PHP-webapplikationer, ligesom WordPress, og det kommer i et komprimeret arkiv, som du kan udpakke, hvor du vil have Nextcloud installeret.

I øjeblikket er den seneste stabile udgivelse Nextcloud, dobbelt-tjek, hvad den seneste version er for dig, når du læser dette. Vejledningen henviser til 12, men brug uanset hvad den seneste stabile er.

Skift til et bibliotek, hvor du vil hente dit Nextcloud-arkiv. Skift derefter til / var / www for at udpakke det.

$ 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

Hvis du læser dette i fremtiden, kan du finde downloadlinket på Nextcloud's serverinstallationsside .

Endelig skal du ændre ejerskabet af din Nextcloud-installation til www-data.

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

Opret SSL-certifikater

Oprettelse af dine SSL-certifikater er meget let takket være Certbot. Certbot genererer automatisk dine SSL-certifikater til dig og placerer dem i webroten på det websted, du opretter dem til. Du behøver kun at køre en enkelt kommando.

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

Da det er din første gang, der kører Certbot, vil det bede om en e-mail-adresse. Den vil bruge denne adresse til at advare dig, når dine certifikater er ved at udløbe. Du kan nemt fornye dem med en enkelt kommando også.

$ sudo certbot fornyelse

Konfigurer Nginx

Nginx er en let, men alligevel kraftig webserver. Det tjener det interface, du bruger til at få adgang til Nextcloud. Der er et par konfigurationsfiler tilknyttet Nginx. Den første er hovedkonfigurationen placeret på /etc/nginx/nginx.conf. Det er den vigtigste konfigurationsfil, men den har faste standarder. Du kan lege med det, hvis du ved, hvad du laver, men du kan lade det være alene og være helt fin også.

Den næste konfiguration er meget længere og mere kompleks. Heldigvis behøver du ikke skrive det hele. Nextcloud-devs gjorde allerede. Du skal bare ændre det. Konfigurationsfilen er placeret på Nextclouds websted . Grib den til webgin af Nginx. Opret en ny fil på / etc / nginx / sites-available / nextcloud, og indsæt den i.

Når du først har filen, skal du foretage et par enkle ændringer. Først skal du finde opstrømsblokken og ændre den til at se sådan ud:

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

Find derefter hvor som helst, der står på cloud.example.com, og skift det til dit domænenavn.

Den sidste ting, du skal gøre, er at pege Nginx på dine SSL-certifikater. Skift linjer:

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! Derefter skal du linke det, så Nginx kan finde det.

$ cd / etc / nginx / sites-aktiveret $ sudo ln -s / etc / nginx / sites-tilgængelig / nextcoud nextcloud

Fjern den eksisterende standard, der er der.

$ sudo rm standard

Genstart PHP og Nginx, så får du adgang til Nextcloud!

$ sudo systemctl genstart php7.0-fpm $ sudo systemctl genstart nginx

Start Nextcloud

Åbn din webbrowser og naviger til dit domænenavn. Du bliver mødt med Nextcloud-opsætningsskærmen. Opret dig selv en admin-konto, og indtast oplysningerne for den databasekonto, du oprettede.

Nextcloud vil tage flere minutter at konfigurere sig selv og installere. Når det er færdigt, bliver du smidt ind i dit nye Nextcloud betjeningspanel. Derfra kan du oprette nye brugere, så folk, du har tillid til, får adgang til dit nye cloud-lager. Du kan også begynde at uploade filer med det samme.

Det er det! Du har nu din egen private sky!

Opret din egen private sky med nextcloud