ownCloud – seinen eigenen Cloudspeicher auf dem Raspberry

Cloudbasierte Speicherdienste haben in den letzten Jahren stark zugenommen. Heute gibt es bereits eine große Anzahl an Anbietern. Sei es DropBox, Google Drive oder Microsofts OneDrive. Alle können mit praktischen Funktionen auftrumpfen und bieten Apps für den mobilen Zugriff. Dennoch bleibt immer eine gewisse Skepsis. Die Server liegen meistens im Ausland und sind somit den dortigen Gesetzen ausgeliefert. Der Datenschutz bleibt dabei meistens auf der Strecke. Ein weiterer Nachteil dieser Anbieter ist oft der begrenzte Speicherplatz. Dieser lässt sich zwar kostenpflichtig erweitern, möchte man jedoch mehrere hundert Gigabyte Speicher haben, geht das schnell ins Geld – und dies monatlich. Ärgerlich wenn man eigentlich zuhause genug Speicher zur Verfügung hat. Da liegt es doch nahe, sich seinen eigenen Cloudspeicher aufzubauen. OwnCloud macht dies möglich. Neben einer Weboberfläche bietet ownCloud zudem Apps für Smartphones an. Ein Zugriff von Unterwegs steht also nichts im Wege. In diesem Beitrag erkläre ich euch, wie ihr mit eurem Raspberrys und einer externen Festplatte euren eigenen Cloudspeicher einrichtet.

Vorbereitungen

Ein Cloudspeicher bringt relativ wenig, wenn er nicht von unterwegs erreichbar ist. Bevor also mit der Installation und Einrichtung von ownCloud begonnen werden kann, sollte der Raspberry über das Internet erreichbar gemacht werden. Ich persönlich benutze MyFritz von AVW. AVM hat dazu eine gute Anleitung auf deren Homepage.

Da der Raspberry nun über das Internet erreichbar ist, besteht natürlich auch die Gefahr, Ziel von Angriffen zu sein. Um dies zu verhindern, sollten einige Sicherheitsvorkehrungen getroffen werden. Mehr dazu hier auf meinem Blog.

Um später den Datenaustausch über die Weboberfläche zu verschlüsseln, ist zusätzlich das Einrichten eines SSL-Zertifikates notwendig. Da ich bereits meine FHEM-Installation verschlüsselt habe, verwende ich dieses Zertifikat auch hierfür . Wer also noch kein SSL-Zertifikat eingerichtet hat, sollte dies nun machen. Mehr dazu auf hier auf meinem Blog.

Festplatte für ownCloud vorbereiten

Das Wichtigste eines Cloudspeichers ist natürlich der Speicher selbst. Verwendet werden können USB-Sticks oder USB-Festplatten. Bei Festplatten ist jedoch eventuell darauf zu achten, dass die Festplatte eine externe Stromversorgung benötigt. Die Speichergröße des angeschlossenen USB-Speichers bestimmt später den maximalen Speicher des Cloudspeichers. Natürlich kann auch der interne Speicher auf der SD-Karte verwendet werden. Aufgrund des geringen Speichers und der Belastbarkeit einer SD-Karte ist dies jedoch nicht empfehlenswert. Dies ist jedoch die Standardeinstellung und muss deswegen noch angepasst werden. Dazu aber später mehr.

Nachdem man die Festplatte an einen freien USB-Port des Raspberrys angeschlossen hat, kann man durch folgenden Befehl feststellen, unter welchen Pfad die Festplatte nun zu finden ist.

sudo fdisk -l

fdisk Ausgabe Raspberry

In diesem Fall ist es ein USB-Stick, welcher nun unter /dev/sda1 zu finden ist. Um die maximale Performance aus dem Speicher zu bekommen, sollte man ihn in das Linux-Format ext4 formatieren. Dazu wird das Linux eigene Festplattenverwaltungstool aufgerufen.

sudo cfdisk

Der USB-Stick wird nun angezeigt. In diesem Fall ist ein 32GB großer USB-Stick. Wie man hier gut erkennt, ist der USB-Stick noch vom Typ „Windows basic data“. Um dies zu ändern wird der Stick zunächst mit „delete“ gelöscht.

cfdisk delete raspberry

Nun kann mit „new“ eine neue Linux-Partition erstellt werden.

cfdisk_new raspberry

Mit „write“ können die Änderungen übernommen werden. Bestätigt muss dies mit eine „yes“

cfdisk_new Raspberry

