Nextcloudin käyttäminen Allas-tallennusjärjestelmän kä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 käyttö suoraan S3:n tai Swiftin kautta on kuitenkin rajoittunutta melko yksinkertaisen
käyttäjähallinnan vuoksi sekä siksi, että käyttö perustuu henkilökohtaisiin CSC-käyttäjätunnuksiin.
Nextcloud-palvelimen käyttäminen käyttöliittymänä mahdollistaa oman käyttäjäkannan
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 Swiftin tai S3:n omat sovellukset.
Tässä dokumentissa esittelemme yksinkertaisen käyttötapauksen seuraavilla vaiheilla:
- Käynnistä uusi Ubuntu18-virtuaalikone
- Asenna Nextcloud-palvelin uuteen virtuaalikoneeseen
- Linkitä 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
ohjevideolta.
Useimmissa tapauksissa yhdistelmä ”standard small” -flavorista ja Ubuntu18- tai Ubuntu24-levykuvasta on riittävä.
Kun luot virtuaalikoneelle suojausryhmän, yllä olevissa ohjeissa näytetään, miten
portti 22 avataan ssh-yhteyttä varten. Tässä tapauksessa avaa samalla tavalla myös
portti 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.Asenna ensin Nextcloud komennolla:
Sen jälkeen luodaan Nextcloudin ylläpitotili. Alla olevassa komennossa tilin nimeksi määritetään ncadmin ja salasanaksi 1Hu9kgFsN. Seuraavaksi sinun täytyy ottaa käyttöön https itse allekirjoitetulla varmenteella. Itse allekirjoitetut varmenteet riittävät testaukseen, muttatuotantokäytössä kannattaa käyttää oikeita varmenteita (esimerkiksi lets-encryptiä itse allekirjoitetun sijaan).
Viimeisenä vaiheena lisää Nextcloud-palvelimesi IP-osoite luotettujen verkkotunnusten listaan. IP-osoite on kelluva IP-osoite,
jonka liitit virtuaalikoneeseen 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://virtuaalikoneesi-ip
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 suojausryhmässä ja että tämä suojausryhmä 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 niin, että Nextcloud on vähemmän kuormitettu ominaisuuksilla tällaisessa Allas-käyttöliittymätestauksessa. Skripti voidaan ladata ja suorittaa 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. Linkitä Nextcloud Allaksen ämpäriin
Jotta voit linkittää Allaksen Nextcloud-palvelimeesi, sinulla täytyy olla voimassa oleva S3-avainpari ja valmiiksi luotu 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ä 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
Allaksen S3-käyttöoikeustiedot
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 sovellusluettelosta 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, jossa 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ä tallennustila toimii.
Jos siirryt nyt päävalikon Files-työkaluun (yläreunan sininen palkki),
sinun pitäisi nähdä uusi ulkoisen tallennustilan kansio, jonka nimi on määritetty yllä.
Nyt voit napsauttaa tätä kansiota ja aloittaa datan lataamisen palveluun ja lataamisen palvelusta
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 “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ä näyttää 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 vain lukuoikeuden.
Nämä vaihtoehdot asetetaan 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 palveluun ja lataamiseen palvelusta siihen dataämpäriin, joka linkitettiin 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 lataaminen palveluun tai lataaminen palvelusta täytyy automatisoida. Alla on esimerkki, jossa dataa ladataan palveluun ja ladataan palvelusta curl-komennolla ja application password -salasanalla. Tässä tapauksessa Nextcloud-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.
Kun nämä tiedot ovat käytettävissä, data voidaan ladata palvelusta Nextcloudista seuraavalla curl-komennon syntaksilla:
Ja lataaminen palveluun 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 Nextcloud-ylläpitäjä oli linkittänyt Allas-ämpärin 2001234-nextcloud Nextcloud-palveluun.
Nyt ncuser1 voi ladata tiedoston image1.jpg palveluun 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 ladata palvelusta komennolla: