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, 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.
Kuna 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.
Võite järgida ka meie juhendeid, et õppida, kuidas Nextcloudi Ubuntu 22.04-le installida, Nextcloudi Kubernetesele seadistada või Nextcloudi Debian 12-le installida.
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 abil, on kiirem kasutada järgmist Curl-käsku:
mkdir ~/nextcloud && cd ~/nextcloud
curl --output nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-30.0.5.zipbashKui 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:
unzip nextcloud.zip && sudo mv nextcloud /var/www/ && sudo chown -R www-data:www-data /var/www/nextcloudbashKuidas 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:
- Logi sisse juurkasutajana, kasutades
sudo mysql -u root -p. - Loo andmebaas järgmiselt:
create database nextcloud;. - Loo kasutaja järgmiselt:
create user 'nextcloud'@'localhost' identified by <new_password>;. - Andke õigused järgmiselt:
grant all privileges on nextcloud.* to 'nextcloud'@'localhost';. - Lõpuks uuendage õigusi, kasutades
flush privileges;, ja väljuge andmebaasi konsoolist, kasutadesexit.
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:
'dbtype' => 'mysql',
'dbname' => 'nextcloud',
'dbuser' => 'nextcloud',
'dbpassword' => '<your_password>',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,txtKuidas 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:
sudo rm /etc/nginx/sites-enabled/defaultbashSeejärel aktiveeri oma kohandatud konfiguratsioon järgmise käsuga:
sudo ln -s /etc/nginx/sites-available/exampledomain.co.uk /etc/nginx/sites-enabled/bashKuidas 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:
sudo touch /etc/nginx/sites-available/exampledomain.co.ukbash(Kasutasime URL-ina numbrit exampledomain.co.uk.)
Ava konfiguratsioonifail tekstiredaktoris (näiteks Vim) järgmise käsuga:
sudo vim /etc/nginx/sites-available/exampledomain.co.ukbashLisage 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:
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'bashSeejärel aktiveerige tulemüür ( sudo ufw enable ) ja kontrollige ( sudo ufw status ), et ühendused oleksid lubatud. Seejärel saate luua SSL-sertifikaadi Certbotiga:
sudo certbot --nginx -d exampledomain.co.ukbashJä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:
ssl_certificate /etc/letsencrypt/live/exampledomain.co.uk/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/exampledomain.co.uk/privkey.pem;txtKuna Certbot muutis konfiguratsioonifaili, peate lisama atribuudi ssl uuesti kohtadesse 443 ja http2 vahele. Plokk peaks välja nägema järgmine:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name exampledomain.co.uk;
}txtKuidas teenuseid taaskäivitada ja Nextcloudile juurde pääseda
Et muudatused jõustuksid, tuleb teenused PHP-FPM ja NGINX uuesti käivitada:
sudo systemctl reload php8.3-fpm.service
sudo systemctl reload nginx.servicebashAvage nüüd oma domeen veebibrauseris – meie näite puhul on see exampledomain.co.uk. Kui kõik on õigesti seadistatud, peaks ilmuma Nextcloudi tervitusleht.
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.