Nextcloudin käyttäminen Allas-tallennusjärjestelmän selainkäyttöliittymänä
Motivaatio: Allas on yleiskäyttöinen tallennusjärjestelmä tutkimusdatalle. Sitä voidaan käyttää Swift- ja S3-protokolliin perustuvilla työkaluilla. Monissa tapauksissa Allaksen suoraa käyttöä S3:n tai Swiftin kautta kuitenkin rajoittaa käyttäjähallinnan melko yksinkertainen rakenne sekä se, että käyttö perustuu henkilökohtaisiin CSC-käyttäjätunnuksiin.
Nextcloud-palvelimen käyttäminen selainkäyttöliittymänä mahdollistaa oman käyttäjäkunnan luomisen ja hallinnan Allas-tallennusalueellesi sekä eri aineistojen ja tallennusalueiden käyttöoikeuksien hallinnan. Lisäksi Nextcloud tarjoaa useita käyttöliittymiä (mukaan lukien WWW-käyttöliittymä ja matkapuhelinsovellus), jotka ovat usein helpompia ja joustavampia käyttää kuin natiivit Swift- tai S3-sovellukset.
Tässä dokumentissa esittelemme yksinkertaisen käyttötapauksen seuraavilla vaiheilla:
- Käynnistä uusi Ubuntu18-virtuaalikone
- Asenna Nextcloud-palvelin uuteen virtuaalikoneeseen
- Liitä Nextcloud-palvelin Allaksen dataämpäriin
- Luo uusi Nextcloud-käyttäjätili ulkoiselle käyttäjälle
1. Käynnistä uusi Ubuntu-virtuaalikone
Käynnistä ensin uusi Ubuntu-pohjainen palvelin cPouta-palvelussa. Tämä ohje on testattu Ubuntu18- ja Ubuntu24-versioilla.
Katso ohjeet cPoutan dokumentaatiosta ja
opastusvideolta.
Useimmissa tapauksissa yhdistelmä “standard small” -flavorista ja Ubuntu18- tai Ubuntu24-levykuvasta on riittävä.
Kun luot virtuaalikoneelle tietoturvaryhmän, yllä olevissa ohjeissa näytetään, miten portti 22 avataan ssh-yhteyttä varten. Tässä tapauksessa käytä samaa menettelyä avataksesi myös portin 443 (https), koska sitä käytetään Nextcloud-palvelimen käyttöön.
2. Nextcloud-palvelimen asentaminen virtuaalikoneeseen
Avaa pääteyhteys palvelimeesi (ssh tai Putty) Nextcloud-palvelimen asentamista varten. Ensin on hyvä päivittää Ubuntu-järjestelmä:
Tässä esimerkissä käytämme snap-pakettia, koska se tarjoaa helpon tavan asentaa Nextcloud. Asennus onnistuu vain muutamalla komennolla.Tee ensin Nextcloud-asennus komennolla:
Sen jälkeen luodaan Nextcloudin ylläpitotili. Alla olevassa komennossa tilin nimeksi määritellään ncadmin ja salasanaksi 1Hu9kgFsN. Seuraavaksi sinun täytyy ottaa käyttöön https itse allekirjoitetulla varmenteella. Itse allekirjoitetut varmenteet riittävät testaukseen, mutta tuotantokäytössä kannattaa käyttää oikeita varmenteita (esim. lets-encrypt itse allekirjoitetun sijaan).Viimeisenä vaiheena lisää Nextcloud-palvelimesi IP-osoite luotettujen verkkotunnusten listaan. IP-osoite on kelluva IP-osoite, jonka määritit virtuaalikoneelle ja jota käytit pääteyhteyden avaamiseen. Esimerkiksi IP-osoitteelle 86.50.252.77 määritys voidaan tehdä komennolla:
Nyt sinun pitäisi pystyä yhdistämään Nextcloud-palvelimeesi osoitteessa https://ip-of-your-VM
Tässä esimerkissä siis: https://86.50.252.77
Jos selainkäyttöliittymäyhteys ei toimi, tarkista että:
- käytät oikeaa protokollaa ja IP-osoitetta
- portti 443 ja paikallinen IP-osoitteesi (ei palvelimen IP-osoite) on määritelty cPoutan tietoturvaryhmässä ja että tämä tietoturvaryhmä on käytössä
- selaimesi hyväksyy itse allekirjoitetut varmenteet
Nextcloud-ohjelmisto on modulaarinen, ja sitä voidaan laajentaa Nextcloud-sovelluksilla. Kun olet saanut Nextcloudin käyntiin, on hyvä käytäntö tarkistaa, mitkä sovellukset ovat käytössä ja miten eri ominaisuudet on määritetty toimimaan. Voit tehdä tämän Nextcloudin käyttöliittymässä, kun kirjaudut sisään ylläpitäjänä. Halutessasi voit myös aloittaa tämän ajamalla CSC:n tarjoaman skriptin, joka poistaa käytöstä muutamia sovelluksia ja määrittää joitakin sovelluksia, jotta Nextcloud olisi vähemmän kuormitettu ominaisuuksilla tällaisessa Allas-selainkäyttöliittymän testauksessa. Skriptin voi ladata ja ajaa näin:
curl https://raw.githubusercontent.com/CSCfi/allas-cli-utils/master/nextcloud_snap/clean_nextcloud_snap >clean_nextcloud_snap
chmod +x clean_nextcloud_snap
./clean_nextcloud_snap
3. Liitä Nextcloud Allaksen ämpäriin
Jotta voit liittää Allaksen Nextcloud-palvelimeesi, sinulla täytyy olla voimassa oleva S3-avainpari ja valmiiksi tehty dataämpäri Allaksessa. Ämpäri voi olla tyhjä tai se voi jo sisältää joitakin dataobjekteja.
Voit tehdä nämä asiat esimerkiksi puhti.csc.fi:ssä seuraavilla komennoilla:
a. Yhteyden määrittäminen:
b. Uuden tyhjän ämpärin luominen
Tässä esimerkissä käytämme projektia 2001234, joten ämpärin nimi voisi olla:c. Avainten tulostaminen
S3 Allas credentials
Voit myös luoda Allaksen S3-käyttöoikeustiedot seuraamalla tätä ohjetta
Palaa nyt Nextcloudin WWW-käyttöliittymään ja kirjaudu sisään ylläpitäjänä. Napsauta sinisen valikkopalkin oikeassa reunassa olevaa pyöreää symbolia ja valitse ponnahdusvalikosta +Apps.
Siirry kohtaan Your apps ja ota näkyviin tulevasta sovelluslistasta käyttöön External storage support.
Napsauta sitten pyöreää symbolia uudelleen ja avaa Administration settings.
Vieritä vasemman reunan asetuspaneelissa Hallinta-osioon ja valitse: External storage.
Avaa Add storage -valikko ja valitse: Amazon S3
Tämä avaa määritysvalikon, johon sinun tulee täyttää seuraavat parametrit:
- Folder name: Allas-ämpärin näyttönimi (2001234-nextcloud)
- Authentication: Valitse Access key
- Bucket: juuri luomasi ämpäri tai jokin vanhempi ämpäri
- Hostname:a3s.fi
- Port: 443
- Region: US
- Enable SSL
- Access key: yllä olevan grep-komennon tulosteesta
- Secret key: yllä olevan grep-komennon tulosteesta
Siirry sitten kohtaan External storage omissa Personal-asetuksissasi ja napsauta riviä, joka sisältää juuri luodun ulkoisen kansion nimen, varmistaaksesi että tallennus toimii.
Jos nyt siirryt päävalikon Files-työkaluun (yläreunan sininen palkki), sinun pitäisi nähdä uusi ulkoisen tallennuksen kansio, jonka nimi on määritelty yllä.
Nyt voit napsauttaa tätä kansiota ja aloittaa datan lataamisen ja hakemisen tästä Allas-ämpäristä ja tähän Allas-ämpäriin Nextcloud-käyttöliittymän avulla.
4. Luo uusi Nextcloud-käyttäjätili ulkoiselle käyttäjälle
Nextcloudin ylläpitotili voi luoda uusia käyttäjiä ja käyttäjäryhmiä Nextcloud-palvelimelle. Napsauta sinisen valikkopalkin oikeassa reunassa olevaa pyöreää symbolia ja valitse ponnahdusvalikosta Users.
Luo ensin uusi käyttäjäryhmä napsauttamalla +-merkkiä kohdan Groups vieressä. Tässä nimeämme ryhmän nimellä “users” ja vahvistamme luontipyynnön kirjoittamalla Nextcloud-ylläpitäjän salasanan.
Sen jälkeen luodaan uusi käyttäjä napsauttamalla New account. Käyttäjälle täytyy määrittää käyttäjänimi ja salasana, ja uusi tili lisätään ryhmään Users.
Lopuksi meidän täytyy sallia tämän uuden käyttäjän pääsy External storageen (Allaksen ämpäriin). Tätä varten palaa takaisin Asetukset-näkymään ja avaa uudelleen External storage -asetukset Hallinta-työkaluista.
Nyt napsauta sarakkeessa “Available for” määrityskenttää. Tämä listaa käyttäjät ja käyttäjäryhmät. Valitse joko käyttäjä tai käyttäjäryhmä, jotta uusi käyttäjä saa pääsyn Allas-ämpäriin. Voit määrittää sekä luku- että kirjoitusoikeudet tai antaa käyttäjälle tai käyttäjäryhmälle myös pelkän lukuoikeuden. Nämä vaihtoehdot määritetään valikosta, joka avautuu määrityskentän vieressä olevista kolmesta pisteestä.
5. Nextcloudin käyttäminen
Kun uusi Nextcloud-tili on luotu, voit lähettää tilitiedot uudelle käyttäjälle, ja hän voi käyttää Nextcloudia datan lataamiseen ja hakemiseen siihen dataämpäriin, joka liitettiin Nextcloud-palvelimeen. Huomaa, että tämä käyttäjä ei tarvitse CSC-käyttäjätunnusta, vaan Nextcloud-tili riittää. Selainkäyttöliittymien lisäksi Nextcloudia voi käyttää työpöytätyökaluilla ja puhelinsovelluksilla.
Komentorivikäyttö on myös mahdollista. Tätä voidaan hyödyntää esimerkiksi tilanteissa, joissa datan lataus tai siirto täytyy automatisoida. Alla on esimerkki, jossa dataa siirretään ja haetaan curl-komennolla ja application password -salasanalla. Tässä tapauksessa Nextcloudin ylläpitäjä on luonut tätä tarkoitusta varten käyttäjän nimeltä ncuser1. Ensin ncuser1 kirjautuu Nextcloud-palvelimeen. Käyttäjä avaa Settings-valikon ja siirtyy siellä Security-asetuksiin.
Tietoturvaosion kohdassa Devices & Sessions luodaan sovellussalasana napsauttamalla painiketta: Create a new app password. Huomaa, että sinun täytyy kopioida ja tallentaa juuri luotu sovellussalasana, koska et voi tarkistaa sitä myöhemmin.
Käyttäjänimen ja sovellussalasanan lisäksi käyttäjän täytyy tietää palvelun IP-osoite tai palvelimen nimi palveluun pääsemiseksi.
Kun nämä tiedot ovat saatavilla, dataa voidaan hakea Nextcloudista seuraavan curl-komennon syntaksilla:
Ja siirto voidaan tehdä seuraavalla syntaksilla:
curl -k -u username:app-password -T file-to-upload "https://server-ip/remote.php/webdav/nextcloudirectory/file-name"
Yllä olevissa komennoissa valitsin -k käyttö on tarpeen, kun Nextcloud-palvelin käyttää itse allekirjoitettuja varmenteita.
Tässä esimerkissä käyttäjän ncuser1 luoma sovellussalasana on: Q34EN-Ni7pH-9oSes-ZQsF7-NdkYi ja Nextcloud-palvelimen IP-osoite on 123.456.768.910. Aiemmin Nextcloudin ylläpitäjä oli liittänyt Allas-ämpärin 2001234-nextcloud Nextcloud-palveluun.
Nyt ncuser1 pystyy siirtämään tiedoston image1.jpg Allas-ämpäriin 2001234-nextcloud komennolla:
curl -k -u ncuser1:Q34EN-Ni7pH-9oSes-ZQsF7-NdkYi -T ./image1.jpg "https://123.456.768.910/remote.php/webdav/2001234-nextcloud/image1.jpg"
Sama tiedosto voidaan hakea komennolla: