Niemand houdt ervan om geen gratis cloudopslag meer te hebben. Als je die melding van Google Photos of iCloud ziet dat je geen ruimte meer hebt, kan dat een domper zetten op je exotische luiaard-seeingtrip naar Zuid-Amerika. Voor ons doe-het-zelvers en thuislabbers is er echter een oplossing als je bereid bent om je handen vuil te maken.
Introductie van Nextcloud
Nextcloud is een gratis en open-source cloudopslagplatform dat de kracht en flexibiliteit van de cloud in uw handen legt. Het ondersteunt verschillende populaire Linux-distributies, zoals Red Hat Enterprise Linux 9 en Ubuntu 24.04 LTS. In dit artikel gebruiken we Ubuntu Server 24.04.1 en Nextcloud Hub 9 (30.0.0) om een krachtige, volledig aanpasbare cloudopslagserver te bouwen. Sommige van de hier getoonde stappen vereisen mogelijk enige achtergrondkennis van Linux-serverbeheer en de opdrachtregelinterface, dus zet uw denkpet op en bereid u voor op de technische kant!
De server instellen
Om een Nextcloud-server te starten, hebt u een nieuwe installatie van Ubuntu Server nodig op een systeem naar keuze. Een virtuele machine op uw hoofdcomputer of welke reservehardware u ook hebt liggen, zal waarschijnlijk de truc doen! Wij raden een computer aan met ten minste 2-4 CPU-cores, 8 gigabyte RAM en 500 GB opslag. Wanneer u uw systeem gereed hebt, downloadt u Ubuntu Server via deze link: https://ubuntu.com/download/server .
Als u Ubuntu Server nog nooit eerder hebt geïnstalleerd, raadpleeg dan eerst hun handleiding voordat u begint: https://ubuntu.com/tutorials/install-ubuntu-server Zorg ervoor dat u niet de optie selecteert om Nextcloud vooraf te installeren op de aanbevolen softwarepagina, want dat regelen wij zelf.
Nadat u uw server op het netwerk hebt aangesloten, deze een hostnaam hebt gegeven en bent ingelogd met de gebruikersnaam en het wachtwoord die u tijdens de eerste installatie hebt gemaakt, kunt u de nieuwste software-updates voor Ubuntu Server ophalen door te typen “sudo apt update en sudo apt upgrade -y” in de console en druk op enter. Start de server opnieuw op nadat de updates zijn voltooid door “sudo opnieuw opstarten”.
Let op: Het kan zijn dat u uw wachtwoord opnieuw moet invoeren om sudo-opdrachten uit te voeren.
De software installeren
Vervolgens moeten we een aantal van de vereiste software pakken waar onze Nextcloud-instantie van afhankelijk is. Typ (of kopieer en plak bij voorkeur) de volgende opdrachten in uw opdrachtregelinterface om de Apache-webserver te downloaden en te installeren, evenals een paar pakketten die u later nodig hebt voor geavanceerdere Nextcloud-installaties:
sudo apt install apache2 mariadb-server php libapache2-mod-php redis-server libmagickcore-6.q16-7-extra
sudo apt install php-apcu php-bcmath php-bz2 php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-ldap php-mbstring php-memcached php-mysql php-redis php-smbclient php-zip php-xml


De Apache-webserver configureren – Deel 1
Voordat we met Apache gaan rommelen, moeten we eerst zorgen dat we goed verbinding kunnen maken met de server. Om webbrowserverbindingen (HTTP en HTTPS) met de Nextcloud-instantie toe te staan, gebruikt u de volgende opdrachten:
sudo ufw toestaan in "Apache Full"
sudo ufw inschakelen


MariaDB configureren
Onze Nextcloud-server heeft een altijd-online database nodig om serverconfiguratie en gebruikersprofielinformatie op te slaan. Om MariaDB te configureren om te draaien nadat het systeem opnieuw is opgestart, typt u “sudo systemctl mariadb inschakelen” en druk op enter. Nu zijn we klaar om de database voor te bereiden op onze Nextcloud-installatie!

- Voer huidig wachtwoord voor root in (voer voor geen enkel in): klik op enter
- Overschakelen naar unix_socket-authenticatie [J/n] n
- Het root-wachtwoord wijzigen? n
- Anonieme gebruikers verwijderen? [Y / n] y
- Geen root login op afstand toestaan? [Y / n] y
- Testdatabase verwijderen en er toegang toe hebben? [Y / n] y

Type “sudo mysql -u root” en voer deze opdrachten in wanneer de MySQL-opdrachtregelinterface verschijnt (en zorg ervoor dat u “;” aan het einde van elke regel gebruikt!):
MAAK GEBRUIKER 'nextcloud'@'localhost' GEÏDENTIFICEERD DOOR 'P@$$w0rd';
Let op: Vervang “nextcloud” en “P@$$w0rd” door een gebruikersnaam en wachtwoord naar keuze.
DATABASE MAKEN ALS DIE NIET BESTAAT nextcloud KARAKTERSET utf8mb4 COLLATE utf8mb4_general_ci;
VERLEEN ALLE RECHTEN OP nextcloud.* AAN 'nextcloud'@'localhost';
Let op: Vervang opnieuw het ‘nextcloud’-symbool voor het @-symbool door de gebruikersnaam die u eerder hebt gebruikt.
VOORRECHTEN VOOR FLU'S;
ontslag nemen;

PHP-extensies inschakelen en PHP-prestaties verbeteren
Herinnert u zich al die PHP-extensies die we hebben geïnstalleerd? We moeten ze inschakelen om ervoor te zorgen dat Nextcloud ze goed kan gebruiken. Gebruik deze opdracht om de vereiste PHP-extensies in te schakelen:
sudo phpenmod apcu bcmath bz2 curl gd gmp imagick intl ldap mbstring memcached mysql redis smbclient zip xml


