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 suoraa käyttöä S3:n tai Swiftin kautta kuitenkin rajoittavat 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 kä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 käyttää ja joustavampia 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
- 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 cPouta-dokumentaatiosta ja
opastusvideosta.
Useimmissa tapauksissa yhdistelmä “standard small” -flavor ja Ubuntu18- tai Ubuntu24-levykuva 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 menettelyllä 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 snapia, koska se tarjoaa helpon tavan asentaa Nextcloud. Asennuksen voi tehdä vain muutamalla komennolla.Asenna ensin Nextcloud 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 (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ä muodostamaan yhteys 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 cPoudan 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 Nextcloud on käynnissä, 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. 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. 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 roihu.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
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 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, 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 Personal-asetusten kohtaan External storage ja napsauta juuri luodun ulkoisen kansion nimeä sisältävää riviä 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 yllä määritellyllä nimellä.
Nyt voit napsauttaa tätä kansiota ja aloittaa datan lataamisen Allas-ämpäriin ja lataamisen sieltä 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ääritellä 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 External storage -asetukset uudelleen Hallintatyö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 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 palvelimelle ja lataamiseen palvelimelta 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 lataus tai siirto palvelimelle täytyy automatisoida. Alla on esimerkki, jossa dataa siirretään palvelimelle ja ladataan curl-komennolla sekä application password -toiminnolla. 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.
Tietoturvaosiossa 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 saatavilla, dataa voidaan ladata Nextcloudista curl-komennon syntaksilla:
Ja siirto palvelimelle voidaan tehdä 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 siirtää 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 ladata komennolla: