Bouw je eigen cloud met ownCloud

© PXimport

Bouw je eigen cloud met ownCloud

Geplaatst: 9 juni 2017 - 06:20

Aangepast: 14 december 2022 - 14:25

Jochem de Goede

OneDrive, Dropbox, iCloud, Google Drive … Al die cloudopslagdiensten zijn kinderlijk eenvoudig en praktisch. Maar bedenk wel dat al die persoonlijke bestanden, foto's, documenten en mails op de systemen van anderen staan. Je kunt nooit achterhalen wie jouw data inzien. Tijd om het heft in eigen hand te nemen met een eigen cloud.

In deze basiscursus gaan we onze eigen cloud opzetten met ownCloud. OwnCloud is serversoftware waarmee je je bestanden kunt synchroniseren met je eigen cloud, oftewel het is een do-it-yourselfdropbox. Het fijne aan ownCloud is dat je gegevens je huis niet verlaten en niet op andermans computer terechtkomen. Bovendien is het mogelijk om ownCloud uit te breiden met allerlei handige apps, zodat het veel meer wordt dan alleen een cloudopslagdienst.

Voordat we beginnen: zorg ervoor dat je een server klaar hebt staan. Wij pakken daarvoor een server met Ubuntu 16.04 LTS. Je kunt ook een nas gebruiken (zie kader). Zorg ervoor dat de pc die je gebruikt genoeg opslagruimte heeft voor de persoonlijke bestanden die je erop wilt zetten. Heb je geen server beschikbaar, dan zou je ownCloud kunnen hosten in een virtuele machine op een pc. Zorg ervoor dat de virtuele schijf dan wel wat ruimte heeft zodat je je gegevens kwijt kan en dat de VM direct verbonden is met je thuisnetwerk.

01 OwnCloud installeren

We gaan ownCloud installeren in Ubuntu. Daarvoor voegen we de ownCloud-repository toe aan de Ubuntu-pakketbronnen. De volgende commando’s kun ook terugvinden op de installatiepagina van ownCloud. Voer in een terminal het volgende commando in:

wget -nv https://download.owncloud.org/download/repositories/9.1/Ubuntu_16.04/Release.key -O Release.key
sudo apt-key add - < Release.key

We hebben nu de sleutel toegevoegd aan Ubuntu, zodat we kunnen verifiëren dat de code echt afkomstig is van ownCloud. Nu kunnen we de software zelf toevoegen als repo. Maak daarvoor het bestand owncloud.list met sudo nano /etc/apt/sources.list.d/owncloud.list en voeg daaraan de volgende regel toe:

deb http://download.owncloud.org/download/repositories/9.1/Ubuntu_16.04/ /

Sla het bestand op met Ctrl + X en Y. Daarna installeer je ownCloud met:

sudo apt update
sudo apt install owncloud

Zodra de installatie klaar is, kun je naar http://<je-ip-adres/owncloud in je browser en zie je de ownCloud-pagina verschijnen. Wacht nog even met inloggen, zoals je ziet op die pagina wordt het gebruik van een andere database dan SQLite aanbevolen.

01 OwnCloud raadt MySQL aan, dus dat gaan we eerst opzetten voordat we doorgaan.

© PXimport

02 MySQL installeren

Als je ownCloud serieus wilt gebruiken, is het aan te raden om gebruik te maken van MySQL in plaats van SQLite. Installeer MySQL als volgt:

sudo apt update
sudo apt install mysql-server

Druk op Enter als de installatie daarom vraagt. Tijdens de installatie wordt ook gevraagd om een wachtwoord in te vullen voor MySQL. Onthoud dat wachtwoord goed en zorg dat het een sterk wachtwoord is. Daarna beveiligen we MySQL met het commando:

mysql_secure_installation

Voer het rootwachtwoord van MySQL in en druk op Enter. Druk op y om wachtwoordvalidatie in te schakelen en kies voor het gewenste veiligheidsbeleid. Wij kiezen voor 0. Als je wachtwoord voor root niet sterk genoeg is, wijzig het dan bij de volgende vraag, ga anders door en druk op Enter. Je kunt nu bij Remove anonymous users, Disallow root login remotely en Remove test database and access to it op y drukken. Druk dan nog eens op y om de wijzigingen direct toe te passen door de rechtentabel, oftewel de privilege table, te herladen.