memory_limit = 512M
- Kan optioneel worden verhoogd om PHP indien nodig meer geheugen te geven (1024M, 2048M, enz.)
post_max_grootte = 100G
upload_max_bestandsgrootte = 100G
- Deze waarde en de vorige waarde vertegenwoordigen de maximale bestandsgrootte die u kunt uploaden naar uw Nextcloud-server. Wijzig ze naar uw gewenste maximale bestandsgrootte. (1G = 1 gigabyte, 10G = 10 gigabyte, 100G = 100 gigabyte, enz.) Zorg ervoor dat u alleen groottes in K (kilobytes), M (megabytes) en G (gigabytes) invoert.
datum.tijdzone = Amerika/New_York
- Verwijder “;” voor de regel en gebruik deze gids om uw juiste tijdzone te bepalen: https://www.php.net/manual/en/timezones.php
opcache.enable=1
- Verwijder “;” voor de regel.
opcache.memory_consumption=128
- Verwijder “;” voor de regel. Deze waarde, in megabytes, kan worden aangepast aan de hoeveelheid geheugen die u in uw Nextcloud-server hebt (128 = 128 megabytes, 1024 = 1024 megabytes/1 gigabyte, 2048 = 2048 megabytes/2 gigabytes).
opcache.interned_stringers_buffer=16
- Verwijder “;” voor de regel. Geeft de hoeveelheid geheugen weer die is toegewezen voor geïnterneerde strings in megabytes, de aanbevolen waarde is 16.
opcache.max_accelerated_files=10000
- Verwijder “;” voor de regel. Deze waarde kan worden aangepast naar elk getal tussen 200 en 1000000 om aan te sluiten bij de cache- en geheugencapaciteiten van uw systeem.
opcache.revalidate_freq=1
- Verwijder “;” voor de regel en verander dit naar 1.
opcache.save_comments=1
- Verwijder “;” voor de regel en controleer of de waarde op 1 staat.
Nadat u alle benodigde wijzigingen in het php.ini-bestand hebt voltooid, slaat u het bestand op door de control-toets (ctrl) ingedrukt te houden en op de toets "O" te drukken. Druk op enter om te bevestigen en houd control (ctrl) opnieuw ingedrukt en tik op de toets "X" om nano te verlaten.

De Apache-webserver configureren – Deel 2
Hoewel we Nextcloud hebben gedownload en veel van de softwarevereisten hebben ingesteld, moeten we nog steeds de standaard Apache-webpagina vervangen door Nextcloud. Type “cd-rom” in de console en druk op enter, waarmee we terugkeren naar de home directory van onze gebruiker. Dit is waar het Nextcloud ZIP-bestand is gedownload. Typ nu “unzip nieuwste.zip” Druk op Enter en zie het unzip-hulpprogramma brullen!

Voordat de map kan worden getransporteerd, moeten we ervoor zorgen dat de ingebouwde “www-gegevens” gebruiker is de eigenaar van de nieuwe directory. Dit is extreem belangrijk omdat de “www-gegevens” gebruiker verwerkt alle webserverbewerkingen die worden uitgevoerd door de Apache-webserver en Nextcloud zelf. Type “sudo chown -R www-gegevens:www-gegevens ./nextcloud” in de console en druk op enter.


DocumentRoot /var/www/html/nextcloud/ Servernaam nextcloud-demo.moose.local Vereisen alle toegekende AllowOverride Alle opties FollowSymLinks MultiViews Dav uit

Als u geen domein bezit, kunt u er een kopen bij een registrar zoals Cloudflare met behulp van https://www.cloudflare.com/products/registrar/ of gebruik een gratis, openbaar beschikbare hostnaam van websites zoals https://www.noip.com/ Als u geen domein wilt kopen of geen gratis hostnaam wilt gebruiken, kunt u een fictieve FQDN in dit veld plaatsen. Let wel: u kunt alleen het IP-adres van de server (openbaar en privé) gebruiken om verbinding te maken met de Nextcloud-instantie.
Let op: Om de FQDN van de server te gebruiken voor lokale toegang tot uw Nextcloud-instance, moet u een correct geconfigureerde DNS-server op uw thuisnetwerk hebben draaien. Anders moet u het lokale IP-adres van de server gebruiken wanneer u deze vanaf uw thuisnetwerk benadert.
Wanneer u klaar bent met het schrijven van het virtuele hostbestand en de voorbeeld-FQDN hebt vervangen door de FQDN van uw server (legitiem of anderszins), kunt u de Nextcloud-site eindelijk inschakelen met behulp van “sudo a2ensite nextcloud.conf” en “sudo systemctl herstart apache2” om de webserver opnieuw te starten met de nieuwe site. Navigeer naar uw Nextcloud-instance met een webbrowser op een andere computer die zich op hetzelfde netwerk bevindt via de FQDN van de server of het lokale IP-adres.
Nextcloud Eerste installatie
Als u de vorige stappen correct hebt gevolgd, wordt u begroet met een pagina die u vraagt om een admin-gebruiker voor de site aan te maken en wat gegevens over uw Nextcloud-server in te vullen. Geef de admin-gebruiker de gewenste naam, zoals Administrator of Superadmin, en een sterk wachtwoord.

De site laadt even en biedt u vervolgens de optie om verschillende aanbevolen apps voor uw Nextcloud-server te installeren. Houd er rekening mee dat het toevoegen van meer apps aan uw Nextcloud-instance de verwerkingsbelasting, het geheugengebruik en het totale schijfgebruik van de server zal verhogen. Kies of u de aanbevolen apps wilt installeren of sla deze stap eventueel over.


Een cron-taak maken
Een cronjob is een opdracht die regelmatig wordt uitgevoerd zonder tussenkomst van de gebruiker. Onze Nextcloud-server heeft een cronjob nodig om de server aan te roepen “cron.php” script elke 5 minuten voor optimale prestaties en functionaliteit.
Om deze cron-taak in te stellen, voert u de opdracht in "sudo crontab -u www-data -e" in de console van de server.

*/5 * * * * php -f /var/www/nextcloud/cron.php

Gefeliciteerd! Je hebt nu een werkende Nextcloud-server beschikbaar op je lokale netwerk! Je kunt nu bestanden uploaden en downloaden van en naar je Nextcloud-server in je thuisnetwerk. Maar om hem echt te laten schitteren, moeten we de beveiliging verbeteren, een paar favoriete apps van Homelab toevoegen, een razendsnel geheugencachingsysteem installeren en hem toegankelijk maken vanaf het openbare internet.
Verbeter de beveiliging van uw Nextcloud-server
Een van de beste manieren om de beveiliging van uw webserver te verbeteren, is door te upgraden naar HTTPS in plaats van ongecodeerde en onveilige HTTP. Wanneer ingeschakeld, worden verzoeken via TLS 1.3 uitgevoerd, de nieuwste en veiligste encryptiestandaard voor webverbindingen. Dit is een noodzakelijke stap wanneer u van plan bent om een website bloot te stellen aan het openbare internet en is een uitstekende eerste stap bij het beschermen van gevoelige informatie.
Zodra u hebt besloten om uw Nextcloud-verkeer te versleutelen, zijn er twee opties om HTTPS in te stellen: een zelfondertekend certificaat gebruiken of een certificaat van een geldige certificeringsinstantie gebruiken. Als u momenteel geen domein bezit of niet van plan bent om er een in te stellen voor een tijdelijke Nextcloud-instantie, raden we u aan een zelfondertekend certificaat of een certificaat van een hostnameprovider te gebruiken. Als u van plan bent om een meer permanente Nextcloud-installatie te hebben, raden we u ten zeerste aan om een openbaar vertrouwd certificaat te verkrijgen van een certificeringsinstantie zoals Let's Encrypt.
HTTPS met een zelfondertekend certificaat
Om een zelfondertekend certificaat in te schakelen en te maken, moet u een paar eenvoudige opdrachten uitvoeren:
sudo a2enmod ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt


DocumentRoot /var/www/html/nextcloud/ ServerName nextcloud-demo.moose.local SSLEngine op SSLCertificateFile /etc/ssl/certs/nextcloud-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/nextcloud-selfsigned.key Vereisen alle toegekende AllowOverride Alle opties FollowSymLinks MultiViews Dav uit


HTTPS met een vertrouwd certificaat
Om een vertrouwd certificaat voor Nextcloud te gebruiken, moet u eerst een domein bezitten of een ondertekend certificaat van een hostnameprovider hebben. Als u eerder een zelfondertekend certificaat gebruikte en de stappen in de vorige sectie volgde om HTTPS in te schakelen, verwijdert u het tekstgedeelte dat onderaan het bestand is toegevoegd en voert u de opdrachten uit “sudo a2dismod ssl” en “sudo systemctl herstart apache2”Vergeet niet om control + “O” en control + “X” te gebruiken om op te slaan en nano af te sluiten als je klaar bent.

HTTPS-installatie voor domeineigenaren (via Certbot)
Nu het virtuele hostbestand weer een standaard HTTP-configuratie heeft, kunnen we beginnen met de voorbereidingen om een vertrouwd certificaat van een certificeringsinstantie te gebruiken. Als u een domein bezit, volgt u deze stappen om een certificaat te verkrijgen en te implementeren. Als u dat niet hebt, gaat u naar de volgende sectie, waarin wordt beschreven hoe u een certificaat kunt gebruiken dat is verkregen van een hostnameprovider. Om een certificaat te verkrijgen dat met uw eigen domein wordt gebruikt, gebruiken we Certbot van Let's Encrypt, een non-profitorganisatie die gratis certificaten verstrekt voor gebruik in webservers.
Om Certbot te downloaden, moet u eerst Snap installeren en updaten met “sudo snap kern installeren en sudo snap kern vernieuwen”. Typ dan “sudo snap install –klassieke certbot” (twee streepjes op een rij vóór “classic”) om het pakket te installeren.


Nadat Certbot klaar is, opent u het virtuele hostbestand opnieuw door te typen “sudo nano /etc/apache2/sites-available/nextcloud.conf” en druk op enter. Voeg de volgende regels direct boven de header om het herschrijven van HTTP-URL's als HTTPS mogelijk te maken en te vervangen “nextcloud-demo.moose.local” met de volledig gekwalificeerde domeinnaam van uw server:
RewriteEngine op RewriteCond %{SERVER_NAME} = nextcloud-demo.moose.local RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Het voltooide virtuele hostbestand zou er als volgt uit moeten zien:

HTTPS-installatie met behulp van een certificaat van een hostnameprovider
De stappen voor het gebruiken van een certificaat van een hostnameprovider om HTTPS op uw Nextcloud-server in te schakelen, zijn identiek aan die in de sectie 'HTTPS met een zelfondertekend certificaat' in dit artikel, met als enige uitzondering dat u het pad naar de zelfondertekende sleutels moet vervangen door een pad naar de sleutels van uw hostnameprovider. Opdrachten zoals “wget” en “mv” kan worden gebruikt om de certificaatbestanden te downloaden en te verplaatsen naar de juiste mappen (/etc/ssl/certs voor het certificaatbestand en /etc/ssl/private voor het sleutelbestand). Zorg ervoor dat u de Apache SSL-module inschakelt met de “sudo a2enmod ssl” commando en gebruik “sudo systemctl herstart apache2” wanneer u klaar bent om uw wijzigingen toe te passen. Het voltooide virtuele hostbestand voor het gebruik van certificaatbestanden zou er ongeveer zo uit moeten zien (met de velden SSLCertificateFile en SSLCertificateKeyFile vervangen door paden naar uw aangepaste certificaat- en sleutelbestanden):
De Antivirus voor Bestanden-app installeren
Hoewel Nextcloud gegevens veilig via HTTPS kan verzenden, betekent dat niet dat alles wat u of uw gebruikers uploaden veilig is. Of het nu opzettelijk of onopzettelijk is, malware-infecties op webservers kunnen enorme schade aanrichten en zich razendsnel verspreiden naar andere systemen als er niet snel iets aan wordt gedaan. Voor een extra beschermingslaag tegen kwaadwillenden op internet is een antivirusprogramma een must-have voor servers die toegankelijk zijn vanaf internet.
ClamAV is een gratis en open-source antivirus suite die kan worden geïntegreerd met Nextcloud om bestanden die door gebruikers zijn geüpload te scannen op malware. De Nextcloud app store heeft een app genaamd "Antivirus for files" die ClamAV gebruikt als backend om gebruikersbestanden te scannen en uw server te beschermen. Deze app kan worden gedownload door naar het tabblad "Apps" te navigeren door te klikken op de profielfoto van uw beheerdersaccount en de categorie "Security" te selecteren.



- Het configuratiebestand automatisch verwerken? Ja
- Socket type: UNIX
- Lokale (UNIX) socket clamd luistert naar: /var/run/clamav/clamd.ctl
- Groepseigenaar van clamd lokale (UNIX) socket: ClamAV
- Aanmaakmodus voor clamd lokale (UNIX) socket: 666
- Hoe kan ik overgebleven UNIX-socketbestanden op een elegante manier verwerken? Ja
- Wilt u e-mailscanning inschakelen? Nee
- Wilt u archiefscannen inschakelen? Nee
- U kunt "Ja" selecteren voor deze prompt, maar er is aanvullende configuratie vereist als u dat wilt. Zie de ClamAV-documentatie voor meer informatie: https://docs.clamav.net/manual/Installing/Packages.html#the-packages
- Maximale toegestane directorydiepte: 15
- Wilt u dat de daemon de normale bestands-symlinks volgt? Ja
- Time-out voor het stoppen van de threadscanner (seconden): 180
- Aantal threads voor de daemon: 2
- Trek 2 af van het aantal cores/vCPU's dat uw Nextcloud-server heeft en voer dat getal in dit veld in.
- Aantal toegestane verbindingen in behandeling: 15
- Wilt u de systeemlogger gebruiken? Nee
- Logbestand voor clamav-daemon (voer geen in om uit te schakelen): /var/log/clamav.log
- Wilt u bij elk bericht tijdinformatie vastleggen? Nee
- Als een grote hoeveelheid schrijfbewerkingen niet schadelijk is voor uw systeem, kiest u in plaats daarvan “Ja”.
- Wilt u logrotatie inschakelen? Ja
- Vertraging in seconden tussen zelfcontroles van de daemon: 3600
- Gebruiker moet clamav-daemon uitvoeren als: ClamAV
- Groepen voor clamav-daemon (gescheiden door spaties): www-data
- Wilt u bytecode uit de database laden? Ja
- Beveiligingsniveau dat op de bytecode moet worden toegepast: VertrouwenGetekend
- Bytecode-uitvoeringstime-out in milliseconden: 60000
Oef! Dat was een hoop configureren! Gelukkig hoeven we het maar één keer te doen. Gebruik “systemctl schakelt clamav-freshclam in” en “systemctl schakelt clamav-daemon in” om ClamAV te laten starten nadat het systeem is opgestart, en we kunnen beginnen met het configureren van de Nextcloud-app "Antivirus voor bestanden".
Meld u aan bij Nextcloud met een webbrowser op een andere computer die is verbonden met hetzelfde netwerk en subnet als uw Nextcloud-server en klik op de profielfoto van uw admin-gebruiker. Klik op de optie 'Administration settings' in het vervolgkeuzemenu en selecteer de sectie 'Security' nadat de pagina is geladen.

