# Kako namestiti in nastaviti Nextcloud z NGINX-om

Zagon strežnika Nextcloud s strežnikom NGINX omogoča učinkovito izkoriščanje sistemskih virov ter prilagodljive možnosti namestitve. Za pravilno nastavitev potrebujete združljivo sistemsko okolje in ustrezno konfiguracijo. Za nemoteno integracijo s strežnikom NGINX je potrebnih tudi nekaj posebnih prilagoditev.

## Kaj je NGINX in zakaj ga povezati z Nextcloudom?

NGINX je odprtokodna programska oprema za spletne strežnike, ki lahko deluje tudi kot [strežnik za povratni proxy](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/nginx-kot-povratni-proxy/), porazdeljevalnik obremenitve in HTTP-predpomnilnik. Programsko opremo NGINX, ki jo je prvotno razvil ruski inženir programske opreme Igor Sysoev, se distribuira pod licenco BSD (BSD je različica sistema Unix).

NGINX je zasnovan za **sočasno** obdelavo **velikega števila povezav**. Za to program uporablja arhitekturo, ki temelji na dogodkih in ne povzroča blokad. Za razliko od tradicionalnih spletnih strežnikov, ki za vsako povezavo ustvarijo nov proces ali niti, NGINX poleg več delovnih procesov izvaja tudi **glavni proces**. Glavni proces skrbi za konfiguracijo, delovni procesi pa obdelujejo prihajajoče zahteve odjemalcev.

Povezava Nextclouda z NGINX-om prinaša več ključnih prednosti za visoko zmogljiva okolja, med drugim:

- **Učinkovita raba virov**: NGINX lahko hkrati obdeluje več povezav z minimalno porabo virov.
- **Odlična skalabilnost**: NGINX podpira prilagodljivo porazdelitev obremenitve in je z dodajanjem dodatnih strežnikov enostavno skalabilen.
- **Visoko prilagodljiva arhitektura**: Zahvaljujoč modularni strukturi se NGINX lahko prilagodi širokemu spektru scenarijev.
- **Zanesljiva zmogljivost ob visoki obremenitvi strežnika**: tudi ko je strežnik močno obremenjen, je NGINX zanesljiv in zagotavlja neprekinjeno razpoložljivost vaših storitev.