02 Vergeet niet je rootwachtwoord voor je MySQL-server.

© PXimport

Als je ownCloud serieus wilt gebruiken, is het aan te raden om gebruik te maken van MySQL

-

03 MySQL-database

We maken nu een database aan voor ownCloud in MySQL. Voer daarvoor het commando uit:

mysql -u root -p

En log in MySQL in. Dan maken we een nieuwe database aan met:

CREATE DATABASE owncloud;

We maken nu een speciale gebruiker aan voor deze nieuwe database, die alleen bij die database kan. Dat is een stuk veiliger:

GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'wachtwoord';

Zorg ervoor dat je in plaats van wachtwoord een sterk wachtwoord invoert en die ook goed bewaart. Als laatste passen we deze nieuwe rechten direct toe:

FLUSH PRIVILEGES;

Typ exit om MySQL weer te verlaten.

03 Een aparte gebruiker voor de ownCloud-database vergroot de veiligheid.

© PXimport

OwnCloud installeren op nas

Volg de stappen van de setupwizard als alles opgezet is om ownCloud te installeren.

© PXimport

04 OwnCloud instellen

Om ownCloud in te stellen, ga je terug in de browser naar http://<je-ip-adres>/owncloud. Voer je gewenste gebruikersnaam en wachtwoord in en klik dan op Opslag en database. Klik op MySQL/MariaDB en voer daar de gegevens van net in. De gebruiker van de database is owncloud, het wachtwoord is het wachtwoord dat je bij de vorige stap hebt aangemaakt en de naam is owncloud. Bij Gegevensmap zou je een ander pad kunnen invullen om je bestanden ergens anders op te slaan. In deze map worden de cloudbestanden opgeslagen. Zorg ervoor dat de map die je hier invult beschreven kan worden door www-data. Dat doe je met het commando:

sudo chown -R www-data:www-data /pad/naar/je/map

Wij houden de map op de standaardwaarde en hoeven dan niet bovenstaand commando uit te voeren. Klik op Installatie afronden. Als alles goed gegaan is, kom je na enige tijd op de startpagina van ownCloud met de melding om de desktopapps te installeren.

04 Je kunt de eerste keer het pad van ownCloud nog wijzigen bij Gegevensmap.

© PXimport

05 Domein, dns en router

Voordat we doorgaan met de configuratie van ownCloud, gaan we ervanuit dat je ownCloud in productie wilt gebruiken met een domeinnaam en https. Https zorgt ervoor dat je bestanden tijdens het uploaden niet door anderen ingezien kunnen worden. Voordat we doorgaan is het belangrijk dat je het volgende doet: zorg dat je een A-record aanmaakt voor je domeinnaam, bijvoorbeeld owncloud.je-domein.nl. Verwijs die naar je externe thuis-ip-adres. Je vindt dat adres eenvoudig door even te googlen op ‘wat is mijn ip’. Het beste maak je gebruik van een dynamische dns-service als je ownCloud thuis host, omdat als je ip-adres wijzigt je niet meer bij je ownCloud uitkomt. Dat gaat te ver voor dit artikel. Daarna maak je een nieuwe portforwarding-regel aan in je router, die verkeer op poort 80 én 443 doorstuurt naar je ownCloud-server. Zorg er dan direct voor dat je server van je router een statisch ip-adres krijgt.

05 We sturen poort 80, voor http, en poort 443, voor https, door.

© PXimport

Nextcloud versus ownCloud

06 Apache

Heb je dat allemaal gedaan, dan bewerken we de configuratie van Apache2, die tijdens stap 1 automatisch mee is geïnstalleerd. Kopieer daarvoor eerst de Directory-blokken van de oude owncloud.conf met het commaando cat /etc/apache2/conf-available/owncloud.conf. Selecteer dan alles na Alias. Nu maken we een nieuwe virtualhost aan voor ownCloud met het commando:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/owncloud.conf

