„Nextcloud“ įdiegimas „Debian“ sistemoje yra paprastas ir užtrunka vos keletą žingsnių. Jūs įdiegsite pačią debesų kom­piu­te­ri­jos platformą, kuri yra apsaugota įvairiais saugumo me­cha­niz­mais.

„Nextcloud“ Debian sistemai

„Nextcloud“ – tai re­ko­men­duo­ja­mas nemokamas debesų kom­piu­te­ri­jos spren­di­mas, siūlantis daugybę galimybių tiek as­me­ni­niam, tiek ko­mer­ci­niam nau­do­ji­mui. Tarp šios prog­ra­mi­nės įrangos privalumų – patikimos duomenų apsaugos funkcijos, tokios kaip SSL/TLS šif­ra­vi­mas, dviejų veiksnių au­ten­ti­fi­ka­vi­mas ir atitiktis BDAR rei­ka­la­vi­mams, taip pat galimybė rinktis tarp vietinių privačių serverių ir išorinių prie­glo­bos paslaugų teikėjų serverių. Kaip ir daugelis „Nextcloud“ al­ter­na­ty­vų, „OwnCloud“ atšaka palaiko visas po­pu­lia­rias ope­ra­ci­nes sistemas ir leidžia lengvai in­te­gruo­ti daugybę paslaugų.

Čia žingsnis po žingsnio pa­aiš­kin­si­me, kaip įdiegti „Nextcloud“ sistemą „Debian“ aplinkoje. Tam reikia įdiegti „Apache2“ ži­nia­tink­lio serverį, „MariaDB“ serverį ir PHP 8.2. Saugumo su­me­ti­mais pa­ro­dy­si­me, kaip su­kon­fi­gū­ruo­ti „Un­comp­li­ca­ted Firewall“ (UFW) ir reikiamus SSL/TLS ser­ti­fi­ka­tus.

Kokie rei­ka­la­vi­mai turi būti įvykdyti?

Norint įdiegti „Nextcloud“ sistemą „Debian 12“ aplinkoje, reikia įvykdyti tik keletą rei­ka­la­vi­mų. Jums reikės serverio, kuriame įdiegta „Debian 12“ sistema. Tam reikės ma­žiau­siai 4 gigabaitų ope­ra­ty­vio­sios atminties ir dviejų pro­ce­so­rių. Taip pat svarbu turėti ne „root“ vartotojo prieigą su ad­mi­nist­ra­to­riaus teisėmis ir su­kon­fi­gū­ruo­ti domeno vardą, kuris nukreiptų į serverio IP adresą.

Įdiekite „Apache2“ ži­nia­tink­lio serverį

Pir­miau­sia įdiekite „Apache2“ ži­nia­tink­lio serverį. Tam at­nau­jin­ki­te „Debian“ paketų katalogą, kad būtų at­si­siųs­ta naujausia versija. Tam galite naudoti komandą „apt update“:

sudo apt update
bash

Dabar įdiekite naujausią „Apache2“ paketą, naudodami šią komandą:

sudo apt install apache2
bash

Pa­tvir­tin­ki­te diegimą, paspaudę [y], ir pa­spau­s­ki­te [Enter], kad pra­dė­tu­mė­te diegimą.

Įdiegus programą, pa­tik­rin­ki­te paslaugos būseną naudodami šias „systemctl“ komandas:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

Įvedus pirmąją komandą, paleidus sistemą tu­rė­tu­mė­te pamatyti, kaip paslauga pa­lei­džia­ma au­to­ma­tiš­kai. Būsenos žymė „active“ reiškia, kad „Apache2“ yra paruoštas darbui.

Įdiegti ug­nia­sie­nę

Ap­sau­go­ki­te savo sistemą ir duomenis naudodami ug­nia­sie­nę. Re­ko­men­duo­ja­me „Un­comp­li­ca­ted Firewall“ (UFW). Norėdami ją nustatyti kaip nu­ma­ty­tą­ją, ati­da­ry­ki­te prievadus „OpenSSH“, „HTTP“ ir „HTTPS“. Dabar įdiekite UFW paketą naudodami šią komandą:

