DropYet auf einem Raspberry Pi unter MacOS installieren

DropYet ist eine einfache und kleine Cloud, in der Sie all Ihre Daten speichern können. Wenn Sie Ihre DropYet kostengünstig zuhause hosten möchten, ist die Lösung über den Raspberry Pi genau die richtige für Sie.

Bitte kontaktieren Sie mich gern bei jeglichen Fragen.

Das benötigen Sie:

  • einen Raspberry Pi
  • eine Mikro-SD Karte mit mindestens 2GB (gern größer für mehr Speicherplatz)
  • ein Raspbian-Image (rechts „Download Zip“ für „Raspbian Stretch Lite“)
  • die Software Etcher (kann später theoretisch deinstalliert werden)
  • die Software FileZilla (optional)
  • die Software TextWrangler (kann später theoretisch deinstalliert werden)
  • einen Router mit Portforwarding, sofern Sie auch über das Internet auf Ihre DropYet zugreifen möchten
  • eine Instanz von DropYet

All das klingt erst einmal nach viel Aufwand, ist aber schnell erledigt. Machen Sie sich also keine Sorgen, auch Laien können das schaffen. Achten Sie lediglich darauf was in der Anleitung steht und was Sie auf den Bildern sehen und weichen Sie davon wenn möglich nicht ab.

Inhaltsverzeichnis:

  1.  Die Basis
  2. Auspacken
  3. Betriebssystem installieren
  4. System vorbereiten und starten
  5. IP-Adresse ermitteln
  6. Mit dem Pi via SSH verbinden und erste Konfiguration
  7. Nutzer erstellen
  8. php vorbereiten
  9. Apache installieren und konfigurieren
  10. php installieren
  11. php konfigurieren
  12. FTP einrichten und Rechte vergeben
  13. Mailsystem einrichten
  14. DropYet installieren
  15. DropYet für das Internet erreichbar machen (optional)
  16. Eine verschlüsselte Verbindung einrichten (optional)

Schritt 1: Die Basis

Downloaden Sie sich das „Raspbian Stretch Lite“-Image als .zip-Datei auf Ihren Mac.


Schritt 2: Auspacken

Entpacken Sie die zip-Datei.


Schritt 3: Grundlagen installieren

Verbinden Sie Ihre SD-Karte mit Ihrem Mac und formatieren Sie diese. Öffnen Sie dazu das Festplattendienstprogramm, wählen Sie Ihre SD-Karte aus und klicken Sie auf „löschen“.

Öffnen Sie nun Etcher und wählen Sie Ihr Raspbian-Image aus. Anschließend suchen Sie dann Ihre SD-Karte und klicken dann auf „Flash!„. Dieser Prozess dauert ein paar Minuten. Ist der Prozess vollendet, können Sie das Programm schließen.


Schritt 4: System starten

Auf dem Schreibtisch unter MacOS sehen Sie nun Ihre SD-Karte mit einem anderen Namen und einer anderen Größe. Öffnen Sie nun TextWrangler, erstellen ein neues leeres Dokument und speichern Sie es unter dem Dateinamen „ssh“ ohne jegliche Dateiendung auf Ihrer SD-Karte ab. Nun können Sie diese entfernen und in Ihren Raspberry Pi stecken. Starten Sie diesen anschließend.


Schritt 5: IP-Adresse ermitteln

Nun ist es wichtig, die Netzwerkadresse Ihres Pi’s zu ermitteln. Nutzen Sie dafür Software wie „Advanced IP Scanner“ oder schauen Sie in der Übersicht Ihres Routers. Alternativ können Sie auch andere Netzwerkscanner oder Apps benutzen. Im Bildbeispiel wäre es die „192.168.1.13“.


Schritt 6: Mit Pi verbinden und konfigurieren

Öffnen Sie das Terminal unter MacOS und geben Sie dort  den Nutzernamen „pi“ und die eben ermittelte Adresse, getrennt von einem „@“, ein. Folgt ein Dialog, tippen Sie „yes“ ein um das Zertifikat zu akzeptieren. Nachdem Sie nun via SSH mit Ihrem Pi verbunden sind, geben Sie das Passwort „raspberry“ ein. Bei der Passworteingabe werden keine Sternchen angezeigt. Das ist normal.

Achtung: Nun folgen einige Befehle. Bitte lesen Sie die Anweisungen dieser Seite aufmerksam. Die Befehle können Sie kopieren und mit einem einfachen Rechtsklick in das Terminal-Fenster einfügen. (Die folgenden Screenshots entstanden unter Windows, gelten aber auch für MacOS.)

Sehr wichtig ist nun, das Standardpasswort mit dem Befehl sudo passwd pi zu ändern.