Bewerk dan het bestand owncloud.conf met sudo nano /etc/apache2/sites-available/owncloud.conf en haal daar het hekje weg bij ServerName en vervang www.example.com met owncloud.je-domeinnaam.nl. Bij DocumentRoot haal je html weg en vervang je dat met owncloud. Plak nu de twee Directory-blokken van net.

Sla het bestand op met Ctrl + X / Y en schakel de site in en herlaad Apache met:

sudo a2ensite owncloud

sudo service apache2 reload

Ga dan even naar je domein om het te testen. Als het werkt, verschijnt de ownCloud-pagina. Klik op de knop “owncloud.je-domein.nltoevoegen als vertrouwd domein. Waarschijnlijk word je dan doorverwezen naar de verkeerde pagina. In de link voeg je dan even /owncloud/ toe na je ip-adres in de url in je browser en klik je dan op Ja.

06 Als de pagina niet gevonden kan worden, voeg dan in de url /owncloud/ toe, zoals je hier ziet.

© PXimport

Bij Gegevensmap zou je een ander pad kunnen invullen om je bestanden ergens anders op te slaan

-

07 Https

Om nu https in te schakelen, typ je in de terminal:

sudo apt-get install python-letsencrypt-apache

En druk op Enter om de installatie te bevestigen en voer dan in:

sudo letsencrypt -d owncloud.je-domeinnaam.nl

Geef een e-mailadres op, waarop je meldingen ontvangt als het certificaat verloopt en druk op OK. Klik op Agree en kies dan voor Secure en druk op OK / OK. Zorg ervoor dat je eens in de drie maanden even het commando sudo letsencrypt renew uitvoert.

07 Als je hier Secure kiest, wordt alle http-verkeer veilig overgezet naar https.

© PXimport

Test je beveiliging

08 Bestanden synchroniseren

We kunnen nu onze bestanden uploaden naar ownCloud. Daarvoor download je de clients door rechtsboven op je gebruikersnaam te klikken en te kiezen voor Persoonlijk / Sync clients. Kies dan voor je platform, bijvoorbeeld Desktop app en kies voor het juiste besturingssysteem. Download het uitvoerbare bestand en voer het uit. Open na de installatie de client en voer je Serveradres in, dus https://owncloud.je-domein.nl en klik op Next. Meld je dan aan met je gebruikersnaam en wachtwoord en ga door. Je kunt nu kiezen wat je vanaf de server wilt synchroniseren, maar daar staat nog niets. Bij Lokale map kies je waar je de ownCloud-map wilt plaatsen. Klik op Verbinden / Finish om de verbinding definitief te maken. Open de sync-client rechtsonder vanaf het systeemvak. Als je nu je bestanden in je ownCloud-map plaatst, worden ze vanzelf geüpload. De mobiele apps voor Android en iOS kun je gebruiken voor minder dan een euro in de betreffende appstores.

08 Download de betreffende app voor je platform.

© PXimport

09 ownCloud-webinterface

Via de webinterface van ownCloud kun je al je bestanden inzien en downloaden. Rechts zie je favorieten en gedeelde bestanden. Onderaan kun je via Verwijderde bestanden inzien wat er verwijderd is en dat terughalen. Met Instellingen onderaan kun je verborgen bestanden weergeven. Om de echte instellingen van ownCloud aan te passen, klik je rechtsboven op je gebruikersnaam. Met de optie Gebruikers kun je anderen toegang geven tot je ownCloud-server, die kunnen dan zelf bestanden uploaden. Je kunt gebruikers in groepen plaatsen. Per gebruiker kun je een limiet instellen. Met de optie Persoonlijk wijzig je je eigen instellingen, zoals je naam, wachtwoord en meldingen. Via Beheerder vind je algemene instellingen, zoals server-sideversleuteling, deelinstellingen en configuratiemeldingen.

09 Bij Beheerder zie je ook beveiligingswaarschuwingen, controleer die pagina dus zeker even!

© PXimport

Server-sideversleuteling

10 Apps installeren