sudo apt install ufw
bash

Pa­tvir­tin­ki­te spausdami [y] ir užbaigite diegimą spausdami [Enter]. Tada įjunkite OpenSSH ir UFW taip:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Norėdami paleisti UFW, pa­tvir­tin­ki­te spausdami [y]. Dabar pasirodys pra­ne­ši­mas, kad ug­nia­sie­nė yra aktyvi ir įjungta sistemos paleidimo metu. Tada pridėkite HTTP ir HTTPS prievadus, kuriuos naudos ži­nia­tink­lio serveris. Tam atlikite šią komandą:

sudo ufw allow "WWW Full"
bash

Vėl įkelkite UFW:

sudo ufw reload
bash

Norėdami per­žiū­rė­ti įjungtas taisykles, pa­lei­s­ki­te UFW būsenos langą. Čia turėtų būti įjungta parinktis „WWW Full“.

sudo ufw status
bash

Įjunkite PHP 8.2

Siekiant už­tik­rin­ti geriausią našumą ir maksimalų su­de­ri­na­mu­mą, „Nextcloud“ re­ko­men­duo­ja naudoti PHP 8.2. Ši versija yra įdiegta „Debian 12“ sistemoje pagal nu­ma­ty­tuo­sius nu­sta­ty­mus, todėl jums tereikia įdiegti reikiamus paketus. Tam rei­ka­lin­ga komanda yra tokia:

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

Pa­tvir­tin­ki­te spausdami [y] ir [Enter]. Pa­tik­rin­ki­te PHP versiją ir įjunkite iš­plė­ti­mus:

php --version
php -m
bash

Dabar ati­da­ry­ki­te PHP kon­fi­gū­ra­ci­jos failą re­dak­to­riu­mi „nano“:

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

Dabar galite atlikti pa­kei­ti­mus ir pri­tai­ky­ti kon­fi­gū­ra­ci­ją pagal savo poreikius. Pri­klau­so­mai nuo to, kaip norite naudoti „Nextcloud“ „Debian 12“ sistemoje, gali būti re­ko­men­duo­ja­mos kitos reikšmės. Tokiu atveju ati­tin­ka­mai pa­kei­s­ki­te nu­sta­ty­mus. Komandos atrodo taip.

Nu­sta­ty­ki­te laiko juostą:

data.timezone = Europe/Amsterdam
bash

Pa­kei­s­ki­te pa­ra­met­rus „memory_limit“, „upload_max_filesize“, „post_max_size“ ir „max_execution_time“:

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

Dabar įjunkite „file_uploads“ ir „allow_url_fopen“. Abiem atvejais reikėtų nustatyti reikšmę „On“:

file_uploads = On
allow_url_fopen = On
bash

Išjunkite pa­ra­met­rus „display_errors“ ir „output_buffering“ bei nu­sta­ty­ki­te ati­tin­ka­mas reikšmes „Off“:

display_errors = Off
output_buffering = Off
bash

Įjunkite PHP OPCache naudodami šią komandą:

zend_extension=opcache
bash

Įkli­juo­ki­te kon­fi­gū­ra­ci­ją į „opcache“ skyrių, kaip re­ko­men­duo­ja „Nextcloud“ „Debian 12“ sistemai:

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

Ga­liau­siai iš­sau­go­ki­te failą ir už­da­ry­ki­te „nano“ re­dak­to­rių. Dabar pa­lei­s­ki­te „Apache2“ paslaugą iš naujo:

sudo systemctl restart apache2
bash

Įdiekite „MariaDB“ serverį

„Nextcloud“ naudoja „MariaDB“ serverį kaip duomenų bazę. Įdiekite jį šia komanda:

sudo apt install mariadb-server
bash

Pa­tvir­tin­ki­te spausdami [y] ir [Enter]. Sėkmingai įdiegus, įveskite:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Jei serveris veikia sklan­džiai, už­tik­rin­ki­te sistemos saugumą. Naudodami šią komandą sukurkite ad­mi­nist­ra­to­riaus slap­ta­žo­dį, pa­ša­lin­ki­te ano­ni­mi­nius var­to­to­jus ir iš­trin­ki­te bandomąją duomenų bazę:

sudo mariadb-secure-installation
bash

Pa­kei­s­ki­te nu­sta­ty­mus: pa­spau­s­ki­te [y], jei norite pa­tvir­tin­ti, arba [n], jei norite atmesti.

Sukurti duomenų bazę ir var­to­to­jus

Dabar galite sukurti naują duomenų bazę ir ati­tin­ka­mą vartotoją. Norėdami pri­si­jung­ti prie „MariaDB“ serverio, naudokite šią komandą ir įveskite savo „root“ slap­ta­žo­dį:

sudo mariadb -u root -p
bash

Naudokite šias komandas, kad su­kur­tu­mė­te naują duomenų bazę, vartotoją ir ati­tin­ka­mą slap­ta­žo­dį:

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

Pa­kei­s­ki­te „your­Pa­ss­word“ savo pa­si­rink­tu saugiu slap­ta­žo­džiu. Ga­liau­siai pa­tik­rin­ki­te, ar var­to­to­jas „ne­xtc­lou­du­ser“ turi prieigą prie duomenų bazės „nextcloud_db“:

SHOW GRANTS FOR nextclouduser@localhost;
bash

At­si­siųs­ti da­bar­ti­nius šaltinio kodus

At­si­sių­s­ki­te nau­jau­sius šaltinio kodus, kad ga­lė­tu­mė­te naudoti „Nextcloud“ „Debian 12“ sistemoje:

sudo apt install curl unzip -y
bash

Pereikite į katalogą /var/www ir at­si­sių­s­ki­te naujausią šaltinio kodą:

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

Iš­pa­kuo­ki­te failą ir pa­kei­s­ki­te katalogo savininką į „www-data“:

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

Apache2 serverio kon­fi­gū­ra­vi­mas

Dabar su­kon­fi­gū­ruo­ki­te virtualų „Apache2“ serverį. Naudokite šią „nano“ komandą:

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

Pri­tai­ky­ti domeno vardą bei pa­ra­met­rus „ErrorLog“ ir „CustomLog“. Pa­kei­s­ki­te vietą užimantį žodį „example“ savo domeno vardu.

<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

Iš­sau­go­ki­te pa­kei­ti­mus ir už­da­ry­ki­te re­dak­to­rių. Tada įjunkite kon­fi­gū­ra­ci­ją naudodami šią komandą:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Kai ekrane pasirodys pra­ne­ši­mas „Syntax OK“, pa­lei­s­ki­te „Apache2“ iš naujo ir pri­tai­ky­ki­te jam šio kom­piu­te­rio kon­fi­gū­ra­ci­ją:

sudo systemctl restart apache2
bash

Saugumas naudojant SSL/TLS

Dabar galite naudoti „Nextcloud“ sistemoje „Debian 12“ per nesaugų HTTP protokolą. Siekiant apsaugoti savo duomenis, re­ko­men­duo­ja­ma įdiegti HTTPS. Norėdami tai padaryti, pa­si­rin­ki­te:

sudo apt install certbot python3-certbot-apache
bash

Sukurkite SSL ser­ti­fi­ka­tą, vėl pa­keis­da­mi vietą „example“ savo domeno vardu:

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

Užbaigti „Nextcloud“ diegimą „Debian 12“ sistemoje

Dabar galite užbaigti „Nextcloud“ diegimą „Debian 12“ sistemoje. Tam ati­da­ry­ki­te interneto naršyklę ir įveskite savo „Nextcloud“ diegimo domeno vardą. Įveskite vartotojo vardą ir slap­ta­žo­dį, kad su­si­kur­tu­mė­te ad­mi­nist­ra­to­riaus paskyrą. Tada įveskite duomenų bazės pa­va­di­ni­mą, vartotojo vardą ir slap­ta­žo­dį bei spus­te­lė­ki­te „Install“ (Įdiegti). Galite at­si­siųs­ti keletą su­de­ri­na­mų prog­ra­mė­lių arba kol kas tai praleisti. Būsite nukreipti į pag­rin­di­nį valdymo skydą ir dabar galėsite naudotis „Nextcloud“.

Go to Main Menu