Anschließend sollten Sie Ihren Pi mit dem Befehl sudo raspi-config konfigurieren. Ändern Sie Zeitzone, Sprache und erweiten Sie das Dateisystem.

In diesen Menü wechseln Sie mit den Pfeiltasten zuerst zu „Advanced Options„.

Wählen Sie anschließend „Expand Filesystem“ an. Warten Sie bis das System fertig ist.

Drücken Sie nun die Esc-Taste und navigieren Sie zu den „Localisation Options„.

Wählen Sie anschließend „Change Locale“ um die Systemsprache zu ändern.

Scrollen Sie nun mit den Pfeiltasten so weit nach unten, bis Sie das Sternchen im Kasten finden. (siehe Bild). Normalerweise ist es bei „en_GB.UTF-8 UTF-8“ gesetzt.

Entfernen Sie das Sternchen nun mit der Leertaste und scrollen Sie anschließend mit den Pfeiltasten nach oben bis Sie den Eintrag „de_DE.UTF-8 UTF-8“ finden und setzen das Sternchen dort mit der Leertaste.

Bestätigen Sie mit Enter und wählen Sie im nachfolgenden Fenster den Eintrag „de_DE.UTF-8“ aus. Bestätigen Sie mit Enter. Anschließend ändern Sie noch die Zeitzone, indem Sie zu „Change Timezone“ navigieren, dort anschließend „Europe“ und dann bestenfalls „Berlin“ anwählen.

Starten Sie Ihren Pi mit dem Befehl sudo reboot neu. Sie müssen sich dann mit Putty neu verbinden und einloggen. Vergessen Sie nicht, dass Sie Ihr Passwort geändert haben.


Schritt 7: Nutzer erstellen

Aktualisieren Sie nun Ihren Pi mit dem Befehl sudo apt-get update

Folglich führen Sie die folgenden beiden Befehle aus:

sudo groupadd www-data

sudo usermod -a -G www-data www-data


Schritt 8: php vorbereiten

DropYet benötigt dringend php mit der Erweiterung cURL. Dazu muss eine neue Programmquelle hinzugefügt werden.

sudo nano /etc/apt/sources.list

Nun hat sicht ein einfacher Dateieditor geöffnet, indem Bereits ein farbiger Eintrag ist. Unter ihm befinden sich lediglich Kommentare. Fügen Sie unter dem ersten Eintrag den folgenden ein:

deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi

Speichern Sie anschließend das Dokument mit Strg+O und Enter und schließend Sie es mit Strg+X

Damit nicht alle Programme aus dieser Quelle geladen werden, führen Sie nun folgenden Befehl aus:

sudo nano /etc/apt/preferences
Wieder hat sich ein Editor geöffnet, in dem Sie nun folgende drei Zeilen einfügen:

Package: *
Pin: release n=jessie
Pin-Priority: 600

Speichern Sie das Dokument anschließend wieder mit Strg+O und Enter und schließen Sie es mit Strg+X.

Folglich wird zur Sicherheit nocheinmal der Befehl sudo apt-get update ausgeführt.


Schritt 9: Apache installieren

Nun installieren Sie den eigentlichen Webserver „apache“ über folgenden Befehl:

sudo apt-get install -t stretch apache2
Werden Sie um eine Bestätigung gefordert, drücken Sie stets J+Enter bzw. Y+Enter in der englischen Systemsprache.

Anschließend müssen Sie Apache konfigurieren, damit die Sicherheitsfunktionen von DropYet weiter funktionieren. Geben Sie folgenden Befehl ein:

sudo nano /etc/apache2/apache2.conf

Es öffnet sich wieder ein Editor. Suchen Sie mit Strg+W nach „<Directory /var/www/>“ und ändern Sie unter diesem Eintrag folgendes:

  • Options Indexes FollowSymLinks (entfernen Sie „Indexes“)
  • AllowOverride All (ändern Sie „None“ zu „All“)

Speichern Sie danach mit Strg+O und Enter und schließen Sie mit Strg+X.

Editieren Sie nun die eine zweite Datei mit dem Befehl:

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

Hat sich der Editor geöffnet, scrollen Sie mit den Pfeiltasten nach unten und setzen unter den Eintrag „Custom Log $(APACHE_LOG_DIR)/acccess.log combined)“ folgenden Eintrag:

<Directory /var/www/html>
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

Speichern Sie mit Strg+O und Enter und schließen Sie das Dokument mit Strg+X.

Nun müssen wir noch zwei Module für Apache aktivieren. Dazu führen Sie zuerst den Befehl sudo a2enmod rewrite sowie den Befehl sudo a2enmod actions aus.

Nun fehlt nur noch das Modul sudo a2enmod headers, welches Sie schlussendlich mit sudo systemctl restart apache2 starten.


Schritt 10: php installieren