OwnCloud heeft een appwinkel waarmee je de functionaliteit ervan kunt uitbreiden. Om die in te zien, klik je linksboven op Bestanden / + Apps. Je vindt per categorie handige apps. Klik op Activeer om een app in te schakelen. Die verschijnt dan in het menu bovenin. Met Productivity vind je handige apps zoals een agenda en contactpersonen-beheer. Je vindt meer apps op de website van ownCloud. Om zo’n app te installeren, download je het zip of tar.gz-bestand en pak je het uit op de server in de map /var/www/owncloud/apps. Zorg dat de rechten goed staan met

sudo chmod 750 /var/www/owncloud/apps/<je-app-naam>
sudo chown -R www-data:www-data /var/www/owncloud/apps/<je-app-naam>

Je app komt dan automatisch in de applijst te staan van je ownCloud.

10 In de applijst vind je veel handige uitbreidingen voor ownCloud.

© PXimport

11 Full-text search

Met de app Nextant is het mogelijk om direct door de inhoud van je documenten te zoeken. Daarvoor wordt gebruikgemaakt van Apache Solr. We installeren als eerst de Nextant-app als volgt:

sudo su
cd /var/www/owncloud/apps
wget https://github.com/nextcloud/nextant/releases/download/v1.0.3/nextant-master-1.0.3.tar.gz

We pakken dan het bestand uit en zorgen er zeker voor dat de rechten goed staan:

tar -zxvf nextant-master-1.0.3.tar.gz
chmod 750 nextant/
chown -R www-data:www-data nextant/
exit

Ga dan naar je webinterface en klik bovenaan op Bestanden / Apps. Ga naar Niet ingeschakeld, zoek Nextant in de lijst en klik op Activeer.

11 Als alles goed is gegaan, zie je Nextant bij Niet ingeschakeld in de applijst staan.

© PXimport

Met de app Nextant is het mogelijk om direct door de inhoud van je documenten te zoeken

-

12 Apache Solr

Installeer eerst even Java met:

sudo apt install openjdk-8-jre

Daarna kunnen we Solr binnenhalen en installeren als service:

cd ~
wget http://mirrors.ircam.fr/pub/apache/lucene/solr/6.4.2/solr-6.4.2.tgz
sudo ./solr-6.4.2/bin/install_solr_service.sh solr-6.4.2.tgz

Bewerk dan het bestand jetty-http.xml in /opt/solr/server/etc/ met

sudo nano /opt/solr/server/etc/jetty-http.xml

en maak van de regel

<Set name="host"><Property name="jetty.host" /></Set>

Het volgende:

<Set name="host"><Property name="jetty.host" default="127.0.0.1" /></Set>

Zodat Solr alleen toegankelijk is vanaf localhost. We herstarten nu Solr en genereren een Nextant-core met de volgende commando’s:

sudo /etc/init.d/solr restart
sudo -u solr /opt/solr/bin/solr create -c nextant

Ga dan terug naar de ownCloud-webinterface. Klik rechtsboven op je naam en ga naar Beheerder. Klik op Nextant (volledige tekst zoekfunctie) links en klik op Testen en opslaan. De standaardinstellingen zijn goed. Het kan even duren voordat alles getest is. Daarna kun je de instellingen daaronder aanpassen. Terug in de commandline kun je nu de eerste keer indexeren starten met:

cd /var/www/owncloud
sudo -u www-data ./occ nextant:index

12 We kunnen nu in bestanden zoeken direct vanuit de webinterface.

© PXimport

Deel dit artikel
Voeg toe aan favorieten
ID.nl logo

ID.nl, onderdeel van Reshift BV, is in 2022 gestart en uitgegroeid tot de meest toonaangevende en complete consumentensite van Nederland. Het doel van ID.nl is om de consument te helpen met alle technologie die hoort bij het dagelijks leven: van smart-health-meters tot e-bikes, van warmtepompen tot zonnepanelen - en alles daar tussenin!

Duidelijk, betrouwbaar en onafhankelijk: ID.nl maakt moeilijke dingen makkelijk.

Contact

ID.nl

Nijverheidsweg 18

2031 CP Haarlem

info@id.nl

Telefoon: 023-5430000