# Kuidas installida ja seadistada Nextcloud NGINX-iga

Nextcloudi kasutamine koos NGINXiga võimaldab süsteemiressursse tõhusalt ära kasutada ning pakub paindlikke kasutusvõimalusi. Selle õigeks seadistamiseks on vaja ühilduvat süsteemikeskkonda ja õiget konfiguratsiooni. NGINXiga sujuvaks integreerimiseks on vaja teha ka mõned konkreetsed muudatused.

## Mis on NGINX ja miks seda Nextcloudiga kombineerida?

NGINX on avatud lähtekoodil põhinev veebiserveritarkvara, mida saab kasutada ka [pöördproksiserverina](https://www.ionos.com/et-ee/digitalguide/server/seadistused/nginx-i-poeoerdproksi/), koormuse jaotajana ja HTTP-vahemäluna. NGINX-i on algselt arendanud vene tarkvarainsener Igor Sysoev ning seda levitatakse BSD-litsentsi alusel (BSD on Unixi variant).

NGINX on loodud selleks, et hallata **samaaegselt suurt hulka ühendusi**. Selleks kasutab tarkvara sündmusepõhist, blokeerimata arhitektuuri. Erinevalt traditsioonilistest veebiserveritest, mis loovad iga ühenduse jaoks uue protsessi või niidi, töötab NGINX ühe **peaprotsessi** ja mitme tööprotsessi abil. Peaprotsess haldab konfiguratsiooni, samal ajal kui tööprotsessid töötlevad sissetulevaid kliendipäringuid.

Nextcloudi ja NGINXi ühendamine pakub suure jõudlusega keskkondades mitmeid olulisi eeliseid, sealhulgas:

- **Ressursside tõhus kasutamine**: NGINX suudab hallata mitut ühendust korraga, kulutades selleks minimaalselt ressursse.
- **Suurepärane skaleeritavus**: NGINX toetab paindlikku koormuse jaotamist ja on kergesti skaleeritav täiendavate serverite lisamise teel.
- **Hästi kohandatav arhitektuur**: tänu oma modulaarse struktuuri tõttu saab NGINX-i kohandada sobivaks paljude erinevate stsenaariumidega.
- **Usaldusväärne jõudlus suure serverikoormuse korral**: isegi kui server on suure koormuse all, on NGINX usaldusväärne ja hoiab teie teenused pidevalt kättesaadavana.

Note Kuna [Nextcloud](https://www.ionos.com/et-ee/digitalguide/server/toeoeriistad/mis-on-nextcloud/) toetab ametlikult ainult Apache 2.x-i veebiserverina, puudub NGINX-ile ametlik tugi. Seetõttu sobib Nextcloudi kasutamine NGINX-iga kõige paremini kasutajatele, kellel on kogemusi veebiserverite konfigureerimisel.

## Millised on Nextcloudi kasutamiseks NGINXiga vajalikud nõuded?

Nextcloudi käitamiseks NGINX-i keskkonnas on vaja serverit, millel töötab Ubuntu, Debian või mõni muu ühilduv operatsioonisüsteem. Serveril peaks olema vähemalt **4 GB RAM-mälu** ja kaks protsessorit. Suuremate süsteemide puhul, kus on mitu Nextcloudi rakendust, on tungivalt soovitatav kasutada rohkem mälu ja protsessorituume. Samuti on vaja piisavalt salvestusruumi andmete ja varukoopiate jaoks.

Paigaldamiseks on vaja ka **ühilduvat andmebaasi, näiteks MySQL või MariaDB**, ning skriptikeelt PHP (minimaalne versioon 8.1, soovitatav versioon 8.3). Andmebaasi kasutatakse kasutaja- ja pistikprogrammide andmete ning failide metaandmete salvestamiseks. PHP on vajalik Nextcloudi põhiliste funktsioonide töötamiseks. Tarkvara paigaldamiseks on vaja ka administraatoriõigustega kontot.

## Kuidas installida Nextcloud koos NGINXiga

Enne Nextcloudi paigaldamist tuleb teha mõned olulised ettevalmistused. Käesolevas juhendis eeldatakse, et kasutatakse Ubuntu serverit, kus süsteem ja kõik vajalikud sõltuvused on juba paigas. Nende hulka kuuluvad veebiserverina NGINX, andmebaasina MySQL ning PHP 8.3 koos kõigi vajalike laiendustega.

Oleme paigaldanud ka Certbot’i, et hõlbustada SSL-sertifikaadi seadistamist Let’s Encrypti abil. Eeldame ka, et teil on domeen seadistatud, nii et saate Nextcloudile ligi pääseda URL-i kaudu, mitte IP-aadressi kaudu.

Tip Võite järgida ka meie juhendeid, et õppida, kuidas [Nextcloudi Ubuntu 22.04-le installida](https://www.ionos.com/et-ee/digitalguide/server/seadistused/nextcloud-ubuntu-2204/), [Nextcloudi Kubernetesele seadistada](https://www.ionos.com/et-ee/digitalguide/server/seadistused/nextcloud-kubernetes/) või [Nextcloudi Debian 12-le installida](https://www.ionos.com/et-ee/digitalguide/server/seadistused/nextcloud-debian-12/).

### Kuidas Nextcloudi alla laadida ja lahti pakkida

Alusta sellest, et lood oma kodukataloogi kausta nimega „nextcloud“, kuhu paigutada installifailid. Kuigi seda saab teha käsitsi [Nextcloudi muudatuste loendi](https://nextcloud.com/changelog/ "Nextcloud Changelog") abil, on kiirem kasutada järgmist Curl-käsku:

```bash
mkdir ~/nextcloud && cd ~/nextcloud
curl --output nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-30.0.5.zip
```

Note Kui paigaldate mõnda teist Nextcloudi versiooni, siis veenduge, et uuendate vastavalt ka URL-i.

Seejärel lae fail lahti, kopeeri see veebikataloogi `./var/www` ja määra faili õigused:

```bash
unzip nextcloud.zip && sudo mv nextcloud /var/www/ && sudo chown -R www-data:www-data /var/www/nextcloud
```

### Kuidas andmebaasi seadistada

MySQL-andmebaasi seadistamiseks käivita sudo-käsk ( `sudo mysql_secure_installation`. Sisesta „y“, et määrata juurkasutaja parool (`VALIDATE PASSWORD`), ja vali „2“, et luua tugev parool (`STRONG`), mille saad seejärel määrata. Vajuta „y“, et parooli kinnitada, ning seejärel vajuta uuesti „y“, et eemaldada anonüümsed kasutajad, keelata kaugjuurdepääs, eemaldada testandmebaas ja laadida õigustabelid uuesti.

Järgige seejärel neid samme:

1. Logi sisse juurkasutajana, kasutades `sudo mysql -u root -p`.
2. Loo andmebaas järgmiselt: `create database nextcloud;`.
3. Loo kasutaja järgmiselt: `create user 'nextcloud'@'localhost' identified by <new_password>;`.
4. Andke õigused järgmiselt: `grant all privileges on nextcloud.* to 'nextcloud'@'localhost';`.
5. Lõpuks uuendage õigusi, kasutades `flush privileges;`, ja väljuge andmebaasi konsoolist, kasutades `exit`.

Kui andmebaas on edukalt seadistatud, tuleb lisada kasutajatunnused (`DB_NAME`, `DB_USER`, `DB_PASSWORD`) Nextcloudi konfiguratsioonifaili. Avage fail `./var/www/nextcloud/config/config.php` ja lisage vajalikud kanded:

```txt
'dbtype' => 'mysql',
'dbname' => 'nextcloud',
'dbuser' => 'nextcloud',
'dbpassword' => '<your_password>',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
```

### Kuidas keelata NGINXi vaikimisi konfiguratsioon

Enne Nextcloudi integreerimist NGINX-iga tuleb veenduda, et ükski teine konfiguratsioonifail ei kirjutaks Nextcloudi installatsiooni üle. Vaikimisi võib kataloogis `default` endiselt olla konfiguratsioonifail `./etc/nginx/sites-enabled/`, mis võib teie seadistamist segada. Kustutage see järgmise käsuga:

```bash
sudo rm /etc/nginx/sites-enabled/default
```

Seejärel aktiveeri oma kohandatud konfiguratsioon järgmise käsuga:

```bash
sudo ln -s /etc/nginx/sites-available/exampledomain.co.uk /etc/nginx/sites-enabled/
```

### Kuidas seadistada NGINX-serverit

NGINX-i veebiserverina seadistamiseks peab domeen olema juba loodud ja serveri IP-aadressiga seotud. Veenduge, et ka DNS on õigesti seadistatud. Looge kataloogis `sites-available` uus NGINX-i konfiguratsioonifail järgmise käsu abil:

```bash
sudo touch /etc/nginx/sites-available/exampledomain.co.uk
```

(Kasutasime URL-ina numbrit `exampledomain.co.uk`.)

Ava konfiguratsioonifail tekstiredaktoris (näiteks Vim) järgmise käsuga:

```bash
sudo vim /etc/nginx/sites-available/exampledomain.co.uk
```

Lisage koodiblokk Nextcloudi NGINX-i konfiguratsiooni juhendi jaotisest „Nextcloud NGINX-i veebikataloogi alamkataloogis”.

Kuna HTTPS-sertifikaat lisatakse Certbotiga, eemalda NGINX-i konfiguratsioonifailist kõik SSL-iga seotud read. Certbot tegeleb nendega automaatselt.

### Kuidas seadistada SSL-sertifikaat Certbotiga

Nextcloudi turvalise HTTPS-ühenduse kaudu käivitamiseks tuleb seadistada SSL-sertifikaat, antud juhul Let’s Encrypti sertifikaat. Esmalt seadistage tulemüür nii, et see lubaks HTTPS- ja SSH-ühendusi, kasutades järgmisi sudo-käsklusi:

```bash
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'
```

Seejärel aktiveerige tulemüür ( `sudo ufw enable` ) ja kontrollige ( `sudo ufw status` ), et ühendused oleksid lubatud. Seejärel saate luua SSL-sertifikaadi Certbotiga:

```bash
sudo certbot --nginx -d exampledomain.co.uk
```

Järgige juhiseid, et sisestada sertifikaadi uuendamiseks oma e-posti aadress ja nõustuda kasutustingimustega. Valige valik 2, et suunata kõik HTTP-päringud automaatselt HTTPS-i. Certbot salvestab sertifikaadifailid kataloogi `.etc/letsencrypt/live/exampledomain.co.uk/`. Fail `fullchain.pem` sisaldab SSL-sertifikaati ja `privkey.pem` sisaldab privaatset võtit. Need tuleb lisada oma NGINX-i konfiguratsioonifaili:

```txt
ssl_certificate /etc/letsencrypt/live/exampledomain.co.uk/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/exampledomain.co.uk/privkey.pem;
```

Kuna Certbot muutis konfiguratsioonifaili, peate lisama atribuudi `ssl` uuesti kohtadesse `443` ja `http2` vahele. Plokk peaks välja nägema järgmine:

```txt
server { 
    listen 443 ssl http2; 
    listen [::]:443 ssl http2; 
    server_name exampledomain.co.uk;
}
```

### Kuidas teenuseid taaskäivitada ja Nextcloudile juurde pääseda

Et muudatused jõustuksid, tuleb teenused PHP-FPM ja NGINX uuesti käivitada:

```bash
sudo systemctl reload php8.3-fpm.service
sudo systemctl reload nginx.service
```

Avage nüüd oma domeen veebibrauseris – meie näite puhul on see exampledomain.co.uk. Kui kõik on õigesti seadistatud, peaks ilmuma Nextcloudi tervitusleht.

Note Kui Nextcloud ei lae, võib põhjuseks olla see, et teie domeen ei ole loetletud usaldusväärsete domeenide nimekirjas punktis `config.php`. Lisage see sinna, et probleem lahendada.


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/server/seadistused/nextcloud-nginx/](https://www.ionos.com/et-ee/digitalguide/server/seadistused/nextcloud-nginx/) for AI/LLM consumption.