Anschließend wird php installiert. Dazu führen Sie bitte die folgenden beiden Befehle aus und bestätigen immer mit J.

sudo apt-get install -t stretch php7.0 php7.0-curl php7.0-gd php7.0-fpm php7.0-cli php7.0-opcache php7.0-json php7.0-mbstring php7.0-xml php7.0-zip php7.0-mysql

und

sudo apt-get install -t stretch libapache2-mod-php7.0
Mit diesen beiden Befehlen haben Sie automatisch wichtige Ergänzungen wie zip für Updates und cUrl installiert.

Starten Sie nun Ihren Pi einmal über den Befehl sudo reboot neu. Sie müssen sich dann mit Putty neu verbinden und einloggen. Vergessen Sie nicht, dass Sie Ihr Passwort geändert haben.


Schritt 11: php konfigurieren

Nun wird es etwas knifflig, aber auch diesen Schritt schaffen Sie. Um DropYet ohne Probleme zum laufen zu bringen, müssen Sie für php einige Einstellungen vornehmen.

sudo nano /etc/php/7.0/apache2/php.ini

Wieder öffnet sich der Editor. Nun müssen Sie mit Strg+W nach folgenden Dingen suchen und ändern Sie zu den Werten rechts neben dem „=„:

  • display_errors = Off
  • post_max_size = 8000M (Bei Problemen können Sie Ihn auch zum Beispiel auf 0 stellen)
  • upload_max_filesize = 4000M(Empfohlen wird 4000M, was 4GB entspricht. Gern können Sie den Wert auch etwas niedriger setzen, wenn Sie nicht möchten, dass man zu große Dateien hochladen kann.)

Es kann sein, dass Sie einige Einträge nicht direkt beim ersten Mal finden. Suchen Sie dann einfach nocheinmal nach dem Eintrag.

Nachdem Sie diese Parameter abgeändert haben, können Sie die Datei mit Strg+O und Enter abspeichern und mit Strg+X schließen.

Führen Sie anschließend folgenden Befehl aus, mit dem Sie Ihren Webserver einmal neustarten.

sudo /etc/init.d/apache2 restart


Schritt 12: Rechte vergeben

Um nun DropYet hochzuladen und installieren zu können, müssen Sie noch Rechte vergeben.

Erstellen Sie zunächst mit folgenden Befehlen einen neuen FTP-Nutzer. Nach dem ersten Befehl werden Sie nach einem Passwort für den FTP-Nutzer gefragt. Bestätigen Sie dieses nachfolgend nochmal. Das Passwort kann gerne das gleiche sein. Anschließend lassen Sie die restlichen Informationen leer und bestätigen diese alle mit Enter.

sudo adduser piftp --no-create-home

sudo usermod -G www-data piftp

sudo usermod -d /var/www/html/ piftp

sudo chown piftp:www-data -R /var/www/html

sudo chmod 775 -R /var/www/html

sudo chmod -R 777 /var/www/html


Schritt 13: Mail konfigurieren

Damit Ihre DropYet auch Benachrichtigungen per E-Mail senden kann, muss ein dafür zuständiger Dienst installiert werden. Bestätigen Sie wenn nötig mehrmals mit Enter.
sudo apt-get install sendmail

sudo sendmailconfig

sudo nano /etc/hosts
Nun müsste sich wieder ein Editor-Fenster geöffnet haben. Tragen Sie in die oberste Zeile folgendes ein:

127.0.0.1 localhost.localdomain localhost raspberrypi

Und auch hinter 127.0.1.1 sollte dann „raspberrypi“ stehen.

Sie können „localhost.localdomain“ auch, falls vorhanden, durch Ihre richtige Domain ersetzen. (z.B: meinedomain.de)

Speichern Sie wieder mit Strg+O und Enter und schließen Sie mit Strg+X.

Starten Sie Ihren Webserver einmal mit sudo /etc/init.d/apache2 restart neu und schon funktioniert auch das.

Sollten DropYet später lange Ladezeiten haben oder Ihre DropYet sendet E-Mails verzögert, so kann es sein dass Ihr Hostname ein anderer ist als angenommen. Checken Sie dies mit dem Befehl hostname und nutzen Sie diesen Wert um das Wort „raspberry“ in den Befehlen oben zu ersetzen.


Schritt 14: DropYet installieren

Öffnen Sie nun FileZilla. Dies ist ein Programm, mit dem Sie Dateien sehr einfach auf Ihren Server laden können. Oben haben Sie mehrere Eingabefelder. Tragen Sie dort folgendes ein (bitte Werte abändern):

Server: sftp://ihreipadressezumpi (z.B. sftp://192.168.1.13)

Benutzername: piftp (Diesen User haben wir angelegt)

Passwort: Das von Ihnen festgelegte Passwort

Port: Feld bitte frei lassen

