Det er nemt at in­stal­le­re Nextcloud på Debian, og det kræver kun få trin. Du kommer til at opsætte selve cloud-løsningen, som er beskyttet af for­skel­li­ge sik­ker­heds­for­an­stalt­nin­ger.

Nextcloud til Debian

Nextcloud er en anbefalet, gratis cloud-løsning, der byder på en lang række mu­lig­he­der til både privat og er­hvervs­mæs­sig brug. Blandt fordelene ved softwaren er solide sik­ker­heds­funk­tio­ner til da­ta­be­skyt­tel­se, såsom SSL/TLS-kryp­te­ring, to­fak­to­rau­ten­ti­fi­ce­ring og over­hol­del­se af GDPR, samt mu­lig­he­den for at vælge mellem lokale private servere eller eksterne host-servere. Ligesom mange andre Nextcloud-al­ter­na­ti­ver un­der­støt­ter OwnCloud-forken alle gængse ope­ra­tiv­sy­ste­mer og tilbyder nem in­te­gra­tion af en lang række tjenester.

Her vil vi trin for trin forklare, hvordan du in­stal­le­rer Nextcloud på Debian 12. For at gøre dette skal du in­stal­le­re en Apache2-webserver, en MariaDB-server og PHP 8.2. Af sik­ker­heds­mæs­si­ge årsager vil vi vise dig, hvordan du kon­fi­gu­re­rer en Un­com­pli­ca­ted Firewall (UFW) og de nød­ven­di­ge SSL/TLS-cer­ti­fi­ka­ter.

Hvilke krav skal opfyldes?

Der er kun få krav, der skal opfyldes for at in­stal­le­re Nextcloud på Debian 12. Du skal have en server med Debian 12 in­stal­le­ret. Dette kræver mindst 4 gigabyte RAM og to CPU’er. Det er også vigtigt, at du har adgang som en ikke-root-bruger med ad­mi­ni­stra­tor­ret­tig­he­der og har kon­fi­gu­re­ret et do­mæ­ne­navn, der kan pege på serverens IP-adresse.

Installer Apache2-web­ser­ve­ren

Først skal du in­stal­le­re en Apache2-webserver. For at gøre dette skal du opdatere Debians pak­ke­li­ste for at hente den nyeste version. Du kan bruge kom­man­do­en apt update til dette:

sudo apt update
bash

Udfør nu in­stal­la­tio­nen af den nyeste Apache2-pakke ved hjælp af følgende kommando:

sudo apt install apache2
bash

Bekræft in­stal­la­tio­nen med [y] og tryk på [Enter] for at starte in­stal­la­tio­nen.

Efter in­stal­la­tio­nen skal du kon­trol­le­re tje­ne­stens status ved hjælp af følgende systemctl-kom­man­do­er:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

Med den første kommando bør tjenesten starte au­to­ma­tisk, når du starter systemet. Statusen »aktiv« angiver, at Apache2 er klar til brug.

Installer firewall

Beskyt dit system og dine data med en firewall. Vi anbefaler Un­com­pli­ca­ted Firewall (UFW). For at indstille den som standard skal du åbne porte for OpenSSH, HTTP og HTTPS. Installer nu UFW-pakken med følgende kommando:

sudo apt install ufw
bash

Bekræft med [y] og afslut in­stal­la­tio­nen med [Enter]. Aktivér derefter OpenSSH og UFW med:

sudo ufw allow OpenSSH
sudo ufw enable
bash

For at starte UFW skal du bekræfte med [y]. Der vises nu en med­del­el­se om, at fi­rewal­len er aktiv og aktiveret ved sy­stem­start. Tilføj derefter de HTTP- og HTTPS-porte, som web­ser­ve­ren skal bruge. Det gør du ved at køre følgende kommando:

sudo ufw allow "WWW Full"
bash

Indlæs UFW igen:

sudo ufw reload
bash

For at se de ak­ti­ve­re­de regler skal du åbne status for UFW. Her skal WWW Full være aktiveret.

sudo ufw status
bash

Aktivér PHP 8.2

For at opnå den bedst mulige ydeevne og maksimal kom­pa­ti­bi­li­tet anbefaler Nextcloud PHP 8.2. Dette er som standard in­klu­de­ret i Debian 12, så du behøver blot at in­stal­le­re de nød­ven­di­ge pakker. Den relevante kommando er:

sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
bash

Bekræft med [y] og [Enter]. Kon­trol­ler PHP-versionen, og aktiver ud­vi­del­ser­ne:

php --version
php -m
bash

Åbn nu PHP-kon­fi­gu­ra­tions­fi­len med nano-editoren:

sudo nano /etc/php/8.2/apache2/php.ini
bash

Du kan nu foretage ændringer og tilpasse kon­fi­gu­ra­tio­nen efter dine behov. Afhængigt af hvordan du ønsker at bruge Nextcloud på Debian 12, kan andre værdier være an­be­fa­le­de. I så fald skal du ændre indstil­lin­ger­ne i over­ens­stem­mel­se hermed. Kom­man­do­er­ne ser således ud.

Indstil tidszonen:

data.timezone = Europe/Amsterdam
bash

Rediger indstil­lin­ger­ne for memory_limit, upload_max_filesize, post_max_size og max_execution_time:

memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
bash

Aktivér nu file\_uploads og allow\_url\_fopen. I begge tilfælde skal værdien indstil­les til »On«:

file_uploads = On
allow_url_fopen = On
bash

Deaktiver display\_errors og output\_buffering, og sæt de respek­ti­ve værdier til »Off«:

display_errors = Off
output_buffering = Off
bash

Aktivér PHP OPCache ved hjælp af følgende kommando:

zend_extension=opcache
bash

Indsæt kon­fi­gu­ra­tio­nen i opcache-sektionen, som Nextcloud anbefaler til Debian 12:

opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
bash

Til sidst skal du gemme filen og lukke nano-editoren. Genstart nu Apache2-tjenesten:

sudo systemctl restart apache2
bash

Opsætning af MariaDB-server

Nextcloud bruger en MariaDB-server som database. Installer den med denne kommando:

sudo apt install mariadb-server
bash

Bekræft med [y] og [Enter]. Når in­stal­la­tio­nen er gen­nem­ført, skal du indtaste:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Hvis serveren kører pro­blem­frit, skal du sikre systemet. Brug følgende kommando til at oprette en root-ad­gangs­ko­de, fjerne anonyme brugere og slette test­da­ta­ba­sen:

sudo mariadb-secure-installation
bash

Du kan ændre indstil­lin­ger­ne ved at trykke på [y] for at bekræfte og [n] for at afvise.

Opret database og brugere

Nu kan du oprette en ny database og den til­hø­ren­de bruger. For at logge ind på MariaDB-serveren skal du bruge følgende kommando og indtaste din root-ad­gangs­ko­de:

sudo mariadb -u root -p
bash

Brug følgende kom­man­do­er til at oprette en ny database, en bruger og den til­hø­ren­de ad­gangs­ko­de:

CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'yourPassword';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
bash

Erstat »your­Pas­sword« med en stærk ad­gangs­ko­de efter eget valg. Til sidst skal du kon­trol­le­re, om »ne­xtclou­du­ser« har adgang til databasen »nextcloud_db«:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Download de aktuelle kil­de­ko­der

Download de aktuelle kil­de­ko­der for at kunne bruge Nextcloud på Debian 12:

sudo apt install curl unzip -y
bash

Skift til mappen /var/www og hent den nyeste kildekode:

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
bash

Pak filen ud, og ændr ejer­ska­bet af mappen til www-data:

unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bash

Kon­fi­gu­rer Apache2-værten

Kon­fi­gu­rer nu en virtuel Apache2-host. Brug denne nano-kommando:

sudo nano /etc/apache2/sites-available/nextcloud.conf
bash

Tilpas do­mæ­ne­nav­net samt pa­ra­me­tre­ne ErrorLog og CustomLog. Erstat plads­hol­de­ren »example« med dit do­mæ­ne­navn.

<VirtualHost *:80>
    ServerName nextcloud.example.io
    DocumentRoot /var/www/nextcloud/
    # log files
    ErrorLog /var/log/apache2/files.example.io-error.log
    CustomLog /var/log/apache2/files.example.io-access.log combined
    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>
</VirtualHost>
bash

Gem æn­drin­ger­ne, og luk editoren. Aktivér derefter kon­fi­gu­ra­tio­nen ved hjælp af følgende kommando:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Når du får med­del­el­sen »Syntax OK«, skal du genstarte Apache2 og anvende vært­s­kon­fi­gu­ra­tio­nen på det:

sudo systemctl restart apache2
bash

Sikkerhed med SSL/TLS

Du kan nu bruge Nextcloud på Debian 12 via en usikker HTTP-protokol. Det anbefales at kon­fi­gu­re­re HTTPS for at beskytte dine data. For at gøre dette skal du vælge:

sudo apt install certbot python3-certbot-apache
bash

Opret et SSL-cer­ti­fi­kat ved igen at erstatte plads­hol­de­ren »example« med dit do­mæ­ne­navn:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@example.io -d nextcloud.example.io
bash

Gennemfør in­stal­la­tio­nen af Nextcloud på Debian 12

Du kan nu afslutte in­stal­la­tio­nen af Nextcloud på Debian 12. For at gøre dette skal du åbne din web­brow­ser og indtaste do­mæ­ne­nav­net for din Nextcloud-in­stal­la­tion. Indtast et bru­ger­navn og din ad­gangs­ko­de for at oprette en ad­mi­ni­stra­tor. Indtast derefter navnet på din database, bru­ger­nav­net og ad­gangs­ko­den, og klik på »Installer«. Du kan downloade nogle kom­pa­tib­le apps eller springe dette over foreløbig. Du bliver om­di­ri­ge­ret til dit kon­trol­pa­nel og kan nu bruge Nextcloud.

Gå til ho­ved­me­nu­en