Note Ker [Nextcloud](https://www.ionos.com/sl-si/digitalguide/streznik/orodja/kaj-je-nextcloud/) uradno podpira le Apache 2.x kot spletni strežnik, za NGINX ni uradne podpore. Zato je uporaba Nextclouda z NGINX-om najbolj primerna za uporabnike, ki imajo izkušnje z nastavitvijo spletnih strežnikov.

## Kakšne so zahteve za zagon Nextclouda z NGINX-om?

Za zagon Nextclouda na strežniku NGINX potrebujete strežnik z operacijskim sistemom Ubuntu, Debian ali drugim združljivim sistemom. Strežnik mora imeti vsaj **4 GB pomnilnika RAM** in dva procesorska jedra. Za večje konfiguracije z več aplikacijami Nextcloud močno priporočamo več pomnilnika in več procesorskih jeder. Potrebovali boste tudi zadosten prostor za shranjevanje podatkov in varnostnih kopij.

Za namestitev boste potrebovali tudi **združljivo bazo podatkov, kot sta MySQL ali MariaDB**, ter skriptni jezik PHP (najmanj različica 8.1, priporočena je različica 8.3). Baza podatkov se uporablja za shranjevanje podatkov o uporabnikih in vtičnikih ter metapodatkov o datotekah. PHP je potreben za izvajanje osnovnih funkcij Nextclouda. Za namestitev programske opreme boste potrebovali tudi račun z upraviteljskimi pravicami.

## Kako namestiti Nextcloud z NGINX

Pred namestitvijo Nextclouda je treba opraviti nekaj nujnih priprav. Ta navodila predvidevajo strežnik Ubuntu, na katerem so sistem in vse potrebne odvisnosti že nameščene. Mednje spadajo NGINX kot spletni strežnik, MySQL kot podatkovna baza ter PHP 8.3 z vsemi potrebnimi razširitvami.

Namestili smo tudi Certbot za enostavno nastavitev SSL-potrdila s storitvijo Let’s Encrypt. Predvidevamo tudi, da imate nastavljeno domeno, tako da lahko do Nextclouda dostopate prek URL-ja in ne prek IP-naslova.

Tip Poleg tega lahko sledite našim navodilom, da se naučite, kako [namestiti Nextcloud na Ubuntu 22.04](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/nextcloud-ubuntu-2204/), [nastaviti Nextcloud na Kubernetesu](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/nextcloud-kubernetes/) ali [namestiti Nextcloud na Debian 12](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/nextcloud-debian-12/).

### Kako prenesti in razpakirati Nextcloud

Najprej v svojem domovskem imeniku ustvarite mapo z imenom »nextcloud«, v kateri boste shranili namestitvene datoteke. Čeprav lahko to storite ročno s pomočjo [seznama sprememb Nextclouda](https://nextcloud.com/changelog/ "Nextcloud Changelog"), je hitreje, če uporabite naslednji ukaz Curl:

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

Note Če namestite drugo različico Nextclouda, poskrbite, da ustrezno posodobite URL-naslov.

Nato razpakirajte datoteko, jo premaknite v korenski imenik spletnega strežnika `./var/www` in nastavite pravice za datoteko:

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

### Kako nastaviti bazo podatkov

Za namestitev podatkovne zbirke MySQL izvedite ukaz sudo ( `sudo mysql_secure_installation`. Vnesite »y«, da nastavite geslo za uporabnika root (`VALIDATE PASSWORD`), in izberite »2« za močno geslo (`STRONG`), ki ga nato lahko nastavite. Pritisnite »y«, da potrdite geslo, nato pa še enkrat »y«, da odstranite anonimne uporabnike, onemogočite oddaljene prijave, odstranite testno podatkovno zbirko in ponovno naložite tabele privilegijev.

Nato sledite tem korakom:

1. Prijavite se kot uporabnik root s pomočjo `sudo mysql -u root -p`.
2. Ustvarite bazo podatkov z uporabo: `create database nextcloud;`.
3. Ustvarite uporabnika s pomočjo: `create user 'nextcloud'@'localhost' identified by <new_password>;`.
4. Dodelite dovoljenja s pomočjo: `grant all privileges on nextcloud.* to 'nextcloud'@'localhost';`.
5. Na koncu posodobite privilegije s pomočjo `flush privileges;` in zaprite konzolo baze podatkov s pomočjo `exit`.

Ko je baza podatkov uspešno nastavljena, morate v konfiguracijsko datoteko Nextclouda vnesti prijavne podatke (`DB_NAME`, `DB_USER`, `DB_PASSWORD`). Odprite datoteko `./var/www/nextcloud/config/config.php` in vnesite ustrezne vnose:

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

### Kako onemogočiti privzeto konfiguracijo NGINX-a

Preden vključite Nextcloud v NGINX, se morate prepričati, da nobena druga konfiguracijska datoteka ne prevlada nad namestitvijo Nextclouda. Privzeto je morda v `./etc/nginx/sites-enabled/` še vedno prisotna konfiguracijska datoteka `default`, ki bi lahko motila vašo namestitev. Odstranite jo z naslednjim ukazom:

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

Nato s tem ukazom aktivirajte svojo prilagojeno konfiguracijo:

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

### Kako nastaviti strežnik NGINX

Za nastavitev strežnika NGINX kot spletnega strežnika mora biti domena že nastavljena in povezana z IP-naslovom strežnika. Preverite, ali je tudi DNS pravilno nastavljen. V imeniku `sites-available` ustvarite novo konfiguracijsko datoteko NGINX z naslednjim ukazom:

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

(Kot URL smo uporabili `exampledomain.co.uk`.)

Odpri konfiguracijsko datoteko v urejevalniku besedil (npr. Vim) s pomočjo:

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

Vstavi blok kode iz poglavja »Nextcloud v podimeniku NGINX webroots« v dokumentaciji o konfiguraciji Nextcloud za NGINX.

Ker bo certifikat HTTPS dodan s programom Certbot, iz konfiguracijske datoteke NGINX odstranite vse vrstice, povezane s protokolom SSL. Certbot bo to opravil samodejno.

### Kako nastaviti SSL-potrdilo s programom Certbot

Če želite Nextcloud uporabljati prek varne HTTPS-povezave, morate nastaviti SSL-potrdilo, v tem primeru od ponudnika Let’s Encrypt. Najprej nastavite požarni zid tako, da dovoli HTTPS- in SSH-povezave, in sicer z naslednjimi ukazi sudo:

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

Nato vklopite požarni zid s `sudo ufw enable` in s `sudo ufw status` preverite, ali so povezave dovoljene. Nato lahko s pomočjo Certbota ustvarite SSL-potrdilo:

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

Sledite navodilom, da vnesete svoj e-poštni naslov za obnovo certifikatov in sprejmete pogoje uporabe. Izberite možnost 2, da se vsa HTTP-zahtevka samodejno preusmerijo na HTTPS. Certbot shrani datoteke s certifikati v mapo `.etc/letsencrypt/live/exampledomain.co.uk/`. Datoteka `fullchain.pem` vsebuje SSL-certifikat, `privkey.pem` pa zasebni ključ. Ti ju morate dodati v konfiguracijsko datoteko NGINX:

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

Ker je Certbot spremenil konfiguracijsko datoteko, morate atribut `ssl` ponovno vstaviti med `443` in `http2`. Blok naj bi izgledal takole:

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

### Kako ponovno zagnati storitve in dostopati do Nextclouda

Da bi spremembe začele veljati, morate ponovno zagnati storitvi PHP-FPM in NGINX:

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

Sedaj odprite svojo domeno v brskalniku – v našem primeru exampledomain.co.uk. Če je vse pravilno nastavljeno, se bo prikazala uvodna stran Nextclouda.

Note Če se Nextcloud ne naloži, je morda razlog v tem, da vaša domena ni navedena kot zaupanja vredna domena v `config.php`. Dodajte jo tja, da odpravite težavo.


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/nextcloud-in-nginx/](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/nextcloud-in-nginx/) for AI/LLM consumption.