Es öffnet sich nun direkt das Hautpverzeichnis Ihres Servers. Laden Sie sich nun DropYet herunter und entpacken Sie das zip-Verzeichnis. Im linken Fenster von FileZilla suchen Sie nun das entpackte Verzeichnis und schieben alle Dateien und Ordner darin in das rechte Fenster. Nachdem der Upload-Vorgang abgeschlossen ist, können Sie über Ihre ermittelte IP-Adresse Ihre DropYet  im Browser erreichen und installieren. (z.B: 192.168.1.13/install) Prüfen Sie bitte inständig ob nach dem Klick auf „install-Verzeichnis löschen“ das Installationstool auch wirklich nicht mehr aufrufbar ist. Sollte es trotzdem noch da sein, so führen Sie bitte in Putty nocheinmal folgenden Befehl aus sudo chmod -R 777 /var/www/htmlund installieren Sie DropYet mit dem Installationstool anschließend neu.

Sollten Sie gegebenfalls keine Dateien auf Ihren Server laden können, kann es helfen folgenden Befehl nochmals auszuführen: sudo chmod -R 777 /var/www/html

Herzlichen Glückwunsch. Sie haben nun Ihre DropYet erfolgreich auf einem Raspberry Pi installiert. Sollten Sie Ihren Pi einmal neustarten müssen, ist das kein Problem. Nach einer kurzen Zeit ist der Webdienst wieder für Sie erreichbar.

Alternative

Alternativ können Sie die Daten die für DropYet benötigt werden auch direkt über die Kommandozeile installieren. FileZilla wird dann nicht benötigt. Nutzen Sie dafür einfach folgende zwei Befehle:

cd /var/ww/html

wget https://downloads.tqsg.de/dy-latest.zip -O dy-latest.zip; unzip dy-latest.zip; rm dy-latest.zip


Schritt 15 (optional): Das volle Programm

Um nun auch aus dem Internet auf Ihre DropYet zugreifen zu können, müssen Sie Ihren Router, falls er entsprechende Funktionen unterstützt, konfigurieren. Geben Sie dafür zunächst die IP-Adresse Ihres Routers in Ihrem Browserfenster ein. Sollten Sie nicht wissen, wie Ihre Router-IP lautet, so können Sie in den MacOS Einstellungen auf „Netzwerk“ klicken und anschließen auf „weitere Optionen“ und dann auf „TCP/IP„. Anschließend wird Ihnen dann dort Ihre „Router“-IP angezeigt. Voilá. Sie haben die Adresse Ihres Routers.

Suchen Sie nun in Ihren Routereinstellungen nach etwas wie „Portforwarding“, „Forwarding“, „Portfreigabe“ oder „Portfreischaltung“. Fügen Sie dann dort so wie in den folgenden beiden Bildern die Werte Ihrer Konfiguration entsprechend ein. Bei unverschlüsselter Verbindung benötigen Sie lediglich Port 80. Fügen Sie Port 443 nur hinzu, wenn Sie über eine SSL-Verschlüsselung verfügen. Port 21 und 22 sollten NICHT freigeschaltet werden, es sei denn Sie müssen Ihren Pi fernwarten.

Portübersicht:

80 = http

443 = https

21 = FTP

22 = SSH

Portfreigabe am Beispiel eines TP-Link Routers

Portfreigabe am Beispiel eines TP-Link Routers

Portfreigabe am Beispiel eines Routers mit dd-wrt Software

Portfreigabe am Beispiel eines Routers mit dd-wrt Software


DynamicDNS

Bei normalen Internetanbietern ändert sich Ihre externe IP-Adresse in regelmäßigen Abständen. Um das zu umgehen, benötigen Sie einen Router welcher DynDNS unterstützt. Einige Router unterstützen DynamicDNS (DynDNS). Auch danach können Sie in Ihren Einstellungen suchen. Es gibt eine große Anzahl an kostenfreien Anbietern. Oftmals eingebaut ist beispielsweise schon No-IP. Sie können dort kostenfrei einen Account erstellen, den Sie lediglich alle 30 Tage bestätigen müssen. Anschließen ersetzt dann dort eine Domain (z.B: user.no-ip.com) Ihre gewöhnliche IP-Adresse (z.B: 91.56.85.103). Zusätzlich hinterlegt Ihr Router immer Ihre neue IP-Adresse hinter der Domain. Praktisch, nicht?


Schritt 16 (optional): Eine verschlüsselte Verbindung herstellen

In Zukunft wird Ihnen hier erklärt, wie Sie „https“ auf Ihrem Pi aktivieren und eine verschlüsselte Verbindung herstellen können. Nutzen Sie Ihre DropYet jedoch in einem lokalen Privat-Netzwerk, benötigen Sie dies nicht zwingend.