Ingen gillar att få slut på gratis molnlagring. Att se den aviseringen från Google Foton eller iCloud som varnar dig om att du har slut på utrymme kan sätta en dämpare på din exotiska sengångare till Sydamerika. Men för oss gör-det-själv-typer och hemmakare finns det en lösning om du är villig att smutsa ner händerna.
Vi presenterar Nextcloud
Nextcloud är en gratis molnlagringsplattform med öppen källkod som lägger kraften och flexibiliteten i molnet i dina händer. Den stöder flera populära Linux-distributioner, som Red Hat Enterprise Linux 9 och Ubuntu 24.04 LTS. I den här artikeln kommer vi att använda Ubuntu Server 24.04.1 och Nextcloud Hub 9 (30.0.0) för att bygga en högpresterande, helt anpassningsbar molnlagringsserver. Några av stegen som visas här kan kräva lite bakgrundskunskap om Linux-serveradministration och kommandoradsgränssnittet, så sätt på din tankemössa och gör dig redo att bli teknisk!
Konfigurera servern
För att börja konfigurera en Nextcloud-server behöver du en ny installation av Ubuntu Server på ett system som du väljer. En virtuell maskin på din huvuddator eller vilken reservhårdvara du har liggande kommer förmodligen att göra susen! Vi rekommenderar en dator med minst 2-4 CPU-kärnor, 8 gigabyte RAM och 500 GB lagringsutrymme. När du har fått ditt system klart, skaffa Ubuntu Server genom att besöka denna länk: https://ubuntu.com/download/server .
Om du aldrig har installerat Ubuntu Server tidigare, kolla in deras guide innan du börjar: https://ubuntu.com/tutorials/install-ubuntu-server . Var noga med att inte välja alternativet att förinstallera Nextcloud på den rekommenderade mjukvarusidan, eftersom vi tar hand om det själva.
När du har fått din server på nätverket, gett den ett värdnamn och loggat in med användarnamnet och lösenordet som du skapade under den första installationen, hämta de senaste programuppdateringarna för Ubuntu Server genom att skriva "sudo apt update && sudo apt upgrade -y" i konsolen och tryck enter. Starta om servern efter att uppdateringarna har slutförts med hjälp av "sudo omstart".
Obs: Du kan behöva ange ditt lösenord igen för att utföra sudo-kommandon.
Installera programvaran
Därefter måste vi ta tag i en del av den nödvändiga programvaran som vår Nextcloud-instans beror på. Skriv (eller helst kopiera och klistra in) följande kommandon i ditt kommandoradsgränssnitt för att ladda ner och installera Apache-webbservern och några paket du behöver senare för mer avancerade Nextcloud-inställningar:
sudo apt installera apache2 mariadb-server php libapache2-mod-php redis-server libmagickcore-6.q16-7-extra
sudo apt installera php-apcu php-bcmath php-bz2 php-cli php-common php-curl php-gd php-gmp php-image php-intl php-ldap php-mbstring php-memcachad php-mysql- är php-mysql- smbclient php-zip php-xml
Om du uppmanas att skriva Y eller N för att fortsätta eller stoppa installationen, skriv Y och tryck på Retur. Skriv slutligen "wget https://download.nextcloud.com/server/releases/latest.zip” för att få den senaste versionen av Nextcloud och använda "sudo apt install unzip" för att installera uppackningsverktyget måste vi extrahera dessa filer.
Nu när vi har all nödvändig programvara för att ställa in vår Nextcloud-instans, låt oss undersöka webbservern vi installerade.
Konfigurera Apache webbserver – del 1
Innan vi börjar bråka med Apache måste vi först se till att vi kan ansluta till servern ordentligt. För att tillåta webbläsaranslutningar (HTTP och HTTPS) till Nextcloud-instansen, använd följande kommandon:
sudo ufw tillåter i "Apache Full"
sudo ufw aktivera
Du bör nu ha en fungerande och tillgänglig webbserver på din Ubuntu Server! På en annan dator ansluten till samma nätverk som din Nextcloud-maskin, skriv in IP-adressen till din server i ett webbläsarfönster och tryck på enter. Om du inte kommer ihåg vad serverns IP-adress är, använd "värdnamn -I" kommandot på din server för att visa det. Om din installation lyckades bör du se standardsidan för Apache2 visas i all ära!
Även om vissa kanske säger att den här standardwebbserversidan är ganska snygg, kommer vi att ersätta den med något ännu bättre i del två. Låt oss ta en snabb omväg och ställa in MariaDB nu!
Konfigurera MariaDB
Vår Nextcloud-server kommer att behöva en alltid online-databas för att lagra serverkonfiguration och användarprofilinformation. För att konfigurera MariaDB att köras efter att systemet har startat om, skriv "sudo systemctl aktivera mariadb" och tryck enter. Nu är vi redo att förbereda databasen för vår Nextcloud-installation!
Lyckligtvis kommer MariaDB förpackat med ett säkert installationsverktyg, så vi behöver inte göra mycket tunga lyft. Använda "sudo mysql_secure_installation" för att starta den och svara på frågorna från guiden.
- Ange nuvarande lösenord för root (skriv in för ingen): klicka på enter
- Byt till unix_socket-autentisering [Y/n] n
- Ändra root-lösenordet? n
- Ta bort anonyma användare? [J / n] y
- Tillåt root login på distans? [J / n] y
- Ta bort testdatabasen och få tillgång till den? [Y/n] y
MariaDB är nu säker, och vi kan börja skapa en databas för att tjäna vår Nextcloud-instans.
Typ "sudo mysql -u root" och ange dessa kommandon när MySQL kommandoradsgränssnitt visas (och se till att använda ";" i slutet av varje rad!):
SKAPA ANVÄNDARE 'nextcloud'@'localhost' IDENTIFIERAD AV 'P@$$w0rd';
Obs: Byt ut "nextcloud" och "P@$$w0rd" med ett användarnamn och lösenord som du väljer.
SKAPA DATABAS OM INTE FINNS nextcloud TECKENSETT utf8mb4 SAMLA utf8mb4_general_ci;
GE ALLA PRIVILEGIER PÅ nextcloud.* TILL 'nextcloud'@'localhost';
Obs: Återigen, ersätt "nextcloud" före @-symbolen med användarnamnet du tidigare använde.
FLUSH PRIVILEGES;
sluta;
Vi närmar oss! Vi har nu en fungerande (men inte färdig) webbserver och databas.
Aktivera PHP-tilläggen och förbättra PHP-prestanda
Kommer du ihåg alla PHP-tillägg vi installerade? Vi måste aktivera dem för att säkerställa att Nextcloud kan använda dem på rätt sätt. Använd det här kommandot för att aktivera de nödvändiga PHP-tilläggen:
sudo phpenmod apcu bcmath bz2 curl gd gmp imagick intl ldap mbstring memcached mysql redis smbclient zip xml
Nu när rätt tillägg har aktiverats måste vi justera några PHP-inställningar för att bättre passa våra behov. PHP-konfigurationsfilen vi ska redigera finns på "/etc/php/8.3/apache2/php.ini" och kan ändras genom att placera "sudo nano" framför stigen och trycker på enter. Om du har installerat en annan version av PHP, ändra "8.3" till huvudversionsnumret för din installerade version, som kan erhållas genom att sätta "php -v" i konsolen.
När du väl har öppnat "php.ini" fil med nano, Ubuntus inbyggda textredigerare, håll ned kontrolltangenten (ctrl) och tryck på "W"-tangenten på ditt tangentbord. När sökfältet visas, skriv in "max_execution_time", och tryck enter. Nano hoppar sedan till den första matchningen den hittar med värdet du angav. Använd piltangenterna för att navigera och backstegstangenten för att ta bort tecken, ändra "30" till "360". Upprepa detta trick för att ändra värdena för följande PHP-inställningar:
memory_limit = 512M
- Kan valfritt utökas för att ge PHP mer minne om det behövs (1024M, 2048M, etc.)
post_max_size = 100G
upload_max_filesize = 100G
- Det här värdet och det föregående värdet representerar den maximala filstorleken du kan ladda upp till din Nextcloud-server. Ändra dem till önskad maximal filstorlek. (1G = 1 gigabyte, 10G = 10 gigabyte, 100G = 100 gigabyte, etc.) Var noga med att endast sätta storlekar i K (kilobyte), M (megabyte) och G (gigabyte).
date.timezone = Amerika/New_York
- Ta bort ";" före raden och använd den här guiden för att bestämma din rätta tidszon: https://www.php.net/manual/en/timezones.php
opcache.enable=1
- Ta bort ";" före raden.
opcache.memory_consumption=128
- Ta bort ";" före raden. Detta värde, i megabyte, kan anpassas för att passa mängden minne du har i din Nextcloud-server (128 = 128 megabyte, 1024 = 1024 megabyte/1 gigabyte, 2048 = 2048 megabyte/2 gigabyte).
opcache.interned_stringers_buffer=16
- Ta bort ";" före raden. Representerar mängden minne som allokerats för internerade strängar i megabyte, rekommenderat värde är 16.
opcache.max_accelerated_files=10000
- Ta bort ";" före raden. Detta värde kan justeras till valfritt antal mellan 200 och 1000000 för att passa ditt systems cachning och minneskapacitet.
opcache.revalidate_freq=1
- Ta bort ";" före rad och byt till 1.
opcache.save_comments=1
- Ta bort ";" före rad och validera att värdet är satt till 1.
Efter att du har slutfört alla nödvändiga ändringar av php.ini-filen, spara filen genom att hålla ned Ctrl-tangenten (ctrl) och trycka på "O"-tangenten. Tryck på enter för att bekräfta, och håll nere Ctrl (ctrl) igen och tryck på "X"-tangenten för att avsluta nano.
Aktivera sedan fler nödvändiga Apache-moduler genom att gå in "sudo a2enmod dir env headers mime rewrite ssl" i konsolen. Du behöver inte starta om Apache med kommandot som föreslås av konsolmeddelandet vid det här laget.
Konfigurera Apache webbserver – del 2
Även om vi har laddat ner Nextcloud och ställt in många av dess mjukvaruförutsättningar, måste vi fortfarande ersätta Apaches standardwebbsida med Nextcloud. Typ "cd ~" i konsolen och tryck på enter, så att vi återgår till vår användares hemkatalog. Det var här Nextcloud ZIP-filen laddades ner. Skriv nu "packa upp senaste.zip" tryck på enter och se uppackningsverktyget ryta!
Smakämnen "senaste.zip" ZIP-filen är nu extraherad till en mapp som heter "nästa moln" i samma katalog som den laddades ner från. Den här nya mappen innehåller allt nödvändigt material som behövs för Nextcloud-webbplatsen. Nu ska vi börja flytta den här mappen till sitt rätta hem, "/var/www/html".
Innan mappen kan transporteras måste vi se till att den inbyggda "www-data" användaren är ägaren till den nya katalogen. Detta är oerhört viktigt eftersom "www-data" användaren hanterar alla webbserveroperationer som utförs av Apache-webbservern och Nextcloud själv. Typ "sudo chown -R www-data:www-data ./nextcloud" i konsolen och tryck enter.
Nu när den "www-data" användaren äger mappen, vi kan flytta den utan dröjsmål. Använda “sudo mv ./nextcloud /var/www/html” för att flytta mappen till rätt katalog.
Vi kan nu inaktivera Apaches standardwebbserversida genom att gå in "sudo a2dissite 000-default.conf" in i konsolen. Ignorera varningen om att ladda om Apache-servern igen och skapa en virtuell värdfil för den nya webbplatsen genom att skriva "sudo nano /etc/apache2/sites-available/nextcloud.conf" och trycker på enter. Innehållet i den virtuella värdfilen ska skrivas exakt enligt följande:
DocumentRoot /var/www/html/nextcloud/ Servernamn nextcloud-demo.moose.local Kräv alla beviljade AllowOverride All Options FollowSymLinks MultiViews Dav av
ersätta "nextcloud-demo.moose.local" med det fullt kvalificerade domännamnet (FQDN) för servern du installerade Nextcloud på. Den första delen av FQDN är serverns värdnamn som du skapade tidigare, vilket kan visas med hjälp av "värdnamn" kommandot i konsolen. Den andra och tredje delen av namnet är domänen respektive toppdomänen. Till exempel om din domän var “storagereview.com” och din servers värdnamn var "nästa moln", då skulle din servers FQDN vara “nextcloud.storagereview.com”.
Om du inte äger en domän kan du köpa en från en registrar som Cloudflare med hjälp av https://www.cloudflare.com/products/registrar/ eller använd ett gratis allmänt tillgängligt värdnamn från webbplatser som https://www.noip.com/ . Om du inte vill köpa en domän eller använda ett gratis värdnamn kan du placera ett fiktivt FQDN i detta fält, med varningen att du bara kan använda serverns IP-adress (offentlig och privat) för att ansluta till Nextcloud-instansen.
Obs: För att använda FQDN för servern för att lokalt komma åt din Nextcloud-instans måste du ha en korrekt konfigurerad DNS-server som körs på ditt hemnätverk. Annars måste du använda serverns lokala IP-adress när du kommer åt den från ditt hemnätverk.
När du har skrivit färdigt den virtuella värdfilen och ersatt exemplet FQDN med din servers FQDN (legitima eller på annat sätt), kan du äntligen aktivera Nextcloud-webbplatsen genom att använda "sudo a2ensite nextcloud.conf" och "sudo systemctl starta om apache2" för att starta om webbservern med den nya webbplatsen. Navigera till din Nextcloud-instans med en webbläsare på en annan dator som finns i samma nätverk via serverns FQDN eller dess lokala IP-adress.
Initial installation av Nextcloud
Om du har följt de föregående stegen korrekt kommer du att mötas av en sida som ber dig skapa en administratörsanvändare för webbplatsen och fylla i några detaljer om din Nextcloud-server. Ge administratörsanvändaren ditt önskade namn, till exempel administratör eller superadmin, och ett starkt lösenord.
Ange i avsnittet "Lagring och databas" på inställningssidan "/var/www/html/nextcloud/data" i fältet "Datamapp" och kontots användarnamn, lösenord och databasnamn du använde när du skapade MariaDB-databasen. Ange för fältet "Databasvärd". "lokal värd" och klicka på installationsknappen när du är klar.
Webbplatsen laddas en kort stund och ger dig sedan möjlighet att installera flera rekommenderade appar för din Nextcloud-server. Var medveten om att om du lägger till fler appar till din Nextcloud-instans kommer serverns bearbetningsbelastning, minnesanvändning och total diskanvändning att öka. Välj om du vill installera de rekommenderade apparna eller hoppa över det här steget.
Efter att apparna har installerats färdigt eller nästa sida har dykt upp kan du läsa igenom introduktionsmenyn om du vill.
Det ser ut som att Nextcloud-servern är klar, men vi har ytterligare ett steg för att få servern att fungera: att ställa in ett cron-jobb för att utföra regelbundet schemalagda uppgifter på servern.
Skapa ett Cron-jobb
Ett cron-jobb är ett kommando som körs regelbundet utan användarinblandning. Vår Nextcloud-server behöver ett cron-jobb för att anropa serverns "cron.php" skript var 5:e minut för optimal prestanda och funktionalitet.
För att ställa in detta cron-jobb, ange kommandot "sudo crontab -u www-data -e" i serverns konsol.
När "www-data" användarens crontab öppnas, lägg till följande rad längst ner i filen:
*/5 * * * * php -f /var/www/nextcloud/cron.php
När du är klar, håll in kontroll (ctrl)-tangenten och tryck på "O"-tangenten för att spara filen, och håll ned kontroll (ctrl) och tryck på "X"-tangenten för att avsluta. Grattis! Du har nu en fungerande Nextcloud-server tillgänglig på ditt lokala nätverk! Du kan börja ladda upp och ladda ner filer till och från din Nextcloud-server på ditt hemnätverk nu, men för att få det att lysa måste vi förbättra dess säkerhet, lägga till några homelab-favoritappar, ställa in ett blixtrande snabbt minnescachesystem och göra den är tillgänglig från det offentliga internet.
Förbättra din Nextcloud-servers säkerhet
Ett av de bästa sätten att öka din webbservers säkerhetsställning är att uppgradera till HTTPS över okrypterad och osäker HTTP. När det är aktiverat kommer förfrågningar att skickas över TLS 1.3, den senaste och säkraste krypteringsstandarden för webbanslutningar. Detta är ett nödvändigt steg när du planerar att exponera en webbplats för det offentliga Internet och är ett utmärkt första steg när du skyddar känslig information.
När du väl har bestämt dig för att kryptera din Nextcloud-trafik finns det två alternativ för att ställa in HTTPS att välja mellan: att använda ett självsignerat certifikat eller att använda ett certifikat från en giltig certifikatutfärdare. Om du för närvarande inte äger en domän eller inte har för avsikt att konfigurera en för en tillfällig Nextcloud-instans rekommenderar vi att du använder ett självsignerat certifikat eller ett från en värdnamnsleverantör. Om du planerar att ha en mer permanent Nextcloud-installation rekommenderar vi starkt att du skaffar ett offentligt pålitligt certifikat från en certifikatutfärdare som Let's Encrypt.
HTTPS med ett självsignerat certifikat
För att aktivera och skapa ett självsignerat certifikat måste du utfärda några enkla kommandon:
sudo a2enmod ssl
sudo openssl req -x509 -noder -dagar 365 -newkey rsa:2048 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt
Nu när vi har aktiverat Apache SSL-modulen (även känd som TLS) och skapat det självsignerade certifikatet, måste vi instruera webbplatsen att aktivera TLS och använda certifikatet. Typ "sudo nano /etc/apache2/sites-available/nextcloud.conf" och tryck på enter för att börja redigera den virtuella värdfilen igen.
Lägg till följande rader längst ner i din virtuella värdfil exakt enligt följande, men ersätt fältet "ServerName" med det fullständiga domännamnet för din server:
DocumentRoot /var/www/html/nextcloud/ Servernamn nextcloud-demo.moose.local SSLEngine på SSLCertificateFile /etc/ssl/certs/nextcloud-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/nextcloud-selfsigned.key. Kräv alla beviljade AllowOverride All Options FollowSymLinks MultiViews Dav av
Håll kontroll (ctrl) och tryck på "O"-tangenten för att spara filen, och håll ned kontroll (ctrl) och tryck på "X"-tangenten för att avsluta nano. För att tillämpa dessa ändringar på Apache-webbservern, använd "sudo systemctl starta om apache2" kommando. Du bör nu ha aktiverat HTTPS med ett självsignerat certifikat!
Nästa gång du besöker din webbplats genom att skriva in serverns fullständigt kvalificerade domännamn eller IP-adress bör du se en varning som informerar dig om att webbplatsens certifikatutfärdare inte är giltig. Fortsätt förbi det här felet (metoden kommer att variera beroende på din webbläsare) och visa webbplatsen. Webbläsaren har automatiskt anslutit med HTTPS och skickar data med TLS-kryptering.
HTTPS med ett pålitligt certifikat
För att kunna använda ett pålitligt certifikat för Nextcloud måste du först äga en domän eller ha ett signerat certifikat från en värdnamnsleverantör. Om du tidigare använde ett självsignerat certifikat och följde stegen i föregående avsnitt för att aktivera HTTPS, ta bort den del av texten som lagts till längst ned i filen och kör kommandona “sudo a2dismod ssl” och "sudo systemctl starta om apache2". Kom ihåg att använda kontroll + "O" och kontroll + "X" för att spara och avsluta nano när du är klar.
HTTPS-konfiguration för domänägare (via Certbot)
Nu när den virtuella värdfilen är tillbaka till en standard HTTP-konfiguration kan vi börja förbereda oss för att använda ett pålitligt certifikat från en certifikatutfärdare. Om du äger en domän, följ dessa steg för att skaffa och implementera ett certifikat. Om inte, hoppa till nästa avsnitt, som beskriver hur du använder ett certifikat som erhållits från en värdnamnsleverantör. För att skaffa ett certifikat som används med din egen domän kommer vi att använda Certbot från Let's Encrypt, en ideell organisation som tillhandahåller gratis certifikat för användning i webbservrar.
För att ladda ner Certbot, installera och uppdatera Snap först med hjälp av "sudo snap install core && sudo snap refresh core". Skriv sedan "sudo snap install -classic certbot" (två hypen i rad före "klassisk") för att installera paketet.
Kör kommandot “sudo certbot –apache” (igen, två hypen före "apache") för att starta certbot, och följ alla uppmaningar för att skapa och ladda ner ditt webbcertifikat.
Processen för att skapa certifikat kommer att kräva information såsom en e-postadress som används för att kontakta domänägaren, och be dig att godkänna villkoren som krävs av Let's Encrypt. Ange eller välj det domännamn som du skaffar ett certifikat för när du uppmanas att göra det, och avsluta den interaktiva processen. Om du stöter på fel när du använder Certbot kan du behöva aktivera portvidarebefordran på din router för portarna 80 och 443 till din Nextcloud-servers privata IP-adress eller konfigurera din domäns DNS-poster så att de pekar på din routers offentliga IP-adress. Processen för portvidarebefordran och DNS-postinställning är starkt beroende av din router, domänregistrator och internetleverantör och omfattas därför inte av den här guiden.
När Certbot är klar öppnar du den virtuella värdfilen igen genom att skriva "sudo nano /etc/apache2/sites-available/nextcloud.conf" och trycker på enter. Lägg till följande rader precis ovanför header för att möjliggöra omskrivning av HTTP-URL:er som HTTPS, och ersätt "nextcloud-demo.moose.local" med din servers fullt kvalificerade domännamn:
RewriteEngine på RewriteCond %{SERVER_NAME} = nextcloud-demo.moose.local RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Den färdiga virtuella värdfilen ska se ut så här när den är klar:
Du bör nu vara inställd med ett pålitligt certifikat från en giltig certifikatutfärdare och HTTPS-kryptering redo för webben!
HTTPS-inställning med ett certifikat från en värdnamnsleverantör
Stegen för att använda ett certifikat från en värdnamnsleverantör för att aktivera HTTPS på din Nextcloud-server är identiska med de som tas upp i avsnittet "HTTPS med ett självsignerat certifikat" som finns i den här artikeln, med det enda undantaget att du måste ersätta sökvägen till de självsignerade nycklarna med en sökväg till nycklarna från din värdnamnsleverantör. Kommandon som "wget" och "mv" kan användas för att ladda ner och flytta certifikatfilerna till rätt kataloger (/etc/ssl/certs för certifikatfilen och /etc/ssl/private för nyckelfilen). Se till att aktivera Apache SSL-modulen med “sudo a2enmod ssl” kommando och användning "sudo systemctl starta om apache2" när du är klar för att tillämpa dina ändringar. Den färdiga virtuella värdfilen för att använda certifikatfiler bör se ut så här (med fälten SSLCertificateFile och SSLCertificateKeyFile ersatta med sökvägar till dina anpassade certifikat och nyckelfiler):
Installera Antivirus for Files-appen
Även om Nextcloud kan överföra data säkert över HTTPS, betyder det inte att allt du eller dina användare laddar upp är säkert. Oavsett om det är avsiktligt eller oavsiktligt kan infektioner med skadlig programvara på webbservrar orsaka enorm skada och spridas som en löpeld till andra system om de inte tas om hand snabbt. För ytterligare ett lager av skydd mot dåliga aktörer på internet är ett antivirusprogram ett måste för servrar som är tillgängliga från internet.
ClamAV är en gratis antivirussvit med öppen källkod som kan integreras med Nextcloud för att skanna filer som laddas upp av användare efter skadlig kod. Nextclouds appbutik har en app som heter "Antivirus för filer" som använder ClamAV som backend för att skanna användarfiler och skydda din server. Den här appen kan laddas ner genom att navigera till fliken "Appar" genom att klicka på ditt administratörskontos profilbild och välja kategorin "Säkerhet".
Klicka på knappen "Ladda ner och aktivera" i avsnittet "Antivirus för filer" för att installera det på din Nextcloud-instans. Därefter måste vi installera ClamAV och aktivera skanner- och malware-signaturuppdateringssystemet. Använda "sudo apt installera clamav clamav-daemon" för att få alla nödvändiga ClamAV-paket.
När paketen har installerats, kör "sudo dpkg-reconfigure clamav-daemon" i konsolen för att få fram en interaktiv konfigurationsmeny. Vi kommer att använda detta för att anpassa skanningsbeteendet för vår ClamAV-installation.
Ange följande svar på frågorna nedan:
- Hantera konfigurationsfilen automatiskt? Ja
- Typ av sockel: UNIX
- Lokal (UNIX) socket clamd kommer att lyssna på: /var/run/clamav/clamd.ctl
- Gruppägare av clamd local (UNIX) uttag: clamav
- Skapande läge för clamd local (UNIX) socket: 666
- Hantera överblivna UNIX-socketfiler elegant? Ja
- Vill du aktivera e-postskanning? Nej
- Vill du aktivera arkivskanning? Nej
- Du kan välja "Ja" för denna prompt, men ytterligare konfiguration krävs om du väljer att göra det. Se ClamAV-dokumentationen för mer information: https://docs.clamav.net/manual/Installing/Packages.html#the-packages
- Maximalt katalogdjup som kommer att tillåtas: 15
- Vill du att demonen ska följa vanliga filsymlänkar? Ja
- Timeout för att stoppa trådskannern (sekunder): 180
- Antal trådar för demonen: 2
- Subtrahera 2 från antalet kärnor/vCPU:er som din Nextcloud-server har och ange det numret i det här fältet.
- Antal väntande anslutningar tillåtna: 15
- Vill du använda systemloggaren? Nej
- Loggfil för clamav-daemon (skriv ingen för att inaktivera): /var/log/clamav.log
- Vill du logga tidsinformation med varje meddelande? Nej
- Om en stor mängd diskskrivningar inte är skadligt för ditt system, välj "Ja" istället.
- Vill du aktivera loggrotation? Ja
- Fördröjning i sekunder mellan demonens självkontroller: 3600
- Användare för att köra clamav-daemon som: clamav
- Grupper för clamav-daemon (mellanrumsseparerad): www-data som
- Vill du ladda bytecode från databasen? Ja
- Säkerhetsnivå att tillämpa på bytekoden: TrustSsigned
- Tidsgräns för körning av bytekod i millisekunder: 60000
Oj! Det var mycket konfigurering! Som tur är för oss behöver vi bara göra det en gång. Använda "systemctl aktivera clamav-freshclam" och "systemctl aktivera clamav-daemon" för att låta ClamAV starta efter att systemet har startat, och vi kan börja konfigurera Nextcloud-appen "Antivirus för filer".
Använd en webbläsare på en annan dator ansluten till samma nätverk och undernät som din Nextcloud-server, logga in på Nextcloud och klicka på din adminanvändares profilbild. Klicka på alternativet "Administrationsinställningar" i rullgardinsmenyn och välj avsnittet "Säkerhet" efter att sidan har laddats klart.
Rulla ner till avsnittet "Antivirus för filer" och ändra fältet "Läge" till "ClamAV Daemon (Socket)". Ändra fältet "När infekterade filer hittas under en bakgrundsskanning" till "Ta bort fil" och tryck på knappen "Spara". ClamAV kommer med jämna mellanrum att skanna filer som laddats upp till Nextcloud efter skadlig programvara och radera filer som matchar kända skadliga signaturer.
Nextcloud-integrationer och allmänna förbättringar
Nu när vi har byggt en funktionell och säker molnserver för lagring av data kan vi utöka dess möjligheter och lägga till nya funktioner. Låt oss börja med att ta hand om lite lågt hängande frukt: ansluta Nextcloud till en e-postserver och ställa in standardtelefonregionen.
Ansluta en e-postserver
För att skicka e-postmeddelanden, aktivitetsvarningar och länkar för återställning av lösenord (för icke-LDAP-användare) måste Nextcloud vara ansluten till en fungerande e-postserver. Om du själv är värd för din e-postserver är installationen lika enkel som att ange rätt serveradress och autentiseringsinformation. Du kan också använda en e-postserver från tredje part med en e-postadress du redan har, till exempel Gmails SMTP-server.
Navigera till din Nextcloud-servers fullt kvalificerade domännamn eller IP-adress med hjälp av en webbläsare på en dator på samma nätverk och undernät som din server. Klicka på din adminanvändares profilbild och välj "Administrationsinställningar" från rullgardinsmenyn.
På sidan "Administrationsinställningar" väljer du avsnittet "Grundinställningar" från vänster sida och scrollar ned till modulen "E-postserver".
Från den här sidan kan du konfigurera din e-postservers inställningar för kryptering, adressering och autentisering. Du kan välja några krypterings- och autentiseringsmetoder för att passa dina säkerhets- eller kompatibilitetsbehov.
För att använda Gmails SMTP-server med ett Google-konto som du redan äger, navigera först till https://myaccount.google.com/apppasswords och skapa ett applösenord genom att följa instruktionerna på webbplatsen. Ge ditt applösenord ett namn som är kopplat till din Nextcloud-server och lagra ditt lösenord på en säker plats. Observera att lösenordet visas med mellanslag vart fjärde tecken, men att det faktiskt inte innehåller dessa mellanslag. Applösenord är strängar med sexton kontinuerliga bokstäver.
Fyll i följande e-postserverfält enligt listan nedan:
- Skicka läge: SMTP-
- kryptering: Inga/STARTTLS
- Från adress: johndoe @ storagereview.com
- Ange din Gmail-kontoadress här.
- Serveradress: smtp.gmail.com: 587
- Authentication: Ja (kryssrutan)
- Referenser: [e-postskyddad] applösenord här
- Ange din Gmail-kontoadress och applösenordet du skapade här.
När du är klar, klicka på knappen "Spara" och använd knappen "Skicka e-post" för att verifiera att din konfiguration är giltig.
Om du inte redan har angett en e-postadress för administratörsanvändarkontot du använder kommer du att få en varning som ber dig att göra det. Detta kan enkelt lösas genom att klicka på din adminanvändares profilbild, välja "Personliga inställningar" från rullgardinsmenyn och skriva din e-postadress i fältet "E-post". När du är klar, återgå till modulen "E-postserver" under "Grundinställningar" på sidan "Administrationsinställningar" och återgå till konfigurationen om det behövs.
Ställa in standardtelefonregion
En mycket snabb men ganska användbar förändring som vi kan göra för att få Nextcloud att hantera telefonnummer bättre är att ställa in en standardtelefonregion för instansen. När användare fyller i sin profil i inställningarna för "Personlig information" som finns under "Personliga inställningar", ombeds de att eventuellt inkludera ett telefonnummer för kontaktändamål. Utan en standardtelefonregion tvingar Nextcloud användare att ange en landskod med detta nummer. Genom att ställa in standardtelefonregionen kan användare utesluta detta prefix.
I Nextcloud-serverkonsolen, använd “sudo nano /var/www/html/nextcloud/config/config.php” för att redigera PHP-konfigurationsfilen för Nextcloud-webbplatsen.
Lägg till följande rad till din PHP-konfigurationsfil, håll konsekvent med avståndsmönstret som skapats av tidigare rader och infoga innan slutet ");" konsol:
'default_phone_region' => 'USA',
-
- Ditt lands unika ISO 3166-1-kod som används för detta fält finns på följande Wikipedia-sida: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
Av säkerhetsskäl bör du inte visa någon innehållet i din Nextcloud-instans "config.php" fil. Den innehåller känslig information som lösenord och systemhemligheter som bara du eller din systemadministratör borde känna till. När du har lagt till standardtelefonens regionlinje till din konfigurationsfil sparar du det nya innehållet genom att hålla ned Ctrl (ctrl) och trycka på "O" och sedan hålla ned kontrollen och trycka på "X" för att avsluta. För att tillämpa ändringarna, skriv in "sudo systemctl starta om apache2" in i konsolen och tryck enter.
Konfigurera ett underhållsfönster
En annan liten förbättring vi kan göra av Nextcloud-webbplatsens PHP-konfigurationsfil är att ställa in ett underhållsfönster för servern att utföra mer intensiva och möjligen användarpåverkande uppgifter. Fönstret ställs in med UTC-tid, så du måste konvertera önskad starttid för underhållsfönstret till en ekvivalent UTC-tid (uttryckt som ett heltal mellan 1 och 24). Underhållsfönstret varar i fyra timmar, så ett underhållsfönster som börjar kl. 3 UTC kommer att sluta kl. 00 UTC.
Använda “sudo nano /var/www/html/nextcloud/config/config.php” för att börja redigera PHP-konfigurationsfilen en gång till, och lägg till den här raden före slutet ");" parentes, efter avståndskonventioner som används av raderna som redan finns i filen:
'maintenance_window_start' => 1,
-
- Kom ihåg att ersätta "1" med önskad starttid för underhållsfönstret översatt till UTC-tid.
Efter att ha sparat filen med kontroll (ctrl) + “O” och kontroll (ctrl) + “X”, applicera underhållsfönstret genom att använda "sudo systemctl starta om apache2".
LDAP/Active Directory Server Integration
Om du planerar att ge flera användare åtkomst till din Nextcloud-instans är en av de mest kraftfulla funktionerna du kan lägga till i Nextcloud möjligheten att ansluta till och autentisera en LDAP- eller Active Directory-server. Många organisationer och hemmabrukare använder Active Directory eller LDAP för att organisera och kontrollera användaråtkomst till nätverksresurser på ett centraliserat sätt, och Nextcloud är inget undantag. Med appen "LDAP user and group backend" kan användare från din Active Directory-domän eller LDAP-server importeras till din Nextcloud-server och logga in med deras användarnamn eller e-postadress och lösenord. Den här funktionen blir ännu mer kraftfull när den kombineras med extern lagring (som en SMB-resurs på en NAS) som ger individuella "hem"-mappar för användare med behörigheter som är specifika för den användaren.
För att installera appen "LDAP-användare och gruppstöd" klickar du först på profilbilden när du är inloggad på Nextcloud-webbsidan med ditt adminanvändarkonto. Välj "Appar" från rullgardinsmenyn som visas och klicka på modulen "Utvalda appar". Rulla ned tills du hittar appen "LDAP-användare och gruppstöd" och klicka på knappen "Aktivera".
Nu när appen har aktiverats måste vi ansluta Nextcloud till en LDAP-server. Se till att du har ett konto redo att auktorisera den här anslutningen. Vanligtvis rekommenderas ett tjänstekonto specifikt skapat för den här anslutningen, men alla Active Directory- eller LDAP-konton med möjlighet att söka i katalogen kan användas. Förstå att även om detta exempel kommer att använda ett inbyggt domän "Administratör"-konto på en Active Directory-domän, är detta inte en säker praxis. Om Nextcloud-servern äventyras och autentiseringsuppgifterna till "Administratör"-kontot stjäls, kommer en angripare att ha full behörighet att läsa, ändra och till och med ta bort alla objekt i domänen.
Navigera till sidan "Administrationsinställningar" en gång till genom att klicka på din adminanvändares profilbild och välja den från rullgardinsmenyn. Klicka på "LDAP/AD-integrationsmodulen för att komma igång.
På den här sidan börjar du fylla i den nödvändiga informationen för din LDAP/Active Directory-server:
- värd: 192.168.1.102
- Ersätt med IP-adressen/värdnamnet för din LDAP-server eller Active Directory-domänkontrollant.
- Port: 389
- Om du använder Active Directory, använd port 389. Om du använder en annan typ av LDAP-server eller har anpassat porten som din AD-server lyssnar på för LDAP-förfrågningar, ange det specifika numret här.
- Användar-DN: CN=Administratör,CN=Användare,DC=älg,DC=lokal
- Ange det distinguerade namnet för kontot som används för att ansluta Nextcloud till din LDAP/AD-server. Om du använder Active Directory kan detta enkelt hittas genom att köra det här kommandot med ett CMD-fönster, med "Administratör" ersatt med användarnamnet för kontot du använder för anslutningen:
- dsquery användarnamn "Administratör"
- Klicka på knappen "Spara inloggningsuppgifter" när du har fyllt i detta fält.
- Ange det distinguerade namnet för kontot som används för att ansluta Nextcloud till din LDAP/AD-server. Om du använder Active Directory kan detta enkelt hittas genom att köra det här kommandot med ett CMD-fönster, med "Administratör" ersatt med användarnamnet för kontot du använder för anslutningen:
- En bas-DN per linje: DC=älg, DC=lokal
- Klicka på knappen "Detektera bas-DN" efter att du har sparat de tidigare referenserna för att automatiskt fastställa bas-DN för LDAP/AD-servern.
- Om du vill kan du klicka på knappen "Test Base DN" för att kontrollera om konfigurationen hittills är giltig.
När du har slutfört den första sidan av modulen "LDAP/AD-integration", tryck på knappen märkt "Fortsätt" och ta en sekund för att se och studera avsnittet "Användare".
Även om layouten på sidan kan verka förvirrande till en början, är dess funktion att filtrera de användare som är tillgängliga för inloggning på Nextcloud-servern efter attribut som objektklasser och grupper. Vi rekommenderar att du skapar en unik grupp för användare som loggar in på Nextcloud-servern så att filtrering kan göras av den gruppens medlemskap. Välj önskade objektklasser och/eller grupper som du vill ge åtkomst och klicka på knappen ”>” för att lägga till gruppen i filtret. Det här exemplet använder en grupp som heter "familj". Klicka på knappen "Verifiera inställningar och räkna användare" för att visa ett meddelande som visar hur många användare som passar beskrivningen du har angett. Om räkningen verkar felaktig, dubbelkolla dina objektklass- och gruppfilter.
När du har rätt antal användare, tryck på knappen "Fortsätt" för att gå vidare till avsnittet "Inloggningsattribut". Markera rutorna för fälten "LDAP/AD Username:" och "LDAP/AD Email Address" och verifiera att inloggningsattributet är korrekt genom att ange ett användarnamn och e-postadress (om så önskas) i rutan "Test Loginname" och klicka på "Verifiera inställningar".
Om användarnamnet/e-postadressen kan användas för att logga in, visas ett meddelande som säger "Användare hittad och inställningar verifierade". Tryck på "Fortsätt"-knappen en sista gång för att gå vidare till den sista sidan, "Grupper". På samma sätt som på sidan "Användare", begränsar avsnittet "Grupper" vem som kan logga in på Nextcloud-servern med hjälp av objektklass- och gruppkriterier. Gör samma val som du gjorde på sidan "Användare", eller minska antalet användare som kan logga in genom att ange mer specifika kriterier här i fälten "Sök objektklasser" och "Sök grupper". Det här exemplet väljer "familje"-gruppen från listan på sidan och använder ">"-knappen för att begränsa åtkomsten till endast den gruppen. Klicka slutligen på "Verifiera inställningar och räkna grupperna" för att visa antalet grupper som är giltiga för inloggning.
Du har nu beviljat möjligheten att logga in på Nextcloud-servern för LDAP- eller Active Directory-grupperna som valts i de föregående stegen. Klicka på profilbilden för din administratörsanvändare och välj "Logga ut". När du uppmanas att ange ett användarnamn och lösenord för att logga in igen, testa inloggningsförmågan för en av användarna du har gett åtkomst. Om användaren inte kan logga in, gå tillbaka till avsnitten "Användare" och "Grupper" på den här sidan för att granska dina kriterier och felsöka felet.
Extern lagringsintegration
Ett annat kraftfullt tillägg till din Nextcloud-server är möjligheten att ansluta till och använda externa lagringspooler. Att placera användarfiler direkt på själva servern kan leda till problem relaterade till att hantera serverns lagring och att ständigt behöva öka kapaciteten för att möta användarnas efterfrågan. Om du inte ständigt är vaksam på att upprätthålla kvoter och ta bort onödig data som skapats av användare kan det leda till frustration och oväntade driftstopp. Separation av webbservern och lagringskomponenterna i en Nextcloud-installation rekommenderas starkt och är avgörande när man vill skapa ett skalbart molnlagringssystem och en trevlig användarupplevelse.
Appen "Stöd för extern lagring" för Nextcloud gör att du kan montera mappar från följande lagringstyper:
- Amazon S3
- FTP
- Nextcloud
- Ja det stämmer, du kan ansluta till och använda lagring som är tillgänglig på andra Nextcloud-servrar!
- OpenStack Object Storage
- SFTP
- SMB / CIFS
- WebDAV
Som du kan se finns det flera olika val för att ansluta Nextcloud till externa lagringsmatriser, moln och andra system. Som ett exempel kommer vi att ansluta en Nextcloud-instans till en SMB-resurs som styr åtkomst till olika mappar med behörigheter som beviljats användare som importerats från Active Directory-domänen vi anslutit till tidigare.
För att aktivera appen "Stöd för extern lagring", klicka på din adminanvändares profilbild när du är inloggad på webbplatsen och välj "Appar". Navigera till "Utvalda appar" en gång till och hitta modulen märkt "Externt lagringsstöd". Klicka på knappen "Aktivera" för att göra applikationen tillgänglig.
När appen har aktiverats kommer du att kunna lägga till extern lagring genom att gå till "Administrationsinställningar" och klicka på modulen "Extern lagring". Från den här sidan kan du ansluta till extern lagring genom att välja typ av lagring från rullgardinsmenyn och fylla i konfigurationsdetaljerna.
För att lägga till en SMB-resurs, välj alternativet "SMB/CIFS" från listan och fyll i konfigurationsinformationen enligt följande:
- Authentication: Manuellt inmatad, lagra i databas
- För att få användare manuellt att ange sitt eget användarnamn och lösenord för autentisering, välj det här alternativet. För att använda en uppsättning statiska autentiseringsuppgifter för att ge användare åtkomst till en SMB-resurs, välj "Logga in och lösenord". Annars väljer du det alternativ som bäst motsvarar dina behov från rullgardinsmenyn.
- Mappnamn: familj
- Detta namn kan ställas in på vad du vill använda för att beskriva lagringen du monterar. Exempel: "SMB" eller namnet på den del du monterar.
- värd: 192.168.1.140
- Ersätt detta värde med IP-adressen eller FQDN för servern som är värd för SMB-resursen du vill ansluta till.
- Dela med sig: familj
- Ersätt detta värde med namnet på den resurs som du vill montera och som finns på servern som anges i fältet "Värd".
- Fjärrundermapp: \
- För att montera mappen på toppnivån för resursen (den delade mappen själv), använd "\". Annars anger du sökvägen till en undermapp inuti den önskade resursen på detta sätt:
- \undermapp\annan_undermapp\yet_annan_undermapp
- För att montera mappen på toppnivån för resursen (den delade mappen själv), använd "\". Annars anger du sökvägen till en undermapp inuti den önskade resursen på detta sätt:
- Domän: ÄLG
- Ersätt detta värde med NetBIOS-namnet för en domän om åtkomsten till resursen styrs med LDAP eller Active Directory. Det här fältet krävs inte om resursen inte kontrolleras av en LDAP/AD-server.
- Visa dolda filer: Kolla upp
- Markera den här rutan om användare ska kunna se dolda filer (de som börjar med ett "."-tecken.
- Skiftlägeskänsligt filsystem: Kolla upp
- Verifiera ACL-åtkomst när du listar filer: Kolla upp
- Detta alternativ är extremt viktigt för att åtkomstkontrollen ska fungera korrekt. Annars, om två användare har samma resurs monterad och har mappar konfigurerade så att den andra inte har åtkomst, kommer de fortfarande att kunna se varandras filer.
- Alla människor: Kolla upp
- Markera det här alternativet om du vill att alla Nextcloud-användare ska kunna ange autentiseringsuppgifter för och ansluta till SMB-resursen, annars välj en lokal grupp på Nextcloud-instansen för att göra resursen tillgänglig för att använda fältet nedan.
- Tyvärr är det i skrivande stund inte möjligt att välja en LDAP/Active Directory-grupp med fältet under detta alternativ när det inte är valt.
- Markera det här alternativet om du vill att alla Nextcloud-användare ska kunna ange autentiseringsuppgifter för och ansluta till SMB-resursen, annars välj en lokal grupp på Nextcloud-instansen för att göra resursen tillgänglig för att använda fältet nedan.
När du har angett klart SMB-delningskonfigurationsinformationen som är specifik för din installation, klicka på bockknappen för att spara den och göra den tillgänglig för användare.
Om du vill att användare ska kunna montera sin egen externa lagring, klicka på bockmarkeringen under avsnittet om lagringsmontering på sidan. Om du väljer att aktivera det här alternativet kan du dessutom begränsa vilka typer av förvaring som är tillgängliga för självmontering.
För att slutföra konfigureringen av SMB-resursen måste användare navigera till modulen "Extern lagring" under "Personliga inställningar" efter att ha klickat på sin profilbild och valt den från rullgardinsmenyn.
På den här sidan kan användare ange sitt användarnamn och lösenord och klicka på bockknappen för att låsa upp SMB-resursen för att lagra och hämta filer.
När användaren har angett sina autentiseringsuppgifter kan resursen nås genom att klicka på mappikonen högst upp på Nextcloud-webbplatsmenyn och bläddra igenom listan över användarmappar och filer.
Gör Nextcloud till en riktig webbserver
Nu är din funktionsrika Nextcloud-instans nästan redo att bli en allmänt tillgänglig och kraftfull webbserver! Innan vi öppnar slussarna måste vi se till att servern kan hantera intensiva förfrågningar från flera användare som kommer åt filer. Vi har redan ökat prestandan genom att göra flera viktiga redigeringar av systemets PHP-konfiguration, och att lägga till stöd för minnescache kan förstärka det.
Ställa in minnescache – APCu
ACPu är en PHP-cache som hjälper till att snabba upp åtkomsttiderna för ofta använda objekt. Vi kommer att använda den som den första cachen för vår Nextcloud-instans. Innan vi aktiverar APCu-cachen måste vi göra några ändringar i vårt systems "php.ini"-fil.
Använda “sudo nano /etc/php/8.3/apache2/php.ini” för att börja redigera filen. Bläddra till botten av filen genom att hålla ned piltangenten under en längre tid. Lägg till följande rader på en ny rad längst ned i filen:
apc.enable_cli=1
apc.shm_size=128M
Om du lägger till dessa två rader kommer systemet att kunna använda APCu som en cache och ställa in cachestorleken till 128 megabyte istället för standardvärdet på 32. När du är klar trycker du på kontroll (ctrl) + "O" och kontroll (ctrl) + " X" för att spara filen och avsluta nano.
För att avsluta aktiveringen av APCu-cachen, använd "sudo nano /etc/php/8.3/mods-available/apcu.ini" och lägg till "apc.enable_cli=1" till botten av konfigurationsfilen som vi gjorde för "php.ini" fil. Använd kontroll (ctrl) + "O" och kontroll (ctrl) + "X" igen för att spara och avsluta konfigurationsfilen.
Vi har aktiverat PHP att använda APCu, men nu måste vi instruera Nextcloud att använda det.
Typ “sudo nano /var/www/html/nextcloud/config/config.php” i konsolen och tryck på enter. I Nextcloud PHP-konfigurationsfilen kommer vi att lägga till en rad för att få Nextcloud att använda APCu för lokal minnescache:
'memcache.local' => '\OC\Memcache\APCu',
Sätt den här raden före slutet ");" parentes, enligt avståndskonventionerna för de tidigare raderna i konfigurationsfilen. Än en gång, håll kontroll (ctrl) och tryck på “O” och sedan kontroll (ctrl) och “X” för att spara och avsluta.
När PHP-konfigurationsfilen har sparats, använd "sudo systemctl starta om apache2" för att starta om Apache-webbservern och tillämpa dina ändringar.
Om du följde alla steg för att korrekt ställa in APCu för lokal minnescache, bör prestandan för din Nextcloud-server ökas avsevärt! Låt oss ta saker ett steg längre och konfigurera Redis för lite mer minnescache.
Ställa in minnescache – Redis
Du kanske undrar, "Varför behöver min webbserver två olika minnescacher? Räcker det inte med en?" Svaret på denna fråga är faktiskt ganska enkelt. Precis som varje verktyg i en butik har sin egen användning, så har APCu och Redis. APCu är en utmärkt lokal minnescache, och överträffar den sistnämnda avsevärt i denna kategori, medan Redis lyser i distribuerad cache och transaktionsfillåsning.
För att komma igång med Redis kommer vi att redigera systemets Redis-konfigurationsfil genom att gå in
"sudo nano /etc/redis/redis.conf" in i konsolen och tryck på enter. Som standard lyssnar Redis-tjänsten på en TCP-port för cachning och trafik för låsning av transaktionsfiler, men för en enskild serverinstallation är en Unix-socket den föredragna kommunikationsmetoden. Att använda en TCP-port skulle vara vettigt om vi tillhandahåller Redis-tjänsten över ett nätverk, men en Unix-socket är mycket effektivare för kommunikation mellan Redis- och Nextcloud-webbserverprocesserna.
När du har angett nano, håll ned kontroll (ctrl)-tangenten och tryck på “W” för att aktivera nanos sökfunktion. Typ "unixsocket" i sökfältet och tryck på enter, så hoppar nano till "Unix-uttag" konfigurationsdelen av filen. I den "Unix-uttag" avsnitt, ta bort "#" tecken och tomma utrymmen framför "unixsocket /run/redis/redis-server.sock" och "unixsocketperm 700". Ändra "700" till "770", och bläddra uppåt tills du hittar raden som lyder "port 6379". Vi kommer att ändra detta värde till "0", som effektivt säger till Redis-servern att inte lyssna på en TCP-port efter anslutningar. Se bilderna nedan för att validera din konfigurationsfil innan du använder kontroll (ctrl) + "O" och kontroll (ctrl) + "X" för att spara och avsluta filen.
Med dessa ändringar gjorda av Redis systemkonfigurationsfil kan vi nu specificera att vi vill använda Redis för distribuerad cachelagring och transaktionsfillåsning i Nextcloud PHP-konfigurationsfilen. Öppna den här filen i nano genom att använda “sudo nano /var/www/html/nextcloud/config/config.php”.
Längst ner i Nextcloud PHP-konfigurationsfilen före slutet ");" parentes, lägg till dessa rader och ägna stor uppmärksamhet åt avstånd och kommatecken:
'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => [ 'host' => '/run/redis/redis -server.sock', 'port' => 0, ],
Om du skrev in raderna korrekt, bör minnescacheavsnittet i din PHP-konfigurationsfil se ut så här:
Innan du startar om Apache-webbservern och Redis för att tillämpa ändringarna, använd "sudo usermod -a -G redis www-data" att lägga till "www-data" användare till "redis" grupp, vilket ger webbservern åtkomst till Redis Unix-socket. Skriv till sist "sudo systemctl starta om apache2 && sudo systemctl starta om redis-server" in i konsolen och tryck på enter för att tillämpa ändringarna och starta om de berörda tjänsterna.
Exponera Nextcloud för Internet
Vi är så nära att vara klara! Det sista steget i att distribuera din Nextcloud-server är att göra den tillgänglig för det offentliga internet. Detta steg kräver att du konfigurerar portvidarebefordran på din router, och det kan innebära lite forskning från din sida. Använd katalogen över port forwarding guider på https://portforward.com/router.htm för att försöka hitta din routers tillverkare och läsa igenom lösningen. Om du inte kan hitta din routertillverkare på listan eller använder en företags-/hemgjord router kan du behöva göra några webbsökningar tills du hittar rätt metod.
När du konfigurerar portvidarebefordran, vidarebefordra portarna 80 och 443 från den privata IP-adressen för din Nextcloud-server (som kan hittas med hjälp av "värdnamn -I" kommando) till routerns offentliga IP-adress. Om din internetleverantör inte förser dig med en offentlig IP-adress måste du använda en tjänst som Cloudflares tunnlar, som låter dig skapa en säker tunnel mellan din webbserver och Cloudflares servrar, som skickar trafik från webbplatsbesökare tillbaka till dig.
Om du äger en domän eller använder ett värdnamn från en värdnamnsleverantör, se till att dina DNS-poster är inställda på att peka på din servers offentliga IP-adress. Eventuellt erbjuder vissa tjänsteleverantörer möjligheten att helt fördunkla din IP-adress från webbplatsbesökare och säkert transportera denna data från deras servrar tillbaka till din.
Underhålla och uppgradera Nextcloud
Att se till att din Nextcloud-server har de senaste uppdateringarna och säkerhetskorrigeringarna är en viktig del för att hålla din molnlagring snabb och säker. Innan vi är klara, låt oss gå igenom några sätt att hålla din server igång som ny!
Kommandon efter distribution
Efter att ha distribuerat din Nextcloud-server kan du ha märkt några varningar på sidan "Översikt" efter att ha klickat på "Administrationsinställningar" i profilbildsmenyn. Ibland innehåller dessa varningar även kommandon som kan köras för att omedelbart åtgärda problemet som varningen handlar om. Vanligtvis måste kommandona köras som "www-data" användare och kör från “/var/www/html/nextcloud” katalog. Typ "cd /var/www/html/nextcloud" och tryck på enter för att ändra den aktuella arbetskatalogen till lämplig mapp och infoga "sudo -u www-data" före vart och ett av kommandona.
Vi kan köra några av dessa kommandon nu för att fixa dessa varningar innan de blir problem:
sudo -u www-data php occ db: lägg till-saknade kolumner
sudo -u www-data php occ db:add-missing-index
sudo -u www-data php occ db:add-missing-primary-nycklar
Dessa kommandon kommer att se till att databasen är korrekt inställd och inte saknar någon viktig information. Glad databas, lyckligt liv! Rätt?
Håller Ubuntu-servern uppdaterad
Att regelbundet uppdatera din servers operativsystem och mjukvarupaket är viktigt för att hålla det säkert och snabbt. Hitta ett tidsintervall när serverns användning är låg var eller varannan vecka och kör följande kommandon:
sudo apt uppdatering && sudo apt uppgradering -y
sudo omstart
Dessa kommandon kommer att uppgradera serverns operativsystem och mjukvarupaket och starta om servern så att ändringarna tillämpas när den startar upp igen.
Uppgraderar Nextcloud
Eftersom Nextcloud inte installerades med en pakethanterare, uppdaterar serverns mjukvarupaket med "benägen" kommer inte automatiskt att skicka Nextcloud till nästa version. För att börja uppgradera vår Nextcloud-server måste vi klicka på adminanvändarens profilbild i det övre högra hörnet på webbsidan och välja "Administrationsinställningar" från rullgardinsmenyn. På sidan "Översikt" kan vi se att en uppgradering är tillgänglig – i det här fallet version 30.0.1. Om ett uppdateringsalternativ inte visas på sidan "Översikt", oroa dig inte, du har redan den senaste versionen! Titta in här då och då för att se när en ny version blir tillgänglig.
När du har fastställt att en uppdatering är tillgänglig och du har nått ett lämpligt uppgraderingsfönster, byter du tillbaka till serverns konsol och anger det här kommandot:
sudo chown -R www-data: www-data / var / www
Detta kommando kommer rekursivt att ställa in "www-data" användare som ägare till “Www” katalogen och alla underkataloger och filer, vilket säkerställer att uppgraderingsprocessen kan komma åt och ändra alla filer den behöver.
När det kommandot har slutförts, gå tillbaka till sidan "Översikt" under menyn "Administrationsinställningar" och klicka på knappen märkt "Öppna uppdateringsprogram". Detta tar dig till menyn "Uppdaterare".
Härifrån kan du klicka på knappen "Starta uppdatering" för att påbörja Nextclouds uppdateringsverifiering och nedladdningsprocess. Om allt fungerar korrekt bör du se gröna bockar bredvid varje steg före "Fortsätt med webbaserad uppdatering".
Obs: Om uppdateringsprocessen misslyckas vid nedladdningssteget, försök att ladda ner igen tills det fungerar. Det kan ta flera försök.
När alla gröna bockar har dykt upp i menyn "Uppdaterare", klicka på knappen märkt "Inaktivera underhållsläge och fortsätt i den webbaserade uppdateringen". På skärmen som visas efter att du har gjort det, klicka på "Starta uppdatering" för att avsluta uppdateringsprocessen och börja tillämpa den.
Alternativt, som föreslås av sidan för större eller långsammare servrar, kan du navigera till "nästa moln" katalog och kör uppgraderingen där manuellt genom att använda följande kommandon:
cd /var/www/html/nextcloud
sudo -u www-data php occ uppgradering
När uppgraderingen är klar kommer du att omdirigeras till sidan "Dashboard" på din Nextcloud-servers webbplats. Din server kör nu den senaste och bästa versionen av Nextcloud!
Grattis! Du gjorde det!
Du är nu den stolta ägaren och operatören av en fullt fungerande, härdad och högpresterande Nextcloud-server. Du kan nu bjuda in familjemedlemmar eller vänner att använda din server för molnlagring om du vill. Kom ihåg att Nextcloud är en mycket modulär plattform, så var inte rädd för att prova nya appar eller ändra din konfiguration för att möta dina behov! Se till att ställa in regelbundna säkerhetskopior av servern så snart som möjligt, och håll ett öga på saker och ting för att se till att allt fungerar som det ska.
En rundtur i författarens Nextcloud-installation
Wow, du klarade dig igenom allt detta och vill fortfarande ha mer att läsa? Se oss imponerade! Här är en snabb rundtur och några bilder på författarens Nextcloud-setup om du letar efter lite inspiration:
- Hårdvara:
- Virtualiseringsserver:
- OS: Proxmox Virtualization Environment
- Chassi: Supermicro SC216 med extra bakre redundant kåpa
- CPU: Intel Xeon E5-2683
- RAM: 4x 32 GB DDR4 2400 MHz ECC RDIMM
- Moderkort: Gigabyte MU70-SU0 (LGA 2011-3)
- HBA: Broadcom SAS 9305-24i
- NIC: Intel X520-DA2 2-portars 10 GbE SFP+-adapter
- Grafikkort: NVIDIA Quadro K1200
- Startenheter: 2x Samsung 850 EVO 120 GB SATA SSD
- Dataenheter: 24x Samsung 860 EVO 250 GB SATA SSD
- NAS:
- OS: TrueNAS SCALE
- Chassi: HPE ProLiant MicroServer Gen10 Plus
- CPU: Intel Xeon E-2224
- RAM: 2x 16 GB DDR4 2666 MHz ECC UDIMM
- HBA: Inbyggd HPE Smart Array E208i-p SR Gen10 Controller
- NIC: HPE Ethernet 560SFP+ 2-ports 10 GbE SFP+-adapter
- Startenhet: Micron M600 256 GB SATA SSD (USB-ansluten)
- Cache-enheter: 2x Samsung 860 EVO 250 GB SATA SSD-enheter (USB-anslutna)
- Dataenheter: 4x WD Red Plus 4 TB 5400 RPM hårddiskar
- Säkerhetskopieringsenhet: WD Red Pro 14 TB 7200 RPM HDD (USB-ansluten)
- Modem:
- Netgear CM1200
- DOCSIS 3.1
- 4x 1 GbE RJ45 WAN-portar (kompatibel med 2-ports länkaggregation)
- router:
- OS: pfSense
- Chassi: Dell OptiPlex 7040 SFF
- CPU: Intel Core i5 6500
- RAM: 8 GB DDR4
- NIC: Intel E1G44ET 4-portars 1 GbE RJ45-adapter
- Startenheter: 2x Samsung 860 EVO 250 GB SATA SSD
- Kärnbrytare:
- Dell Networking N4032F
- 24x 10 GbE SFP+-portar
- 2x 40 GbE QSFP+-portar
- 1 GbE hanteringsport
- Åtkomstbrytare:
- Dell Networking X1052
- 48x 1 GbE RJ45-portar
- 4x 10 GbE SFP+-portar
- Åtkomstpunkter:
- OS: OpenWRT
- Linksys EA8300 Max-Stream
- AC2200
- MU-MIMO
- Wi-Fi 5 (802.11ac)
- 1x 1 GbE RJ45 LAN-port
- 4x 1 GbE RJ45 LAN-portar
- POSTEN:
- CyberPower CP1500AVRLCD3
- 1500VA
- 900W
- Virtualiseringsserver:
- Virtuella maskiner:
- Proxmox virtualiseringsmiljö:
- 2x Windows Server 2022 Datacenter domänkontrollanter
- Ubuntu Server 24.04.1 Nextcloud webbserver
- Windows Server 2022 spelserver
- TrueNAS SKALA:
- Proxmox Backup Server backupmål
- Proxmox virtualiseringsmiljö:
Andrew använder sin Nextcloud-server för att vara värd för datalagringstjänster för sina nära och kära. Genom att använda en kombination av en Active Directory-domän med redundanta domänkontrollanter, en NAS för att hålla alla användardata och en virtualiseringsserver, har Andrew optimerat sin installation för att tillhandahålla högpresterande lagringstjänster både hemma och var som helst med en internetanslutning.
Ryggraden i hans installation är Dell Networking N4032F, som ger 10 gigabit-per-sekund-anslutningar mellan hans Proxmox VE-server och TrueNAS SCALE-lagringsuppsättningen. Data-, hanterings- och lagringstrafik har separerats i tre VLAN, som ger extra säkerhet vid ett intrång. Hans åtkomstswitch ger standard 1 gigabit per sekund anslutningar till hans speldator, åtkomstpunkter och andra olika enheter. Alla servrar och virtuella maskiner övervakas av en Raspberry Pi Model 3B+ som kör Ubuntu Server och en Uptime Kuma-instans. Så fort en server/VM går ner, meddelas Andrew via e-post, och vid ett strömavbrott stängs servrarna graciöst av så fort UPS:en rapporterar en låg laddningsnivå.
Andrew skräddarsydde också sin virtualiseringsserver med ett Supermicro 24-bay 2U-chassi och delar erhållna från eBay och andra "tveksamma" källor. I ett ZFS RAIDZ2-arrangemang kan denna 24 SSD-uppsättning av diskar på konsumentnivå ge en genomströmning på cirka 8.2 gigabyte per sekund för läsoperationer och 2.7 gigabyte per sekund för skrivoperationer till virtuella maskiner, mätt här på en Windows Server 2022 VM :
Den verkliga stjärnan i datalagringsshowen är Andrews HPE ProLiant MicroServer Gen10 Plus, som rymmer fyra WD Red Plus 4 TB hårddiskar och är slumpmässigt ansluten via USB 3.2 Gen2 (10 Gbps) och Gen1 (5 Gbps) till en Micron SSD för startar TrueNAS, en WD Red Pro 14 TB-enhet för säkerhetskopiering, och ytterligare två Samsung 860 EVO SSD:er för cachning. För att vara tydlig, rekommenderar Andrew inte att göra det, men gillar att driva vad som är möjligt med hårdvaran han äger. Fem nior av tillförlitlighet är absolut inte garanterade här under några omständigheter, gott folk.
Andra anmärkningsvärda enheter inkluderar en återanvänd Dell OptiPlex 7040 SFF PC, som kör pfSense för att tillhandahålla routingtjänster för sitt hemlabbs olika subnät, och Netgear CM1200-modemet, som överraskande nog stöder länkaggregation av någon anledning. Nämnde vi att varje serverdataanslutning, 1 eller 10 GBps, är felredundant? Detta skulle tillåta Andrews lagringssystem att teoretiskt dela data med en hastighet av 20 Gbps dubbelriktat, under särskilda förhållanden, med flera anslutningar som sker samtidigt. Om han bara hade de rätta drivkrafterna för att komma i närheten av det!
Slutsats
Vi hoppas att du hittade något värde i denna långrandiga men detaljerade installationsguide för Nextcloud. Att göra saker på den hårda vägen har ofta fördelar, och att veta mer om hur din molnlagring fungerar är alltid bra. Om du inte redan har gjort det, prenumerera på StorageReview nyhetsbrev för att få fler server-, lagringssystem och homelab-artiklar, och kolla in oss på YouTube, TikTok, X (tidigare Twitter) eller Instagram!
Referenser/källor:
- https://www.linode.com/docs/guides/how-to-install-nextcloud-on-ubuntu-22-04/
- https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html
- https://docs.nextcloud.com/server/latest/admin_manual/contents.html
- Olika sidor
- https://www.php.net/manual/en/ini.core.php
- https://nextcloud.com/
- https://ubuntu.com/download/server
- https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-16-04
- https://snapcraft.io/install/core/ubuntu
- https://docs.clamav.net/manual/Usage
- Olika sidor
- https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html
- https://docs.nextcloud.com/server/30/admin_manual/configuration_files/external_storage/smb.html
- https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html
- https://www.php.net/manual/en/intro.apcu.php
- https://www.php.net/manual/en/apcu.configuration.php
- https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
Engagera dig med StorageReview
Nyhetsbrev | Youtube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | Rssflöde