Nextcloud-integraties en algemene verbeteringen
Nu we een functionele en veilige cloudserver hebben gebouwd voor het opslaan van gegevens, kunnen we de mogelijkheden ervan uitbreiden en nieuwe functies toevoegen. Laten we beginnen met het aanpakken van wat laaghangend fruit: Nextcloud verbinden met een e-mailserver en de standaard telefoonregio instellen.
Een e-mailserver verbinden
Om e-mailmeldingen, activiteitswaarschuwingen en wachtwoordherstelkoppelingen (voor niet-LDAP-gebruikers) te verzenden, moet Nextcloud verbonden zijn met een werkende e-mailserver. Als u uw e-mailserver zelf host, is de installatie net zo eenvoudig als het invoeren van de juiste serveradressering en authenticatiegegevens. U kunt ook een e-mailserver van derden gebruiken met een e-mailadres dat u al hebt, zoals de SMTP-server van Gmail.
Navigeer naar de volledig gekwalificeerde domeinnaam of het IP-adres van uw Nextcloud-server met behulp van een webbrowser op een computer op hetzelfde netwerk en subnet als uw server. Klik op de profielfoto van uw admin-gebruiker en selecteer 'Administration settings' in het dropdownmenu.


Om de SMTP-server van Gmail te gebruiken met een Google-account dat u al bezit, navigeert u eerst naar https://myaccount.google.com/apppasswords en maak een app-wachtwoord door de instructies op de site te volgen. Geef uw app-wachtwoord een naam die is gekoppeld aan uw Nextcloud-server en bewaar uw wachtwoord op een veilige locatie. Let op: het wachtwoord wordt weergegeven met spaties om de vier tekens, maar bevat deze spaties niet. App-wachtwoorden zijn reeksen van zestien aaneengesloten letters.
Vul de volgende e-mailservervelden in zoals hieronder vermeld:
- Verzendmodus: SMTP
- encryptie: Geen/STARTTLS
- Van adres: JohnDoe @ opslagreview.com
- Voer hier het adres van uw Gmail-account in.
- Serveradres: smtp.gmail.com : 587
- authenticatie: Ja (vinkje aan)
- Geloofsbrieven: [e-mail beveiligd] appwachtwoordhier
- Voer hier het adres van uw Gmail-account en het app-wachtwoord in dat u hebt aangemaakt.
Wanneer u klaar bent, klikt u op de knop "Opslaan" en gebruikt u de knop "E-mail verzenden" om te controleren of uw configuratie geldig is.
Als u nog geen e-mailadres hebt ingesteld voor het admin-gebruikersaccount dat u gebruikt, ontvangt u een waarschuwing waarin u wordt gevraagd dit te doen. Dit kunt u eenvoudig oplossen door te klikken op de profielfoto van uw admin-gebruiker, 'Persoonlijke instellingen' te selecteren in het vervolgkeuzemenu en uw e-mailadres in te voeren in het veld 'E-mail'. Als u klaar bent, gaat u terug naar de module 'E-mailserver' onder 'Basisinstellingen' op de pagina 'Beheerinstellingen' en voert u de configuratie indien nodig opnieuw in.
De standaard telefoonregio instellen
Een snelle maar nuttige wijziging die we kunnen doorvoeren om Nextcloud telefoonnummers beter te laten verwerken, is het instellen van een standaardtelefoonregio voor de instantie. Wanneer gebruikers hun profiel invullen in de instellingen voor 'Persoonlijke info' onder 'Persoonlijke instellingen', wordt hen gevraagd om optioneel een telefoonnummer op te geven voor contactdoeleinden. Zonder een standaardtelefoonregio dwingt Nextcloud gebruikers om een landcode met dit nummer in te voeren. Door de standaardtelefoonregio in te stellen, kunnen gebruikers dit voorvoegsel uitsluiten.
Gebruik in de Nextcloud-serverconsole “sudo nano /var/www/html/nextcloud/config/config.php” om het PHP-configuratiebestand van de Nextcloud-site te bewerken.

'default_phone_region' => 'VS',
-
- De unieke ISO 3166-1-code die voor uw land voor dit veld wordt gebruikt, kunt u vinden op de volgende Wikipedia-pagina: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
Om veiligheidsredenen mag u de inhoud van uw Nextcloud-instantie aan niemand laten zien. “config.php” bestand. Het bevat gevoelige informatie zoals wachtwoorden en systeemgeheimen die alleen u of uw systeembeheerder(s) zouden moeten weten. Nadat u klaar bent met het toevoegen van de standaard telefoonregiolijn aan uw configuratiebestand, slaat u de nieuwe inhoud op door control (ctrl) ingedrukt te houden en op "O" te tikken, en vervolgens control ingedrukt te houden en op "X" te tikken om af te sluiten. Om de wijzigingen toe te passen, voert u in “sudo systemctl herstart apache2” in de console en druk op enter.
Een onderhoudsvenster instellen
Een andere kleine verbetering die we kunnen aanbrengen in het PHP-configuratiebestand van de Nextcloud-site is het instellen van een onderhoudsvenster voor de server om intensievere en mogelijk gebruikersbeïnvloedende taken uit te voeren. Het venster wordt ingesteld met behulp van UTC-tijd, dus u moet de gewenste starttijd van het onderhoudsvenster omzetten in een equivalente UTC-tijd (uitgedrukt als een geheel getal tussen 1 en 24). Het onderhoudsvenster duurt vier uur, dus een onderhoudsvenster dat begint om 3:00 AM UTC eindigt om 7:00 AM UTC.
Gebruik “sudo nano /var/www/html/nextcloud/config/config.php” om het PHP-configuratiebestand opnieuw te bewerken en deze regel toe te voegen vóór de afsluitende haak “);”, volgens de spatieconventies die worden gebruikt door de regels die al in het bestand staan:
'onderhoudsvenster_start' => 1,
-
- Vergeet niet om “1” te vervangen door de gewenste starttijd van het onderhoudsvenster, vertaald naar UTC-tijd.

