Na­me­sti­tev Ne­xt­clo­u­da na Debianu je preprosta in zahteva le nekaj korakov. Nastavili boste dejansko rešitev v oblaku, ki jo varujejo različni varnostni mehanizmi.

Nextcloud za Debian

Nextcloud je pri­po­ro­člji­va brez­plač­na rešitev za ra­ču­nal­ni­štvo v oblaku, ki ponuja številne možnosti tako za zasebno kot za poslovno rabo. Med pred­nost­mi te pro­gram­ske opreme so močne varnostne funkcije za zaščito podatkov, kot so ši­fri­ra­nje SSL/TLS, dvo­fak­tor­sko pre­ver­ja­nje pri­stno­sti in skladnost z GDPR, pa tudi možnost izbire med lokalnimi zasebnimi strežniki ali zunanjimi go­sti­telj­ski­mi strežniki. Podobno kot številne druge al­ter­na­ti­ve Ne­xt­clo­u­du tudi različica OwnCloud podpira vse običajne ope­ra­cij­ske sisteme in omogoča enostavno in­te­gra­ci­jo številnih storitev.

V tem prispevku bomo podrobno razložili, kako v sistemu Debian 12 namestiti Nextcloud. Za to namestite spletni strežnik Apache2, strežnik MariaDB in PHP 8.2. Zaradi varnosti vam bomo pokazali, kako nastaviti požarni zid Un­com­pli­ca­ted Firewall (UFW) in potrebne cer­ti­fi­ka­te SSL/TLS.

Kakšne zahteve je treba izpolniti?

Za na­me­sti­tev Ne­xt­clo­u­da na Debian 12 je potrebnih le nekaj pogojev. Po­tre­bu­je­te strežnik z na­me­šče­nim sistemom Debian 12. Za to je potrebnih vsaj 4 gigabajta po­mnil­ni­ka RAM in dva pro­ce­sor­ja. Pomembno je tudi, da imate dostop kot uporabnik brez pravic root, vendar z upra­vi­telj­ski­mi pravicami, ter da nastavite domensko ime, ki lahko usmerja na IP-naslov strežnika.

Namestite spletni strežnik Apache2

Najprej namestite spletni strežnik Apache2. Za to po­so­do­bi­te indeks paketov Debian, da prenesete naj­no­vej­šo različico. Za to lahko uporabite ukaz apt update:

sudo apt update
bash

Sedaj z na­sle­dnjim ukazom izvedite na­me­sti­tev naj­no­vej­še­ga paketa Apache2:

sudo apt install apache2
bash

Potrdite na­me­sti­tev s tipko [y] in pri­ti­sni­te [Enter], da začnete na­me­sti­tev.

Po na­me­sti­tvi preverite stanje storitve z na­sle­dnji­mi ukazi systemctl:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

Po izvedbi prvega ukaza bi se morala storitev samodejno zagnati ob zagonu sistema. Stanje »active« pomeni, da je Apache2 pri­pra­vljen za uporabo.

Namestite požarni zid

Zaščitite svoj sistem in podatke s požarnim zidom. Pri­po­ro­ča­mo požarni zid Un­com­pli­ca­ted Firewall (UFW). Da ga nastavite kot pri­vze­te­ga, odprite vrata za OpenSSH, HTTP in HTTPS. Sedaj namestite paket UFW z na­sle­dnjim ukazom:

sudo apt install ufw
bash

Potrdite z [y] in na­me­sti­tev za­klju­či­te s tipko [Enter]. Nato vklopite OpenSSH in UFW z:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Za zagon UFW potrdite z [y]. Prikazalo se bo sporočilo, da je požarni zid aktiven in omogočen ob zagonu sistema. Nato dodajte vrata HTTP in HTTPS, ki jih bo upo­ra­bljal spletni strežnik. Za to izvedite naslednji ukaz:

sudo ufw allow "WWW Full"
bash

Ponovno zaženi UFW:

sudo ufw reload
bash

Če želite pre­gle­da­ti ak­ti­vi­ra­na pravila, odprite stanje UFW. Tu mora biti ak­ti­vi­ra­na možnost »WWW Full«.

sudo ufw status
bash

Vklopite PHP 8.2

Za najboljšo možno zmo­glji­vost in največjo zdru­žlji­vost Nextcloud priporoča PHP 8.2. Ta je v Debianu 12 vključen že privzeto, zato morate namestiti le potrebne pakete. Ustrezni ukaz je:

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

Potrdite z [y] in [Enter]. Preverite različico PHP in vklopite raz­ši­ri­tve:

php --version
php -m
bash

Sedaj odprite kon­fi­gu­ra­cij­sko datoteko PHP z ure­je­val­ni­kom nano:

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

Sedaj lahko spre­me­ni­te na­sta­vi­tve in jih pri­la­go­di­te svojim potrebam. Glede na to, kako želite upo­ra­blja­ti Nextcloud v sistemu Debian 12, so morda pri­po­ro­člji­ve druge vrednosti. V tem primeru ustrezno spre­me­ni­te na­sta­vi­tve. Ukazi so naslednji.

Nastavite časovni pas:

data.timezone = Europe/Amsterdam
bash

Spre­me­ni­te na­sta­vi­tve za memory_limit, upload_max_filesize, post_max_size in max_execution_time:

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

Sedaj vklopite na­sta­vi­tvi file_uploads in allow_url_fopen. V obeh primerih mora biti vrednost na­sta­vlje­na na »On«:

file_uploads = On
allow_url_fopen = On
bash

One­mo­go­či­te na­sta­vi­tvi display_errors in output_buffering ter za obe nastavite vrednost »Off«:

display_errors = Off
output_buffering = Off
bash

Vklopite PHP OPCache z na­sle­dnjim ukazom:

zend_extension=opcache
bash

Vnesite kon­fi­gu­ra­ci­jo v oddelek opcache, kot priporoča Nextcloud za 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

Na koncu shranite datoteko in zaprite ure­je­val­nik nano. Sedaj ponovno zaženite storitev Apache2:

sudo systemctl restart apache2
bash

Nastavite strežnik MariaDB

Nextcloud kot bazo podatkov uporablja strežnik MariaDB. Namestite ga s tem ukazom:

sudo apt install mariadb-server
bash

Potrdite z [y] in [Enter]. Po uspešni na­me­sti­tvi vnesite:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Če strežnik deluje brez težav, zavarujte sistem. Z na­sle­dnjim ukazom ustvarite geslo za upo­rab­ni­ka root, od­stra­ni­te anonimne upo­rab­ni­ke in izbrišite testno zbirko podatkov:

sudo mariadb-secure-installation
bash

Na­sta­vi­tve pri­la­go­di­te tako, da pri­ti­sne­te [y] za potrditev ali [n] za zavrnitev.

Ustvarite bazo podatkov in upo­rab­ni­ke

Sedaj lahko ustvarite novo zbirko podatkov in ustre­zne­ga upo­rab­ni­ka. Za prijavo v strežnik MariaDB uporabite naslednji ukaz in vnesite geslo za upo­rab­ni­ka root:

sudo mariadb -u root -p
bash

Z na­sle­dnji­mi ukazi ustvarite novo zbirko podatkov, upo­rab­ni­ka in ustrezno geslo:

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

Besedo »yo­ur­Pas­sword« za­me­njaj­te z močnim geslom po lastni izbiri. Na koncu preverite, ali ima uporabnik »ne­xt­clo­u­du­ser« dostop do zbirke podatkov »nextcloud_db«:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Prenesi trenutne izvorne kode

Prenesite naj­no­vej­še izvorne kode, da boste lahko upo­ra­blja­li Nextcloud v sistemu Debian 12:

sudo apt install curl unzip -y
bash

Pre­klo­pi­te v imenik /var/www in prenesite naj­no­vej­šo izvorno kodo:

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

Raz­pa­ki­raj­te datoteko in spre­me­ni­te lastnika mape v imeniku www-data:

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

Na­sta­vi­tev go­sti­te­lja Apache2

Sedaj nastavite virtualni gostitelj Apache2. Uporabite naslednji ukaz v nano:

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

Pri­la­go­di­te ime domene ter parametra ErrorLog in CustomLog. Na­do­me­sti­te na­do­me­stni znak »example« z imenom vaše domene.

<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

Shranite spremembe in zaprite ure­je­val­nik. Nato kon­fi­gu­ra­ci­jo ak­ti­vi­raj­te z na­sle­dnjim ukazom:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Ko se prikaže sporočilo »Syntax OK«, ponovno zaženite Apache2 in nanj uporabite kon­fi­gu­ra­ci­jo go­sti­te­lja:

sudo systemctl restart apache2
bash

Varnost s pro­to­ko­lom SSL/TLS

Nextcloud lahko zdaj upo­ra­blja­te v sistemu Debian 12 prek ne­za­va­ro­va­ne­ga protokola HTTP. Za zaščito vaših podatkov pri­po­ro­ča­mo, da nastavite HTTPS. To storite tako, da izberete:

sudo apt install certbot python3-certbot-apache
bash

Ustvarite SSL-potrdilo tako, da ponovno zamenjate na­do­me­stni znak »example« s svojim imenom domene:

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

Do­kon­čaj­te na­me­sti­tev Ne­xt­clo­u­da na Debianu 12

Sedaj lahko za­klju­či­te na­me­sti­tev Ne­xt­clo­u­da na Debianu 12. Za to odprite spletni brskalnik in vnesite domensko ime vaše na­me­sti­tve Ne­xt­clo­u­da. Vnesite upo­rab­ni­ško ime in geslo, da ustvarite skrbnika. Nato vnesite ime baze podatkov, upo­rab­ni­ško ime in geslo ter kliknite »Namesti«. Lahko prenesete nekaj zdru­žlji­vih aplikacij ali to zaenkrat pre­sko­či­te. Pre­u­smer­je­ni boste na nadzorno ploščo in zdaj lahko upo­ra­blja­te Nextcloud.

Go to Main Menu