Nextcloudin asentaminen ja määrittäminen NGINX:n avulla
Nextcloudin käyttö NGINX:n kanssa mahdollistaa järjestelmäresurssien tehokkaan hyödyntämisen sekä joustavat käyttöönottovaihtoehdot. Järjestelmän asianmukainen asennus edellyttää yhteensopivaa järjestelmäympäristöä ja oikeita asetuksia. NGINX:n kanssa sujuvaan integrointiin tarvitaan myös muutamia erityisiä säätöjä.
Mikä on NGINX ja miksi sitä kannattaa käyttää yhdessä Nextcloudin kanssa?
NGINX on avoimen lähdekoodin verkkopalvelinohjelmisto, jota voidaan käyttää myös käänteisvälityspalvelimena, kuormituksen tasapainottajana ja HTTP-välimuistina. Alun perin venäläisen ohjelmistosuunnittelijan Igor Sysoevin kehittämä NGINX jaetaan BSD-lisenssillä (BSD on Unix-variantti).
NGINX on suunniteltu käsittelemään suurta määrää yhteyksiä samanaikaisesti. Tätä varten ohjelmisto käyttää tapahtumapohjaista, ei-estävää arkkitehtuuria. Toisin kuin perinteiset verkkopalvelimet, jotka luovat uuden prosessin tai säikeen jokaiselle yhteydelle, NGINX käyttää pääprosessia sekä useita työprosesseja. Pääprosessi huolehtii asetuksista, kun taas työprosessit käsittelevät saapuvia asiakaspyyntöjä.
Nextcloudin ja NGINX:n yhdistämisellä on useita merkittäviä etuja suorituskykyä vaativissa ympäristöissä, kuten:
- Tehokas resurssien käyttö: NGINX pystyy käsittelemään useita yhteyksiä samanaikaisesti kuluttamalla resursseja mahdollisimman vähän.
- Erinomainen skaalautuvuus: NGINX tukee joustavaa kuormituksen tasapainottamista ja on helposti skaalautuva lisäämällä uusia palvelimia.
- Erittäin muokattava arkkitehtuuri: Modulaarisen rakenteensa ansiosta NGINX voidaan mukauttaa monenlaisiin tilanteisiin.
- Luotettava suorituskyky raskaassa palvelinkuormituksessa: NGINX on luotettava myös palvelimen ollessa kovassa käytössä ja pitää palvelusi jatkuvasti käytettävissä.
Koska Nextcloud tukee virallisesti vain Apache 2.x:ää verkkopalvelimenaan, NGINX:lle ei ole virallista tukea. Nextcloudin käyttö NGINX:n kanssa sopii siksi parhaiten käyttäjille, joilla on kokemusta verkkopalvelimien konfiguroinnista.
Mitkä ovat Nextcloudin käyttämisen vaatimukset NGINX:n kanssa?
Nextcloudin käyttämiseksi NGINX-palvelimella tarvitset palvelimen, jossa on Ubuntu, Debian tai jokin muu yhteensopiva käyttöjärjestelmä. Palvelimessa tulisi olla vähintään 4 Gt RAM-muistia ja kaksi prosessoria. Suuremmissa kokoonpanoissa, joissa on useita Nextcloud-sovelluksia, suositellaan ehdottomasti enemmän muistia ja prosessoriytimiä. Tarvitset myös riittävästi tallennustilaa tiedoille ja varmuuskopioille.
Asennusta varten tarvitset myös yhteensopivan tietokannan, kuten MySQL:n tai MariaDB:n, sekä PHP-skriptikielen (vähimmäisversio 8.1, suositellaan versiota 8.3). Tietokantaa käytetään käyttäjä- ja laajennustietojen sekä tiedostojen metatietojen tallentamiseen. PHP:tä tarvitaan Nextcloudin ydintoimintojen suorittamiseen. Ohjelmiston asentamiseen tarvitset myös tilin, jolla on järjestelmänvalvojan oikeudet.
Nextcloudin asentaminen NGINX:n avulla
Ennen Nextcloudin asentamista on suoritettava joitakin välttämättömiä valmistelutoimia. Tässä oppaassa oletetaan, että käytössä on Ubuntu-palvelin, jossa järjestelmä ja kaikki tarvittavat riippuvuudet ovat jo asennettuina. Näitä ovat NGINX-verkkopalvelin, MySQL-tietokanta sekä PHP 8.3 kaikkine tarvittavine laajennuksineen.
Olemme asentaneet myös Certbotin, jotta SSL-varmenteen asennus Let’s Encryptin avulla sujuu helposti. Oletamme myös, että sinulla on verkkotunnus määritettynä, jotta voit käyttää Nextcloudia URL-osoitteen kautta IP-osoitteen sijaan.
Voit myös seurata oppaita, joissa kerrotaan, miten Nextcloud asennetaan Ubuntu 22.04:ään, miten Nextcloud otetaan käyttöön Kubernetesissa tai miten Nextcloud asennetaan Debian 12:een.
Kuinka ladata ja purkaa Nextcloud
Aloita luomalla kotihakemistoosi kansio nimeltä ”nextcloud” asennustiedostojen tallentamista varten. Vaikka tämän voi tehdä manuaalisesti Nextcloudin muutospäiväkirjan ohjeiden mukaan, on nopeampaa käyttää seuraavaa curl-komentoa:
mkdir ~/nextcloud && cd ~/nextcloud
curl --output nextcloud.zip https://download.nextcloud.com/server/releases/nextcloud-30.0.5.zipbashJos asennat eri version Nextcloudista, muista päivittää URL-osoite vastaavasti.
Pura sitten tiedosto, siirrä se verkkokansion ./var/www ja määritä tiedoston käyttöoikeudet:
unzip nextcloud.zip && sudo mv nextcloud /var/www/ && sudo chown -R www-data:www-data /var/www/nextcloudbashTietokannan määrittäminen
Määritä MySQL-tietokanta suorittamalla sudo-komento ( sudo mysql_secure_installation. Kirjoita ”y” pääkäyttäjän salasanan määrittämiseksi (VALIDATE PASSWORD) ja valitse ”2” vahvan salasanan luomiseksi (STRONG), jonka voit sitten määrittää. Vahvista salasana painamalla ”y” ja paina sitten uudelleen ”y” poistaaksesi nimettömät käyttäjät, estääksesi etäkäytön, poistaaksesi testitietokannan ja ladataksesi käyttöoikeustaulukot uudelleen.
Toimi sitten seuraavasti:
- Kirjaudu sisään pääkäyttäjänä käyttämällä
sudo mysql -u root -p. - Luo tietokanta seuraavasti:
create database nextcloud;. - Luo käyttäjä seuraavasti:
create user 'nextcloud'@'localhost' identified by <new_password>;. - Myönnä käyttöoikeudet komennolla:
grant all privileges on nextcloud.* to 'nextcloud'@'localhost';. - Lopuksi päivitä oikeudet käyttämällä
flush privileges;ja poistu tietokantakonsolista käyttämälläexit.
Kun tietokanta on määritetty onnistuneesti, sinun on lisättävä kirjautumistiedot (DB_NAME, DB_USER, DB_PASSWORD) Nextcloudin asetustiedostoon. Avaa tiedosto ./var/www/nextcloud/config/config.php ja lisää tarvittavat tiedot:
'dbtype' => 'mysql',
'dbname' => 'nextcloud',
'dbuser' => 'nextcloud',
'dbpassword' => '<your_password>',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,txtKuinka poistaa NGINX:n oletusasetukset käytöstä
Ennen kuin integroit Nextcloudin NGINX:ään, sinun on varmistettava, ettei mikään muu asetustiedosto ohita Nextcloud-asennusta. Oletusasetuksina kansiossa ./etc/nginx/sites-enabled/ saattaa edelleen olla asetustiedosto default, joka voi häiritä asennustasi. Poista se seuraavasti:
sudo rm /etc/nginx/sites-enabled/defaultbashOta sitten mukautettu kokoonpanosi käyttöön tällä komennolla:
sudo ln -s /etc/nginx/sites-available/exampledomain.co.uk /etc/nginx/sites-enabled/bashNGINX-palvelimen määrittäminen
Jotta NGINX voidaan määrittää verkkopalvelimeksi, verkkotunnuksen tulee olla jo määritetty ja liitetty palvelimen IP-osoitteeseen. Varmista, että myös DNS on määritetty oikein. Luo uusi NGINX-määritystiedosto hakemistoon sites-available seuraavasti:
sudo touch /etc/nginx/sites-available/exampledomain.co.ukbash(Käytimme URL-osoitteena exampledomain.co.uk.)
Avaa asetustiedosto tekstieditorissa (kuten Vim) seuraavasti:
sudo vim /etc/nginx/sites-available/exampledomain.co.ukbashLisää koodilohko Nextcloudin NGINX-määritysohjeiden kohdasta ”Nextcloud NGINX-webroots-hakemiston alihakemistossa”.
Koska HTTPS-varmenne lisätään Certbotin avulla, poista kaikki SSL:ään liittyvät rivit NGINX-määritystiedostosta. Certbot hoitaa nämä automaattisesti.
SSL-varmenteen asentaminen Certbotilla
Jotta Nextcloudia voidaan käyttää suojatun HTTPS-yhteyden kautta, sinun on asennettava SSL-varmenne, tässä tapauksessa Let’s Encryptin varmenne. Aloita määrittämällä palomuuri sallimaan HTTPS- ja SSH-yhteydet seuraavien sudo-komentojen avulla:
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'bashOta seuraavaksi palomuuri käyttöön kohdassa sudo ufw enable ja varmista kohdassa sudo ufw status, että yhteydet on sallittu. Sen jälkeen voit luoda SSL-varmenteen Certbot-ohjelmalla:
sudo certbot --nginx -d exampledomain.co.ukbashSeuraa ohjeita ja anna sähköpostiosoitteesi varmenteen uusimista varten sekä hyväksy käyttöehdot. Valitse vaihtoehto 2, jotta kaikki HTTP-pyynnöt ohjataan automaattisesti HTTPS-protokollalle. Certbot tallentaa varmennetiedostot hakemistoon .etc/letsencrypt/live/exampledomain.co.uk/. Tiedosto fullchain.pem sisältää SSL-varmenteen ja privkey.pem sisältää salaisen avaimen. Sinun on lisättävä ne NGINX-määritystiedostoon:
ssl_certificate /etc/letsencrypt/live/exampledomain.co.uk/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/exampledomain.co.uk/privkey.pem;txtKoska Certbot on muokannut asetustiedostoa, sinun on lisättävä attribuutti ssl uudelleen 443 ja http2 väliin. Lohkon tulisi näyttää tältä:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name exampledomain.co.uk;
}txtKuinka käynnistää palvelut uudelleen ja kirjautua Nextcloudiin
Jotta muutokset tulisivat voimaan, sinun on käynnistettävä PHP-FPM- ja NGINX-palvelut uudelleen:
sudo systemctl reload php8.3-fpm.service
sudo systemctl reload nginx.servicebashAvaa nyt verkkotunnuksesi selaimessa – tässä tapauksessa exampledomain.co.uk. Jos kaikki on määritetty oikein, Nextcloudin aloitussivu pitäisi avautua.
Jos Nextcloud ei lataudu, syynä voi olla se, että verkkotunnustasi ei ole merkitty luotettavaksi verkkotunnukseksi kohdassa config.php. Lisää se sinne ongelman ratkaisemiseksi.