Integratie van LDAP/Active Directory-server
Als u van plan bent om meerdere gebruikers toegang te geven tot uw Nextcloud-instantie, is een van de krachtigste functies die u aan Nextcloud kunt toevoegen de mogelijkheid om verbinding te maken met en te authenticeren een LDAP- of Active Directory-server. Veel organisaties en homelabbers gebruiken Active Directory of LDAP om gebruikerstoegang tot netwerkbronnen op een gecentraliseerde manier te organiseren en te beheren, en Nextcloud is daarop geen uitzondering. Met de app "LDAP-gebruiker en groepsbackend" kunnen gebruikers van uw Active Directory-domein of LDAP-server worden geïmporteerd in uw Nextcloud-server en inloggen met hun gebruikersnaam of e-mailadres en hun wachtwoord. Deze functie wordt nog krachtiger in combinatie met externe opslag (zoals een SMB-share op een NAS) die individuele 'home'-mappen biedt voor gebruikers met machtigingen die specifiek zijn voor die gebruiker.
Om de app "LDAP user and group backend" te installeren, klikt u eerst op de profielfoto wanneer u bent ingelogd op de Nextcloud-webpagina met uw admin-gebruikersaccount. Selecteer "Apps" in het vervolgkeuzemenu dat verschijnt en klik op de module "Featured apps". Scrol omlaag totdat u de app "LDAP user and group backend" vindt en klik op de knop "Enable".

Ga nogmaals naar de pagina 'Beheerinstellingen' door op de profielfoto van uw beheerder te klikken en deze te selecteren in het dropdownmenu. Klik op de module 'LDAP/AD-integratie' om te beginnen.

- host: 192.168.1.102
- Vervang dit door het IP-adres/de hostnaam van uw LDAP-server of Active Directory-domeincontroller.
- Port: 389
- Als u Active Directory gebruikt, gebruikt u poort 389. Als u een ander type LDAP-server gebruikt of de poort hebt aangepast waarnaar uw AD-server luistert voor LDAP-aanvragen, voert u hier het specifieke nummer in.
- Gebruiker DN: CN=Beheerder,CN=Gebruikers,DC=moose,DC=lokaal
- Voer de distinguished name in voor het account dat wordt gebruikt om Nextcloud te verbinden met uw LDAP/AD-server. Als u Active Directory gebruikt, kunt u dit eenvoudig vinden door deze opdracht uit te voeren met behulp van een CMD-venster, waarbij u 'Administrator' vervangt door de gebruikersnaam van het account dat u gebruikt voor de verbinding:
- dsquery gebruikersnaam “Beheerder”
- Klik op de knop 'Inloggegevens opslaan' nadat u dit veld hebt ingevuld.
- Voer de distinguished name in voor het account dat wordt gebruikt om Nextcloud te verbinden met uw LDAP/AD-server. Als u Active Directory gebruikt, kunt u dit eenvoudig vinden door deze opdracht uit te voeren met behulp van een CMD-venster, waarbij u 'Administrator' vervangt door de gebruikersnaam van het account dat u gebruikt voor de verbinding:
- Eén basis-DN per lijn: DC=eland,DC=lokaal
- Klik op de knop “Basis-DN detecteren” nadat u de vorige inloggegevens hebt opgeslagen om automatisch de basis-DN voor de LDAP/AD-server te bepalen.
- Klik eventueel op de knop “Test Base DN” om te controleren of de configuratie tot nu toe geldig is.





Integratie van externe opslag
Een andere krachtige toevoeging aan uw Nextcloud-server is de mogelijkheid om verbinding te maken met en externe opslagpools te gebruiken. Gebruikersbestanden rechtstreeks op de server zelf plaatsen, kan leiden tot problemen met betrekking tot het beheer van de opslag van de server en het voortdurend moeten verhogen van de capaciteit om aan de vraag van de gebruiker te voldoen. Als u niet voortdurend waakzaam bent bij het afdwingen van quota's en het verwijderen van onnodige gegevens die door gebruikers zijn gemaakt, kan dit leiden tot frustratie en onverwachte downtime. Het scheiden van de webserver- en opslagcomponenten van een Nextcloud-installatie wordt ten zeerste aanbevolen en is cruciaal wanneer u streeft naar het creëren van een schaalbaar cloudopslagsysteem en een prettige gebruikerservaring.
Met de app “Externe opslagondersteuning” voor Nextcloud kunt u mappen koppelen van de volgende opslagtypen:
- Amazon S3
- FTP
- Nextcloud
- Ja, dat klopt. U kunt verbinding maken met de opslagruimte op andere Nextcloud-servers en deze gebruiken!
- OpenStack-objectopslag
- SFTP
- SMB / CIFS
- WebDAV
Zoals u kunt zien, zijn er verschillende keuzes om Nextcloud te verbinden met externe opslagarrays, clouds en andere systemen. Als voorbeeld verbinden we een Nextcloud-instance met een SMB-share die de toegang tot verschillende mappen beheert met behulp van machtigingen die zijn verleend aan gebruikers die zijn geïmporteerd uit het Active Directory-domein waarmee we eerder verbinding hebben gemaakt.
Om de app "Externe opslagondersteuning" in te schakelen, klikt u op de profielfoto van uw beheerder wanneer u bent ingelogd op de site en selecteert u "Apps". Navigeer nogmaals naar "Uitgelichte apps" en zoek de module met het label "Externe opslagondersteuning". Klik op de knop "Inschakelen" om de applicatie beschikbaar te maken.