Um zu kontrollieren ob die Änderungen übernommen wurde, kann ein weiteres mal mit

sudo fdisk -l

alle Partitionen angezeigt werden. Nun wird der USB-Stick als Type „Linux filesystem“ angezeigt.

fdisk raspberry

Zum Schluss dann noch das Dateisystem ext4 unter der erstellten Partition einrichten:

sudo mkfs.ext4 -L USB-Stick /dev/sda1

Die Angabe „-L USB-Stick“ kann beliebig angepasst oder weggelassen werden. Sie gibt lediglich ein Label für die erstellte Partition an.

Nun kann mit dem Einbinden des Sticks begonnen werden. Dazu wird zuerst ein Ordner erstellt, indem der Stick eingebunden wird.

sudo mkdir /media/USB-Stick

Damit der Stick bei jedem Systemstart automatisch eingebunden wird, wird ein Eintrag in der fstab-Datei erstellt:

sudo nano /etc/fstab

Folgende Zeile muss ergänzt werden:

/dev/sda1 /media/USB-Stick auto rw,suid,dev,exec,auto,nouser,sync,noatime 0 0

ownClod installieren

Nachdem der Speicher soweit vorbereitet wurde, kann mit der Installation von ownCloud begonnen werden. Dazu muss zuerst die aktuelle ownCloud Repository zu den eigenen Paket-Quellen hinzugefügt werden.

wget -nv https://download.owncloud.org/download/repositories/stable/Debian_8.0/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list"

Mit der aktuellen Quelle kann nun die Installation gestartet werden:

sudo apt-get update
sudo apt-get install owncloud

Während der Installation wird nach einem root-Passwort für zu erstellende MyQSL Datenbank gefragt.

Damit die Erstellte MyQSL Datenbank ordnungsgemäß mit der ownCloud-Installation funktioniert müssen noch ein paar Einstellungen vorgenommen werden. Dazu wird die MyQSL-Kommandozeile geöffnet:

sudo mysql -u root -p

Es wird nach dem root-mySQL-Passwort gefragt. Anschließend kann für ownCloud eine Datenbank mit dem Namen „owncloud“ erstellt werden.

CREATE DATABASE owncloud

Damit nicht mit dem root-Benutzer gearbeitet werden muss, wird der Benutzer „owncloud“ erstellt und ein sicheres Passwort gesetzt.

CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'Passwort'

‚Passwort‘ entsprechend wählen. Das Passwort sollte unterschiedlich zum root-Passwort sein. Das hier gewählte Passwort wird später für die weitere Einrichtung benötigt. Also gut merken.

Dem erstellten Benutzer werden nun die Rechte für die eben erstelle Datenbank gegeben:

GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost'

Anschließend noch den Remote Login für den root-Benutzer deaktivieren

DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')

Die MySQL-Eingabe kann nun beendet werden.

FLUSH PRIVILEGES
exit

Webserver konfigurieren

Mit der Installation von ownCloud wurde auch der benötigte Apache Webserver mit installiert. Wie ich in der Vorbereitung schon erwähnt habe, sollte dieser mit einem SSL-Zertifikat abgesichert werden. Mehr Infos dazu in meinem Blog-Beitrag.

Des Weiteren muss in der Konfigurationsdatei des Webservers noch ein Paar Anpassungen vorgenommen werden.

sudo nano /etc/apache2/sites-available/000-default.conf

Um später nicht immer /owncloud an die URL ranhängen zu müssen, wird die „DocumentRoot“ von „/var/www/html“ in

/var/www/owncloud

geändert und die Datei nach dem Speichen wieder geschlossen. Der Ordner „/var/www/html“ wird nun nicht mehr benötigt und kann gelöscht werden.

sudo rm -rf /var/www/html/

Anschließend muss noch das SSL-Zertifikat eingestellt werden. Dazu wird der Pfad der beiden Datein „server-certs.pem“ und „server-key.pem“ benötigt. Wurde das SSL-Zertifiakt wie in meinem Blog-Beitrag erstellt, können folgende Schritte so wie angegeben übernommen werden. Ansonsten muss der Pfad entsprechend angepasst werden.

Zum Konfigurieren wird die SSL-Konfigurationsdatei geöffnet:

sudo nano /etc/apache2/sites-available/default-ssl.conf

Hier muss ebenfalls zuerst der „DocumentRoot“ von „/var/www/html“ in

/var/www/owncloud

geändert werden. Anschließend noch den Pfad der beiden SSL-Dateien anpassen:

SSLCertificateFile /opt/fhem/certs/server-cert.pem
SSLCertificateKeyFile /opt/fhem/certs/server-key.pem

Zum Schluss SSL aktivieren und den Webserver neu starten.

sudo a2ensite default-ssl.conf
sudo a2enmod ssl
sudo service apache2 restart

Der Zugriff auf die Weboberfläche von ownCloud ist ab sofort verschlüsselt.

Portweiterleitung auf den Raspberry

Nachdem der Webserver abgesichert wurde, kann die Portweiterleitung vom Port 443 auf den Raspberry eingerichtet werden. Wer eine FritzBox benutzt kann dazu gerne auf meinen Blogbeitrag vorbei schauen. Dort erkläre ich, welche Portfreigabe für welchen Dienst eingerichtet werden muss.

ownCloud-Speicherort einrichten

Auf dem eingerichteten USB-Stick wird nun ein Ordner für ownCloud erstellt.

sudo mkdir -p /media/USB-Stick/owncloud/data

Da der Webserver mit dem Benutzer „www-data“ arbeitet, wird er Eigentümer dieses Ordners:

sudo chown -R www-data:www-data /media/USB-Stick/owncloud -R

Aus Sicherheitsgründen werden die Rechte noch so angepasst, dass kein Anderer auf diesen Ordner zugreifen darf:

sudo chmod 0770 /media/USB-Stick/owncloud/data

Damit alle Einstellungen übernommen werden, wird das System neugestartet:

sudo reboot

ownCloud über die Weboberfläche einrichten

OwnCloud ist nun soweit eingerichtet und konfiguriert, dass mit der Konfiguration über die Weboberfläche angefangen werden kann.

https://192.168.2.110

IP-Adresse entsprechend anpassen. Es öffnet sich das Webinterface von ownCloud. Zu Begin muss ein Benutzer angelegt werden. Zusätzlich müssen die Daten für die Datenbank angegeben werden.

ownCloud Installation

Nachdem die Installation abgeschlossen wurde gelangt man auf die Startseite des nun eigenen Cloudspeichers.

ownCloud Startseite

Wer die Sprache noch auf Deutsch ändern will, kann dies über seinen Profil machen. Dazu einfach oben rechts auf seinen Profilnamen gehen und über Personal seine Profilseite öffnen. Hier lässt sich die Sprache ändern.

ownCloud Settings

Da wir den Standardpfad geändert haben, muss zum Schluss noch die Berechtigungen einiger nun erstellten Dateien angepasst werden:

sudo find /var/www/owncloud/ -type f -print0 | sudo xargs -0 chmod 0640 
sudo find /var/www/owncloud/ -type d -print0 | sudo xargs -0 chmod 0750

sudo chown -R root:www-data /var/www/owncloud/
sudo chown -R www-data:www-data /var/www/owncloud/apps/
sudo chown -R www-data:www-data /var/www/owncloud/config/
sudo chown -R www-data:www-data /media/USB-Stick/owncloud/data/
sudo chown -R www-data:www-data /var/www/owncloud/themes/

sudo chown root:www-data /var/www/owncloud/.htaccess
sudo chown root:www-data /media/USB-Stick/owncloud/data/.htaccess

sudo chmod 0644 /var/www/owncloud/.htaccess
sudo chmod 0644 /media/USB-Stick/owncloud/data/.htaccess

Für weitere Informationen zur ownCloud und deren Einstellungsmöglichkeiten einfach die offizielle Homepage besuchen

Die Einrichtung seines eigenen Cloudspeichers erfordert zwar einige Vorbereitungen und ist nicht innerhalb 5 Minuten zu bewerkstellig. Der Aufwand lohnt sich jedoch. Ab sofort kann man genau sagen, wo seine Daten liegen und braucht sich keine Gedanken mehr darüber machen, dass sich gewisse Organisationen Zugriff auf seinen Daten verschaffen. Ein Weiterer Vorteil ist zudem der größere Speicherplatz ohne monatliche Kosten. Dank der ownCloud-Umgebung ist zudem der mobile Zugriff mit Hilfe von Apps (App-StorePlay-Store) möglich. Der Umzug von DropBox und Co. zum eigenen Cloudspeicher steht also nichts mehr im Wege.

ownCloud SettingownCloudApp_Ordner

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar
Fotos und Bilder
 
 
 
sonstiges Dateiformat
 
 
 
wpDiscuz