Baas over eigen data met Sandstorm voor Ubuntu

Met de G Suite - voorheen bekend als Google Apps - bewerk je documenten, spreadsheets en presentaties in de cloud. Met Sandstorm, een concurrent van Google Apps, host je zulke programma’s op je eigen server.

In dit artikel laten we je zien hoe je zelf Sandstorm op Ubuntu 16.04 LTS kunt installeren, hoe je het naar eigen wens kunt instellen en hoe je apps erop kunt installeren om de functionaliteiten van Sandstorm uit te breiden.

01 Proberen

Voordat je aan de slag gaat met de installatie kun je de Sandstorm-suite van applicaties eerst zelf proberen. Klik dan op Try a quick demo. De normale versie van Sandstorm beschikt over 67 apps die je snel kunt installeren. Je hebt dan bijvoorbeeld de beschikking over een app als Etherpad, waarmee je een kladblok kunt maken en die eenvoudig met anderen kunt delen. Degenen met wie je dit document deelt, zien alle gemaakte wijzigingen direct terug in het document. Met draw.io kun je in je eigen omgeving diagrammen maken en met Rocket.Chat kun je chatten met anderen à la Slack. Handig als je je eigen privé-chatserver wilt opzetten. Met File Drop kun je eenvoudig bestanden delen met anderen en met Roundcube kun je je eigen webmailclient opzetten. Er zijn heel veel mogelijkheden met Sandstorm.

01 Via de website van Sandstorm kun je de suite eerst vooraf proberen.

© PXimport

02 Aan de slag

Het gebruik van Sandstorm is geheel gratis als je het zelf host. Alleen als je geavanceerdere functies wilt die bijvoorbeeld bedrijven nogal eens nodig hebben, zoals LDAP-integratie, dan is het wel nodig om je portemonnee te trekken. Verder zijn de standaard- en de versie voor bedrijven gelijk: alle apps zijn bruikbaar en er is single sign-on, gasttoegang, automatische app-updates en eenvoudige back-ups. Je installeert Sandstorm eenvoudig op een Linux-server. Wij volgen de stappen op Ubuntu 16.04 LTS. Je krijgt gratis de beschikking over een dynamische dns-dienst van Sandstorm en krijgt ook gratis een subdomein op sandcats.io. Om ermee aan de slag te gaan, open je de terminal van Ubuntu of ssh je in de Ubuntu-server. Als je Ubuntu op de desktop gebruikt, klik je daarvoor op de Ubuntu-knop, typ je Terminal en druk je op Enter. Maar het beste kun je Sandstorm natuurlijk direct op de Ubuntu-server uitvoeren. Voer nu het volgende commando in en druk op Enter om de installatie binnen te halen: curl https://install.sandstorm.io | bash.

02 Om Sandstorm te installeren, haal je dit script binnen van Sandstorm.

© PXimport

03 Installatie

Na het uitvoeren van dat commando vraagt Sandstorm of je het voor normaal gebruik of voor ontwikkelingsdoeleinden wilt installeren. Kies voor Standard en druk op Enter. Sandstorm heeft root-rechten nodig, dus zodra om sudo wordt gevraagd druk je opnieuw op Enter. Sandstorm maakt dan een nieuwe map aan, /opt/sandstorm, waarin het programma wordt geïnstalleerd. Automatische updates worden ingeschakeld en er wordt een Sandstorm-service aangemaakt, zodat het automatisch start als Ubuntu opstart. Sandstorm vraagt nu welk subdomein je wilt gebruiken. Typ een subdomein dat je graag wilt gebruiken. De naam mag maximaal 20 karakters lang zijn en alleen alfanumerieke tekens bevatten. Druk na het invoeren op Enter en voer dan je e-mailadres in voor hersteldoeleinden. Daarna moet je even wachten, terwijl je server beveiligd wordt met ssl en de installatie wordt voortgezet.

03 Tijdens de installatie vraagt Sandstorm hoe je het gaat gebruiken en welk subdomein je wilt.

© PXimport

Met Rocket.Chat kun je chatten met anderen à la Slack.

-

04 Postfix

Vanuit Sandstorm moet onze server mail kunnen versturen. Daarvoor is het nodig om een smtp-server met Postfix op te zetten. Dat is zo gebeurd. Daarvoor open je weer een terminal en voer je het volgende commando uit: sudo apt-get update && sudo apt install mailutils. Druk op Enter om de installatie van de pakketten te bevestigen. Tijdens de installatie is het nodig Postfix te configureren. Selecteer Ok met Tab, kies dan voor de optie Internet Site en ga met Tab naar Ok en druk op Enter. Vul daarna een naam in vanaf waar je mail wilt versturen.

Gezien je geen domeinnaam hebt, kun je hier bijvoorbeeld de naam van je subdomeinnaam invullen: gewoon mijnsandstorm. Druk op Tab en selecteer Ok om door te gaan. Postfix is nu klaar, maar om het extra veilig te maken gaan we ervoor zorgen dat de smtp-server alleen via localhost gebruikt kan worden om te voorkomen dat je server misbruikt wordt. Daarvoor typ je in de terminal sudo nano /etc/postfix/main.cf. Zoek naar de regel inet_interfaces = all en verander all naar loopback-only zodat de regel inet_interfaces = loopback-only wordt. Sluit het bestand met Ctrl + X en dan Y en Enter. Herstart Postfix met sudo service postfix restart. Je kunt nu testen of je SMTP-server goed werkt door het volgende commando uit te voeren:

Echo “Mijn eerste testmail!” | mail -s “Onderwerp van e-mail” je-mail@adres.nl. Verplaats het laatste adres met je echte e-mailadres en druk op Enter. Controleer dat de mail aankomt. Deze kan ook in de spam-map terechtkomen.

04 Kies tijdens de installatie van Postfix voor Internet Site.

© PXimport

05 Opzetten

Als alles goed is gegaan, zie je dat de server nu online is. Er is een link zichtbaar in de terminal die 15 minuten lang houdbaar is. Die link kun je gebruiken om je Sandstorm-installatie verder op te zetten. Kopieer en plak die link in je browser om door te gaan. Zodra je de link invult, word je welkom geheten. Kies welke versie je wilt. Wij gebruiken de standaardversie, dus klik op Begin Standard Setup. Het is nu nodig om te kiezen hoe je wilt inloggen. Dat kan op verschillende manieren: via e-mail, via Google of via GitHub. Alleen als je de werkversie hebt, kun je LDAP en SAML gebruiken. Wij beginnen eerst met het inloggen via e-mail.

Klik daarvoor naast E-mail (passwordless) op Configure en klik dan op Enable. Klik daarna op Next. Als je zojuist Postfix hebt opgezet op Ubuntu, dan vul je hier localhost in bij SMTP host. Klik dan op Test en vul je e-mailadres in. Als alles goed is, ontvang je een testmailtje van Sandstorm. Als dat zo is, klik op Save and continue om door te gaan. Daarna gaat Sandstorm de standaardapps installeren, maar die heb je nog niet, dus klik op Next. Nu is het tijd om een adminaccount aan te maken. Vul daarvoor je e-mailadres in en klik op Send login email. In die mail vind je een token, vul die in het veld in bij Enter your token en klik op Confirm. Je kunt nu je profiel aanpassen. Klik op Finish als je alles hebt opgezet. Je kunt nog andere gebruikers toevoegen met Add users, andere instellingen wijzigen met Edit other settings of starten met het gebruik van Sandstorm met Start using Sandstorm. Wij gaan nu aan de slag en passen later meer aan.

05 Kies bij de eerste stap voor Standard.

© PXimport

06 Apps installeren

Na het opzetten kom je terecht op het app-scherm van Sandstorm. Van hieruit kun je apps installeren en starten. Om een app te installeren, klik je op de plusknop. Er opent een nieuw tabblad met alle apps die je kunt installeren. Klik bijvoorbeeld bij Etherpad op Install. De app wordt gedownload en klaargezet. Klik op Install Etherpad om de installatie te voltooien. Na de installatie kun je op Create pad klikken om een nieuw tekstdocument aan te maken. Klik bovenaan op Untitled Etherpad pad om de titel van het document aan te passen. Verder kun je het document delen door te klikken op Share access bovenaan, waarna je een link kunt mailen of een link kunt genereren en zelf kunt delen. Dat werkt zo voor alle apps die je installeert.

06 Een app installeer je erg eenvoudig met twee keer klikken.

© PXimport

07 Handige apps

Een andere, handige app is Rocket.Chat, dat je op eenzelfde manier installeert als Etherpad. Na de installatie klik je op Create new grain, waarmee je een nieuwe chatkamer aanmaakt. Het opzetten kan even duren. Uiteindelijk vul je een gebruikersnaam in waarmee je kunt chatten. Vul die dus in en klik op Gebruik deze gebruikersnaam. Daarna opent het chatprogramma zich. Handig zijn de apps beschikbaar voor Rocket.Chat voor iOS en Android, maar door een bug werken die op het moment van schrijven helaas niet. Houd daarvoor deze issue in de gaten. Er zijn meer chatapps, zoals Simple Chat, SandChat en Let’s Chat. Een andere handige app is FileDrop waarmee je bestanden kunt delen. Na installatie maak je een nieuwe grain aan en kun je eenvoudig bestanden uploaden door deze ernaar toe te slepen of door rechtsonder op de uploadknop te klikken.

07 Kies een gebruikersnaam om door te gaan met Rocket.Chat.

© PXimport

Als je in een Sandstorm-applicatie een document aanmaakt, dan krijgt deze zijn eigen container, ofwel ‘grain’.

-

08 Inloggen met een Google-account

Tot nu toe kun je alleen inloggen door je e-mailadres in te vullen, waarna je een mailtje krijgt met een token. Hoewel dat erg veilig is en het fijn is dat er geen wachtwoord nodig is, is het ook mogelijk om in te loggen met een Google-account. Dat zet je als volgt op. Klik rechtsboven op je naam en kies voor Admin panel. Ga dan naar Identity providers en klik bij Google op Configure. Klik in het nu verschenen dialoog op de link naar Google bij stap 1. Er wordt gevraagd of je e-mails over het Google Cloud Platform wilt ontvangen en daaronder of je akkoord gaat met de voorwaarden. Kies bij die laatste voor Ja en klik op Akkoord en doorgaan.

Klik naast het Google APIs-logo op Project / Project maken. Voer een naam voor het project in, bijvoorbeeld Mijn Sandstorm en klik op Maken. Wacht even totdat het project is aangemaakt en ga dan naar Inloggegevens / OAuth-toestemmingsscherm. Vul hier een E-mailadres en Productnaam in en klik op Opslaan. Klik dan op Inloggegegevens maken en kies voor Client-ID OAuth. Kies voor Webapp. Vul een naam in, bijvoorbeeld Sandstorm-webclient, en vul dan bij Geautoriseerde JavaScript-bronnen de link van Sandstorm in van stap 6. Vul bij Geautoriseerde omleidings-uri’s de link in van Sandstorm van stap 7. Klik op Maken. Kopieer vanuit Google de Client-ID en Clientgeheim naar Client ID en Client secret in Sandstorm en klik aldaar op Enable. Het koppelen is dan gelukt. Om je eigen Google-account te linken, ga je rechtsboven naar je accountnaam en klik je op Account settings. Klik dan rechts op Link new identity en klik op with Google.

08 Maak een nieuw project aan in Google APIs.

© PXimport

09 Instellingen aanpassen

Om de instellingen in Sandstorm te wijzigen, klik je rechtsboven op je gebruikersnaam en kies je voor Admin panel. Je ziet een aantal categorieën. Zojuist waren we bezig met de Identity providers. Daar kun je ook GitHub aan toevoegen om mee in te loggen. Met Email configuration kun je de smtp-serverinstellingen aanpassen. Bij Personalization kun je de titel van je Sandstorm-website wijzigen en ook de tekst aanpassen die de gebruiker de eerste keer ziet bij het aanmelden. Als je het wat professioneler aan wilt pakken, kun je bij de Terms of service URL en Privacy police URL de link naar de algemene voorwaarden en het privacybeleid opgeven. Bij Pre-installed apps kun je selecteren welke apps standaard aanwezig moeten zijn voor nieuwe gebruikers. Bij Users kun je alle gebruikers beheren. Als je een gebruiker uit de lijst kiest en op Manage klikt, kun je deze adminrechten geven of juist Visitor maken, waarbij de gebruiker geen nieuwe apps kan installeren. Ook kun je hier accounts blokkeren of verwijderen.

09 In het adminpanel van Sandstorm kun je instellingen wijzigen, statistieken inzien en gebruikers beheren.

© PXimport

Je maakt een volledige back-up van Sandstorm door simpelweg de installatiemap te zippen.

-

10 Grains

In Sandstorm zie je her en der de term ‘Grains’. Als je in een Sandstorm-applicatie een document aanmaakt, dan krijgt deze zijn eigen grain. Voor bijvoorbeeld de teksteditor Etherpad krijgt elk document een eigen container, compleet losstaand van de rest. De database voor dat document is opgeslagen in een eigen container en de container heeft een eigen bestandssysteem waar het alles kwijt kan. Het javascript in de browser kan alleen praten met het betreffende document in die container. Dit gehele proces heet in termen van Sandstorm een grain. Standaard is elke grain privé, maar je kunt ervoor kiezen om een grain te delen met andere gebruikers. Het fijne is dan dat je dus echt alleen dat document deelt en de ander geen toegang heeft tot je overige documenten. Een ander voordeel is dat je individuele grains kunt versleutelen. Dat is een stuk lichter dan alles in een keer versleutelen.

10 Elk document dat je aanmaakt wordt een grain genoemd in Sandstorm.

© PXimport

11 Back-ups

Van elke grain kun je een back-up maken en die later herstellen. Om een back-up binnen te halen van de huidige grain (ongeacht welke app je gebruikt), klik je in een app bovenaan in de balk op het downloadpictogram. Dat is het derde icoon van links naast Share access met de tekstballon Download back-up. Als je even wacht, krijg je een ZIP-bestand aangeboden. Om nu een grain te herstellen, ga je naar de Grains-pagina door daarop links in de menubalk op te klikken. Klik dan op de knop Restore backup… en upload het zip-bestand van de back-up. Als je een back-up wilt maken van de hele Sandstorm-server, dan is het nodig om er even de terminal bij te pakken. Vervolgens stop je Sandstorm met: sudo service sandstorm stop. Je maakt een volledige back-up van Sandstorm door simpelweg de installatiemap te zippen. Je kunt daarvoor het commando gebruiken: tar -cf $HOME/sandstorm-snapshot-from-$(date -I).tar /opt/sandstorm. Daarmee wordt die map in een tar ingepakt en zie je direct de datum waarop de back-up is gemaakt. Je start Sandstorm dan weer met sudo service sandstorm start.

11 Je kunt individueel per grain een back-upbestand downloaden.

© PXimport

Deel dit artikel
Voeg toe aan favorieten