- authenticatie: Handmatig ingevoerd, opslaan in database
- Om gebruikers handmatig hun eigen gebruikersnaam en wachtwoord voor authenticatie te laten invoeren, kiest u deze optie. Om een set statische referenties te gebruiken om gebruikers toegang te geven tot een SMB-share, kiest u 'Login en wachtwoord'. Selecteer anders de optie die het beste bij uw behoeften past in het vervolgkeuzemenu.
- Mapnaam: familiaal
- Deze naam kan worden ingesteld op wat u maar wilt gebruiken om de opslag te beschrijven die u mount. Voorbeelden: "SMB" of de naam van de share die u mount.
- host: 192.168.1.140
- Vervang deze waarde door het IP-adres of de FQDN van de server waarop de SMB-share staat waarmee u verbinding wilt maken.
- Delen: familiaal
- Vervang deze waarde door de naam van de share die u wilt koppelen en die aanwezig is op de server die u hebt ingevoerd in het veld 'Host'.
- Externe submap: \
- Om de bovenste map van de share (de gedeelde map zelf) te mounten, gebruikt u “\”. Anders voert u het pad naar een submap in de gewenste share in op deze manier:
- \submap\nog_een_submap\nog_een_submap
- Om de bovenste map van de share (de gedeelde map zelf) te mounten, gebruikt u “\”. Anders voert u het pad naar een submap in de gewenste share in op deze manier:
- Domain: ELAND
- Vervang deze waarde door de NetBIOS-naam voor een domein als toegang tot de share wordt beheerd met behulp van LDAP of Active Directory. Dit veld is niet vereist als de share niet wordt beheerd door een LDAP/AD-server.
- Verborgen bestanden weergeven: Check
- Vink dit vakje aan als gebruikers verborgen bestanden (bestanden die beginnen met een “.”-teken) moeten kunnen bekijken.
- Hoofdlettergevoelig bestandssysteem: Check
- Controleer ACL-toegang bij het weergeven van bestanden: Check
- Deze optie is extreem belangrijk om toegangscontrole goed te laten functioneren. Anders, als twee gebruikers dezelfde share hebben gemount en mappen hebben geconfigureerd zodat de ander geen toegang heeft, kunnen ze nog steeds elkaars bestanden bekijken.
- Alle mensen: Check
- Selecteer deze optie als u wilt dat alle Nextcloud-gebruikers inloggegevens kunnen invoeren voor de SMB-share en er verbinding mee kunnen maken. Anders selecteert u een lokale groep op het Nextcloud-exemplaar om de share beschikbaar te maken met behulp van het onderstaande veld.
- Helaas is het op het moment van schrijven niet mogelijk om een LDAP/Active Directory-groep te selecteren met behulp van het veld onder deze optie als deze niet is geselecteerd.
- Selecteer deze optie als u wilt dat alle Nextcloud-gebruikers inloggegevens kunnen invoeren voor de SMB-share en er verbinding mee kunnen maken. Anders selecteert u een lokale groep op het Nextcloud-exemplaar om de share beschikbaar te maken met behulp van het onderstaande veld.
Nadat u de SMB-shareconfiguratiegegevens voor uw specifieke installatie hebt ingevoerd, klikt u op het vinkje om deze op te slaan en beschikbaar te maken voor gebruikers.

Om het instellen van de SMB-share te voltooien, moeten gebruikers naar de module 'Externe opslag' onder 'Persoonlijke instellingen' navigeren nadat ze op hun profielfoto hebben geklikt en deze hebben geselecteerd in het vervolgkeuzemenu.


Nextcloud omtoveren tot een echte webserver
Nu is uw feature-rijke Nextcloud-instantie bijna klaar om een openbaar beschikbare en krachtige webserver te worden! Voordat we de sluizen openen, moeten we ervoor zorgen dat de server intensieve verzoeken van meerdere gebruikers die toegang hebben tot bestanden aankan. We hebben de prestaties al verbeterd door verschillende belangrijke bewerkingen aan de PHP-configuratie van het systeem te maken, en het toevoegen van ondersteuning voor geheugencaching kan dat versterken.
Geheugencaching instellen – APCu
ACPu is een PHP-cache die helpt de toegangstijden van veelgebruikte objecten te versnellen. We gebruiken het als de eerste cache voor onze Nextcloud-instantie. Voordat we de APCu-cache inschakelen, moeten we een paar wijzigingen aanbrengen in het bestand "php.ini" van ons systeem.
Gebruik “sudo nano /etc/php/8.3/apache2/php.ini” om het bestand te bewerken. Scrol naar het einde van het bestand door de pijl-omlaagtoets een langere tijd ingedrukt te houden. Voeg in een nieuwe regel onderaan het bestand de volgende regels toe:
apc.enable_cli=1
apc.shm_grootte=128M

Om het inschakelen van de APCu-cache te voltooien, gebruikt u “sudo nano /etc/php/8.3/mods-available/apcu.ini” en voeg “apc.enable_cli=1” onderaan het configuratiebestand, zoals we dat deden voor de “php.ini” bestand. Gebruik control (ctrl) + “O” en control (ctrl) + “X” opnieuw om het configuratiebestand op te slaan en te verlaten.

Type “sudo nano /var/www/html/nextcloud/config/config.php” in de console en druk op enter. In het Nextcloud PHP-configuratiebestand voegen we één regel toe om Nextcloud APCu te laten gebruiken voor lokale geheugencaching:
'memcache.local' => '\OC\Memcache\APCu',
Plaats deze regel vóór de afsluitende “);” haak, volgens de spatieconventies van de vorige configuratiebestandsregels. Houd nogmaals control (ctrl) ingedrukt en druk op “O” en vervolgens control (ctrl) en “X” om op te slaan en af te sluiten.


Geheugencaching instellen – Redis
U vraagt zich misschien af: "Waarom heeft mijn webserver twee verschillende geheugencaches nodig? Is één niet genoeg?" Het antwoord op deze vraag is eigenlijk vrij eenvoudig. Net zoals elk gereedschap in een winkel zijn eigen toepassing heeft, geldt dat ook voor APCu en Redis. APCu is een uitstekende lokale geheugencache en presteert aanzienlijk beter dan de laatste in deze categorie, terwijl Redis schittert in gedistribueerde caching en transactionele bestandsvergrendeling.
Om aan de slag te gaan met Redis, bewerken we het Redis-systeemconfiguratiebestand door het volgende in te voeren:
"sudo nano /etc/redis/redis.conf" in de console en druk op enter. Standaard luistert de Redis-service naar een TCP-poort voor caching en transactiebestandvergrendelingsverkeer, maar voor een enkele serveropstelling is een Unix-socket de voorkeursmethode voor communicatie. Het gebruik van een TCP-poort zou zinvol zijn als we de Redis-service via een netwerk aanbieden, maar een Unix-socket is veel efficiënter voor communicatie tussen de Redis- en Nextcloud-webserverprocessen.
Zodra u nano hebt ingevoerd, houdt u de control (ctrl)-toets ingedrukt en drukt u op "W" om de zoekfunctie van nano te activeren. Typ “unix-socket” in de zoekbalk en druk op enter, en nano springt naar de “Unix-socket” configuratiegedeelte van het bestand. In de “Unix-socket” sectie, verwijder de "#" tekens en lege ruimtes voor “unixsocket /run/redis/redis-server.sock” en “unixsocketperm 700”. Verander de "700" naar "770", en scroll omhoog totdat u de regel vindt die luidt “poort 6379”. We zullen deze waarde wijzigen in "0", wat de Redis-server effectief vertelt om niet te luisteren op een TCP-poort voor verbindingen. Bekijk de onderstaande afbeeldingen om uw configuratiebestand te valideren voordat u control (ctrl) + "O" en control (ctrl) + "X" gebruikt om het bestand op te slaan en te sluiten.
Met deze wijzigingen in het Redis-systeemconfiguratiebestand kunnen we nu specificeren dat we Redis willen gebruiken voor gedistribueerde caching en transactionele bestandsvergrendeling in het Nextcloud PHP-configuratiebestand. Open dit bestand in nano met behulp van “sudo nano /var/www/html/nextcloud/config/config.php”.

