Nextclou­din asen­ta­mi­nen Debianiin on helppoa ja vaatii vain muutaman vaiheen. Asennat itse pil­vi­pal­ve­lun, jota suojaavat erilaiset tur­va­me­ka­nis­mit.

Nextcloud De­bia­nil­le

Nextcloud on suo­si­tel­ta­va ilmainen pil­vi­pal­ve­lu­rat­kai­su, joka tarjoaa runsaasti vaih­toeh­to­ja sekä yksityis- että yri­tys­käyt­töön. Oh­jel­mis­ton etuihin kuuluvat vahvat tie­to­tur­vao­mi­nai­suu­det, kuten SSL/TLS-salaus, kak­si­vai­hei­nen todennus ja GDPR-vaa­ti­mus­ten­mu­kai­suus, sekä mah­dol­li­suus valita pai­kal­lis­ten yk­si­tyis­ten pal­ve­li­mien tai ul­kois­tet­tu­jen isän­tä­pal­ve­li­mien välillä. Monien Nextcloud-vaih­toeh­to­jen tavoin OwnCloud-haara tukee kaikkia yleisiä käyt­tö­jär­jes­tel­miä ja tarjoaa helpon in­tegroin­nin lukuisiin pal­ve­lui­hin.

Tässä ohjeessa selitämme vaihe vaiheelta, miten Nextcloud asen­ne­taan Debian 12:een. Tätä varten asenna Apache2-verk­ko­pal­ve­lin, MariaDB-palvelin ja PHP 8.2. Tur­val­li­suus­syis­tä opastamme sinua myös Uncomplica­ted Firewall (UFW) - pa­lo­muu­rin sekä tar­vit­ta­vien SSL/TLS-var­men­tei­den asen­nuk­ses­sa.

Mitkä vaa­ti­muk­set on täy­tet­tä­vä?

Nextclou­din asen­ta­mi­seen Debian 12:een liittyy vain muutamia vaa­ti­muk­sia. Tarvitset pal­ve­li­men, johon on asennettu Debian 12. Tämä edel­lyt­tää vähintään 4 gigatavua RAM-muistia ja kahta pro­ses­so­ria. On myös tärkeää, että sinulla on muu kuin pää­käyt­tä­jän käyt­tä­jä­tun­nus, jolla on jär­jes­tel­män­val­vo­jan oikeudet, ja että olet mää­rit­tä­nyt verk­ko­tun­nuk­sen, joka osoittaa pal­ve­li­men IP-osoit­tee­seen.

Asenna Apache2-verk­ko­pal­ve­lin

Asenna ensin Apache2-verk­ko­pal­ve­lin. Päivitä tätä varten Debianin pa­ket­ti­luet­te­lo, jotta voit ladata uusimman version. Voit käyttää tähän komentoa apt update:

sudo apt update
bash

Suorita nyt uusimman Apache2-paketin asennus seu­raa­val­la ko­men­nol­la:

sudo apt install apache2
bash

Vahvista asennus pai­na­mal­la [y] ja aloita asennus pai­na­mal­la [Enter].

Asen­nuk­sen jälkeen tarkista palvelun tila seu­raa­vil­la systemctl-ko­men­noil­la:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

En­sim­mäi­sen komennon avulla palvelun pitäisi käyn­nis­tyä au­to­maat­ti­ses­ti jär­jes­tel­män käyn­nis­tyes­sä. Tila ”active” tar­koit­taa, että Apache2 on käyt­tö­val­mis.

Asenna palomuuri

Suojaa jär­jes­tel­mä­si ja tietosi pa­lo­muu­ril­la. Suo­sit­te­lem­me Uncomplica­ted Firewall (UFW) -pa­lo­muu­ria. Aseta se ole­tus­pa­lo­muu­rik­si avaamalla portit OpenSSH:lle, HTTP:lle ja HTTPS:lle. Asenna nyt UFW-paketti seu­raa­val­la ko­men­nol­la:

sudo apt install ufw
bash

Vahvista valinta pai­na­mal­la [y] ja vii­meis­te­le asennus pai­na­mal­la [Enter]. Aktivoi sitten OpenSSH ja UFW seu­raa­vas­ti:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Käynnistä UFW pai­na­mal­la [y]. Näkyviin tulee viesti, jossa il­moi­te­taan, että palomuuri on ak­tii­vi­nen ja otettu käyttöön jär­jes­tel­män käyn­nis­tyk­sen yh­tey­des­sä. Lisää sitten verk­ko­pal­ve­li­men käyttämät HTTP- ja HTTPS-portit. Tee tämä suo­rit­ta­mal­la seuraava komento:

sudo ufw allow "WWW Full"
bash

Lataa UFW uudelleen:

sudo ufw reload
bash

Voit tar­kas­tel­la ak­ti­voi­tu­ja sääntöjä avaamalla UFW:n ti­la­nä­ky­män. Kohdassa WWW Full tulisi olla valittuna.

sudo ufw status
bash

Ota PHP 8.2 käyttöön

Parhaan mah­dol­li­sen suo­ri­tus­ky­vyn ja yh­teen­so­pi­vuu­den ta­kaa­mi­sek­si Nextcloud suo­sit­te­lee PHP 8.2:ta. Se sisältyy ole­tuk­se­na Debian 12:een, joten sinun tarvitsee vain asentaa tar­vit­ta­vat paketit. Käytä tätä komentoa:

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

Vahvista pai­na­mal­la [y] ja [Enter]. Tarkista PHP-versio ja ota laa­jen­nuk­set käyttöön:

php --version
php -m
bash

Avaa nyt PHP-mää­ri­tys­tie­dos­to nano-edi­to­ril­la:

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