'memcache.distributed' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => [ 'host' => '/run/redis/redis-server.sock', 'poort' => 0, ],
Als u de regels correct hebt ingevoerd, zou het geheugencachegedeelte van uw PHP-configuratiebestand er als volgt uit moeten zien:


Nextcloud blootstellen aan het internet
We zijn bijna klaar! De laatste stap bij het implementeren van uw Nextcloud-server is het toegankelijk maken voor het openbare internet. Voor deze stap moet u poortdoorsturing configureren op uw router, en het kan zijn dat u wat onderzoek moet doen. Gebruik de catalogus met poortdoorsturingshandleidingen op https://portforward.com/router.htm om te proberen de fabrikant van uw router te vinden en de oplossing door te lezen. Als u de fabrikant van uw router niet in de lijst kunt vinden of een enterprise/homemade router gebruikt, moet u mogelijk wat zoeken op internet totdat u de juiste methode vindt.
Wanneer u poortdoorsturing configureert, stuurt u poorten 80 en 443 door vanaf het privé-IP-adres van uw Nextcloud-server (dat u kunt vinden met behulp van de “hostnaam -I” command) naar het openbare IP-adres van de router. Als uw internetprovider u geen openbaar IP-adres verstrekt, moet u een service gebruiken zoals Cloudflare's Tunnels, waarmee u een beveiligde tunnel kunt maken tussen uw webserver en de servers van Cloudflare, die verkeer van websitebezoekers terug naar u doorsturen.
Als u een domein bezit of een hostnaam van een hostnameprovider gebruikt, zorg er dan voor dat uw DNS-records zo zijn ingesteld dat ze verwijzen naar het openbare IP-adres van uw server. Sommige serviceproviders bieden optioneel de mogelijkheid om uw IP-adres volledig te verbergen voor websitebezoekers en die gegevens veilig van hun servers terug naar de uwe te transporteren.
Onderhouden en upgraden van Nextcloud
Ervoor zorgen dat uw Nextcloud-server de nieuwste updates en beveiligingspatches heeft, is een belangrijk onderdeel van het snel en veilig houden van uw cloudopslag. Voordat we klaar zijn, laten we een paar manieren doornemen om uw server als nieuw te laten draaien!
Post-inzet commando's
Nadat u uw Nextcloud-server hebt geïmplementeerd, hebt u mogelijk enkele waarschuwingen opgemerkt op de pagina 'Overzicht' nadat u op 'Beheerinstellingen' in het profielfotomenu hebt geklikt. Soms bevatten deze waarschuwingen ook opdrachten die kunnen worden uitgevoerd om het probleem waarover de waarschuwing gaat, onmiddellijk op te lossen. Meestal moeten de opdrachten worden uitgevoerd zoals de “www-gegevens” gebruiker en uitvoeren vanaf de “/var/www/html/nextcloud” map. Type “cd /var/www/html/nextcloud” en druk op enter om de huidige werkmap te wijzigen naar de juiste map, en voeg in “sudo -u www-gegevens” vóór elk van de opdrachten.
We kunnen nu een aantal van deze opdrachten uitvoeren om de waarschuwingen te verhelpen voordat ze problemen worden:
sudo -u www-data php occ db:add-missing-columns
sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ db:add-missing-primary-keys
Deze commando's zorgen ervoor dat de database correct is ingesteld en dat er geen belangrijke informatie ontbreekt. Happy database, happy life! Toch?
Ubuntu Server up-to-date houden
Regelmatig het besturingssysteem en de softwarepakketten van uw server updaten is belangrijk om het veilig en snel te houden. Zoek een periode waarin het gebruik van uw server elke week of twee laag is en voer de volgende opdrachten uit:
sudo apt update && sudo apt upgrade -y
herstart sudo
Met deze opdrachten worden het besturingssysteem en de softwarepakketten van de server bijgewerkt en wordt de server opnieuw opgestart, zodat de wijzigingen worden toegepast wanneer de server opnieuw wordt opgestart.
Nextcloud upgraden
Omdat Nextcloud niet met een pakketbeheerder is geïnstalleerd, worden de softwarepakketten van de server bijgewerkt met “geschikt” zal Nextcloud niet automatisch naar de volgende versie pushen. Om te beginnen met het upgraden van onze Nextcloud-server, moeten we klikken op de profielfoto van de beheerder in de rechterbovenhoek van de webpagina en "Beheerinstellingen" selecteren in het vervolgkeuzemenu. Op de pagina "Overzicht" kunnen we zien dat er een upgrade beschikbaar is - in dit geval versie 30.0.1. Als er geen update-optie op de pagina "Overzicht" verschijnt, maak je dan geen zorgen, je hebt al de nieuwste versie! Kijk hier af en toe om te zien wanneer er een nieuwe versie beschikbaar is.
Zodra u hebt vastgesteld dat er een update beschikbaar is en het geschikte upgradevenster is bereikt, schakelt u terug naar de console van de server en voert u deze opdracht in:
sudo chown -R www-data: www-data / var / www
Met deze opdracht wordt de “www-gegevens” gebruiker als eigenaar van de "Www" map en alle submappen en bestanden, zodat het upgradeproces toegang heeft tot alle bestanden en deze kan wijzigen.
Zodra die opdracht is voltooid, ga je terug naar de pagina "Overzicht" onder het menu "Beheerinstellingen" en klik je op de knop met het label "Updater openen". Dit brengt je naar het menu "Updater".
Vanaf hier kunt u op de knop "Start update" klikken om de updateverificatie en het downloadproces van Nextcloud te starten. Als alles correct werkt, ziet u groene vinkjes naast elke stap voor "Continue with web based updater".
Let op: Als het updateproces mislukt bij de stap 'Downloaden', probeer het dan opnieuw totdat het werkt. Het kan meerdere pogingen kosten.
Zodra alle groene vinkjes in het menu "Updater" zijn verschenen, klikt u op de knop met het label "Onderhoudsmodus uitschakelen en doorgaan in de webgebaseerde updater". Op het scherm dat daarna verschijnt, klikt u op "Update starten" om het updateproces te voltooien en te beginnen met het toepassen ervan.
Als alternatief kunt u, zoals voorgesteld op de pagina voor grotere of tragere servers, navigeren naar de “volgende cloud” map en voer de upgrade daar handmatig uit met behulp van de volgende opdrachten:
cd /var/www/html/nextcloud
sudo -u www-data php occ-upgrade
Zodra de upgrade is voltooid, wordt u doorgestuurd naar de "Dashboard"-pagina op de website van uw Nextcloud-server. Uw server draait nu de nieuwste en beste versie van Nextcloud!
Gefeliciteerd! Het is je gelukt!
U bent nu de trotse eigenaar en beheerder van een volledig functionele, geharde en krachtige Nextcloud-server. U kunt nu familieleden of vrienden uitnodigen om uw server te gebruiken voor cloudopslag als u dat wilt. Vergeet niet dat Nextcloud een zeer modulair platform is, dus wees niet bang om nieuwe apps te proberen of uw configuratie te wijzigen om aan uw behoeften te voldoen! Zorg ervoor dat u zo snel mogelijk regelmatige back-ups van de server instelt en houd alles in de gaten om er zeker van te zijn dat alles goed werkt.
Een rondleiding door de Nextcloud-opstelling van de auteur
Wauw, je hebt het allemaal doorstaan en je wilt nog meer lezen? Beschouw ons als onder de indruk! Hier is een korte rondleiding en wat foto's van de Nextcloud-opstelling van de auteur als je op zoek bent naar een beetje inspiratie:
- Hardware:
- Virtualisatieserver:
- OS: Proxmox Virtualisatieomgeving
- Behuizing: Supermicro SC216 met optionele achterste redundante opstartschijfkooi
- CPU: Intel Xeon E5-2683
- RAM: 4x 32 GB DDR4 2400 MHz ECC RDIMM's
- Moederbord: Gigabyte MU70-SU0 (LGA 2011-3)
- HBA: Broadcom SAS 9305-24i
- NIC: Intel X520-DA2 2-poorts 10 GbE SFP+-adapter
- GPU: NVIDIA Quadro K1200
- Opstartschijven: 2x Samsung 850 EVO 120 GB SATA SSD's
- Gegevensschijven: 24x Samsung 860 EVO 250 GB SATA SSD's
- NAS:
- OS: TrueNAS-SCHAAL
- Behuizing: HPE ProLiant MicroServer Gen10 Plus
- CPU: Intel Xeon E-2224
- RAM: 2x 16 GB DDR4 2666 MHz ECC UDIMM's
- HBA: Ingebouwde HPE Smart Array E208i-p SR Gen10-controller
- NIC: HPE Ethernet 560SFP+ 2-poorts 10 GbE SFP+-adapter
- Opstartschijf: Micron M600 256 GB SATA SSD (USB-verbinding)
- Cache-drives: 2x Samsung 860 EVO 250 GB SATA SSD's (via USB aangesloten)
- Gegevensschijven: 4x WD Red Plus 4 TB 5400 RPM HDD's
- Back-upschijf: WD Red Pro 14 TB 7200 RPM HDD (via USB aangesloten)
- Modem:
- Netgear CM1200
- DOCSIS 3.1
- 4x 1 GbE RJ45 WAN-poorten (compatibel met 2-poorts linkaggregatie)
- Router:
- Besturingssysteem: pfSense
- Behuizing: Dell OptiPlex 7040 SFF
- CPU: Intel Core i5 6500
- RAM: 8 GB DDR4
- NIC: Intel E1G44ET 4-poorts 1 GbE RJ45-adapter
- Opstartschijven: 2x Samsung 860 EVO 250 GB SATA SSD's
- Kernschakelaar:
- Dell-netwerken N4032F
- 24x 10 GbE SFP+-poorten
- 2x 40 GbE QSFP+-poorten
- 1 GbE-beheerpoort
- Toegangsschakelaar:
- Dell-netwerken X1052
- 48x 1 GbE RJ45-poorten
- 4x 10 GbE SFP+-poorten
- Toegangspunten:
- Besturingssysteem: OpenWRT
- Linksys EA8300 MaxStream
- AC2200
- MU-MIMO
- Wi-Fi 5 (802.11ac)
- 1x 1 GbE RJ45 LAN-poort
- 4x 1 GbE RJ45 LAN-poorten
- UPS:
- CyberPower CP1500AVRLCD3
- 1500VA
- 900W
- Virtualisatieserver:
- Virtuele machines:
- Proxmox Virtualisatieomgeving:
- 2x Windows Server 2022 Datacenter-domeincontrollers
- Ubuntu Server 24.04.1 Nextcloud webserver
- Windows Server 2022-gameserver
- TrueNAS-SCHAAL:
- Back-updoel van Proxmox Backup Server
- Proxmox Virtualisatieomgeving:
Andrew gebruikt zijn Nextcloud-server om dataopslagservices te hosten voor zijn geliefden. Met behulp van een combinatie van een Active Directory-domein met redundante domeincontrollers, een NAS om al die gebruikersgegevens op te slaan en een virtualisatieserver, heeft Andrew zijn opstelling geoptimaliseerd om zowel thuis als overal met een internetverbinding hoogwaardige opslagservices te bieden.
De ruggengraat van zijn opstelling is de Dell Networking N4032F, die 10 gigabit-per-seconde verbindingen biedt tussen zijn Proxmox VE-server en de TrueNAS SCALE-opslagarray. Gegevens-, beheer- en opslagverkeer is verdeeld in drie VLAN's, die extra beveiliging bieden in geval van een inbreuk. Zijn toegangsswitch biedt standaard 1 gigabit per seconde verbindingen naar zijn gaming-pc, toegangspunten en andere verschillende apparaten. Alle servers en virtuele machines worden bewaakt door een Raspberry Pi Model 3B+ met Ubuntu Server en een Uptime Kuma-instantie. Zodra een server/VM uitvalt, wordt Andrew per e-mail op de hoogte gebracht en in het geval van een stroomstoring worden de servers netjes uitgeschakeld zodra de UPS een laag laadniveau meldt.
Andrew heeft ook zijn virtualisatieserver op maat gebouwd met behulp van een Supermicro 24-bay 2U-chassis en onderdelen die hij van eBay en andere 'dubieuze' bronnen heeft verkregen. In een ZFS RAIDZ2-opstelling kan deze 24 SSD-array van louter consumentenschijven een doorvoer van ongeveer 8.2 gigabyte per seconde leveren voor leesbewerkingen en 2.7 gigabyte per seconde voor schrijfbewerkingen naar virtuele machines, zoals hier gemeten op een Windows Server 2022 VM:


Conclusie
We hopen dat u iets waardevols hebt gevonden in deze langdradige maar gedetailleerde Nextcloud-installatiehandleiding. Dingen op de moeilijke manier doen heeft vaak voordelen, en meer weten over uw cloudopslag is altijd goed. Als u dat nog niet hebt gedaan, abonneer u dan op de StorageReview-nieuwsbrief voor meer artikelen over servers, opslagsystemen en homelabs, en bekijk ons op YouTube, TikTok, X (voorheen Twitter) of Instagram!
Referenties/Bronnen:
- 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
- Diverse pagina's
- 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
- Diverse pagina's
- 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/














Conclusie

Amazon