Voit nyt tehdä muutoksia ja mukauttaa asetuksia tar­pei­de­si mukaan. Riippuen siitä, miten aiot käyttää Nextclou­dia Debian 12:ssa, saatat tarvita muita arvoja. Muokkaa asetuksia tällöin vas­taa­vas­ti. Komennot näyttävät tältä.

Määritä ai­ka­vyö­hy­ke:

data.timezone = Europe/Amsterdam
bash

Muokkaa seu­raa­vien pa­ra­met­rien arvoja: memory_limit, upload_max_filesize, post_max_size ja max_execution_time:

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

Ota nyt käyttöön file_uploads- ja allow_url_fopen-asetukset. Mo­lem­mis­sa ta­pauk­sis­sa arvoksi tulee asettaa ”On”:

file_uploads = On
allow_url_fopen = On
bash

Poista display_errors- ja output_buffering-asetukset käytöstä ja aseta niiden arvoksi ”Off”:

display_errors = Off
output_buffering = Off
bash

Ota PHP OPCache käyttöön seu­raa­val­la ko­men­nol­la:

zend_extension=opcache
bash

Liitä Nextclou­din Debian 12:lle suo­sit­te­le­ma kon­fi­gu­raa­tio opcache-osioon:

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

Tallenna lopuksi tiedosto ja sulje nano-editori. Käynnistä nyt Apache2-palvelu uudelleen:

sudo systemctl restart apache2
bash

Asenna MariaDB-palvelin

Nextcloud käyttää MariaDB-pal­ve­lin­ta tie­to­kan­ta­naan. Asenna se tällä ko­men­nol­la:

sudo apt install mariadb-server
bash

Vahvista pai­na­mal­la [y] ja [Enter]. Kun asennus on on­nis­tu­nut, kirjoita:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Jos palvelin toimii moit­teet­to­mas­ti, suojaa jär­jes­tel­mä. Luo root-salasana, poista ni­met­tö­mät käyttäjät ja poista tes­ti­tie­to­kan­ta seu­raa­val­la ko­men­nol­la:

sudo mariadb-secure-installation
bash

Muokkaa asetuksia pai­na­mal­la [y] hy­väk­syäk­se­si ja [n] hy­lä­täk­se­si.

Luo tie­to­kan­ta ja käyttäjät

Nyt voit luoda uuden tie­to­kan­nan ja siihen kuuluvan käyttäjän. Kirjaudu MariaDB-pal­ve­li­meen seu­raa­val­la ko­men­nol­la ja kir­joit­ta­mal­la root-sa­la­sa­na­si:

sudo mariadb -u root -p
bash

Luo uusi tie­to­kan­ta, käyttäjä ja vastaava salasana seu­raa­vien ko­men­to­jen avulla:

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

Korvaa ”your­Password” va­lit­se­mal­la­si vahvalla sa­la­sa­nal­la. Tarkista lopuksi, onko ”nextclou­duser”-käyt­tä­jäl­lä pääsy ”nextcloud_db”-tie­to­kan­taan:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Lataa nykyiset läh­de­koo­dit

Lataa uusimmat läh­de­koo­dit, jotta voit käyttää Nextclou­dia Debian 12:ssa:

sudo apt install curl unzip -y
bash

Siirry /var/www-ha­ke­mis­toon ja lataa uusin läh­de­koo­di:

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

Pura tiedosto ja vaihda www-data-kansion omistaja:

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

Määritä Apache2-palvelin

Määritä nyt vir­tu­aa­li­nen Apache2-isäntä. Käytä tätä nano-komentoa:

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

Määritä verk­ko­tun­nus sekä ErrorLog- ja CustomLog-pa­ra­met­rit. Korvaa paik­ka­merk­ki ”example” omalla verk­ko­tun­nuk­sel­la­si.

<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

Tallenna muutokset ja sulje editori. Aktivoi sitten asetukset seu­raa­val­la ko­men­nol­la:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Kun saat tu­los­teek­si ”Syntax OK”, käynnistä Apache2 uudelleen ja ota isän­tä­ko­neen asetukset käyttöön:

sudo systemctl restart apache2
bash

Tur­val­li­suus SSL/TLS-pro­to­kol­lan avulla

Voit nyt käyttää Nextclou­dia Debian 12:ssa suo­jaa­mat­to­man HTTP-pro­to­kol­lan kautta. Tietojesi suo­jaa­mi­sek­si on suo­si­tel­ta­vaa ottaa käyttöön HTTPS. Tee tämä va­lit­se­mal­la:

sudo apt install certbot python3-certbot-apache
bash

Luo SSL-varmenne kor­vaa­mal­la paik­ka­merk­ki ”example” jälleen omalla verk­ko­tun­nuk­sel­la­si:

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

Vii­meis­te­le Nextclou­din asennus Debian 12:een

Voit nyt vii­meis­tel­lä Nextclou­din asen­nuk­sen Debian 12:een. Avaa tätä varten verk­ko­se­lain ja kirjoita Nextcloud-asen­nuk­se­si verk­ko­tun­nus. Luo jär­jes­tel­män­val­vo­ja syöt­tä­mäl­lä käyt­tä­jä­tun­nus ja salasana. Syötä sitten tie­to­kan­nan nimi, käyt­tä­jä­tun­nus ja salasana ja napsauta ”Asenna”. Voit ladata joitakin yh­teen­so­pi­via so­vel­luk­sia tai ohittaa tämän vaiheen tois­tai­sek­si. Sinut ohjataan hal­lin­ta­pa­nee­liin, jossa voit nyt käyttää Nextclou­dia.

Siirry pää­va­lik­koon