Die Verbreitung von Apple iPhones und iPads ist in der Schweiz, verglichen mit anderen Ländern, besonders hoch. Bei den Anteilen der Betriebssysteme an den Web-Besuchen in der Schweiz im Jahr 2019 liegt der Anteil von iOS Geräten bei 44.6%. Der vergleichbare Wert bei Android Geräten liegt bei 31.5%, Windows bei 18.9%, MacOS bei 4.7% (Quelle). Nach der Einführung eines Split Modes und der Mausunterstützung in iOS würden immer mehr Benutzer von iPads gern auf ihrem Gerät eine Entwicklungsumgebung haben um lokal programmieren zu können. Für das reine Programmieren liess sich da mit verschiedenen Apps durchaus etwas tun, aber ein lokaler Webserver und ein eigenes Dateisystem war bisher nicht wirklich möglich. Die im Apple App Store verfügbare App iSH ändert das nun – ein Selbstversuch.
In der letzten Woche habe ich mit wirklich vielen Menschen über Blogging gesprochen. Das Feedback zum Artikel Starte (d)ein Blog – heute! war unerwartet zahlreich und durchgehend positiv.
Wie angekündigt, habe ich hier im Novatrend Blog eine Blogroll in der Seitenleiste erstellt. Ich habe ein Plugin für eine RSS Blogroll gefunden, die nicht die Links zu den einzelnen Blogs anzeigt, sondern die letzten Artikel der verlinkten Blogs. Neben dem Titel eines jedes Blog Posts steht der Name des Autor und das Datum, pro Blog sind maximal vier Einträge gelistet.
Wenn du dort auch erscheinen willst, schreibe bitte unter dem Starte (d)ein Blog – heute! Artikel die URL deines Blogs als Kommentar.
Falls du ein noch besseres Plugin kennst, schreibe bitte ebenfalls einen Kommentar.
Feedback
Vielen Bloggern sprach ich mit dem Artikel aus der Seele, viele „noch nicht“ Blogger gaben mir grundsätzlich recht, aber … die drei häufigsten Sätze, warum sie nicht bloggen, waren:
Ich habe keine Zeit!
Worüber soll ich denn schreiben?
Das halte ich nicht durch!
Interessanterweise kam sehr selten
Ich kann das nicht!
Ich will das nicht!
Ich bin mit der Technik überfordert!
Alle, wirklich alle Menschen, mit denen ich geredet haben, finden bloggen irgendwie gut, würden prinzipiell auch gern bloggen wollen und haben keine Angst vor der Technik! Gerade der letzte Punkt freut mich doch sehr. Vor 10 Jahren war es noch eine Herausforderung ein eigenes Blog auf seinem eigenen Webspace zu betreiben. Heute geht das alles sehr „fluffig“.
Jetzt sage ich mal ein paar Worte zu den drei Gründen, kein Blog zu schreiben.
Selbst, wenn du nun ein paar von diesen Dingen parallel machen kannst, Umfragen so eine Sache sind und in der Schweiz eh alles anders ist – so wie es aussieht hast du Zeit ein Blog zu betreiben, du müßtest deine Zeit nur anders verbringen 😉
Worüber soll ich denn schreiben?
Denke mal an deine letzten sieben Tage.
Was war das Beste, das Interessanteste, das Schönste, das Bewegendste, das Lustigste, das Traurigste, das Schrecklichste?
Was hat dich geärgert, was gefreut?
Hast du mit anderen Menschen gesprochen? Worüber?
Hast du etwas gelernt oder anderen etwas beigebracht?
Hast du etwas gekauft oder verkauft?
Hast du eine gute Tat vollbracht?
Hast du einen Ausflug gemacht? Wo warst du? Wie ist es da?
Nimm einfach eins dieser Themen und schreibe darüber.
Wenn du erst mal angefangen hast, kommen dir bestimmt noch viele andere Ideen.
Das halte ich nicht durch!
Den Satz lasse ich gelten, ich hatte auch Probleme damit, regelmässig etwas zu bloggen. Das ist so ein wenig wie Sport treiben oder Gewicht abnehmen. Oft ist es leichter wenn andere dabei mitmachen.
Genau das ist die Idee von Iron Blogging.
Jeder Teilnehmer bloggt mindestens einmal die Woche. Wenn kein Blogpost geschrieben wird, wirft er oder Sie eine gewisse Menge Geld, beispielsweise 5 CHF/Euro/US$, in eine gemeinsame Kasse. Wenn etwas Geld in der Kasse ist, treffen sich alle Blogger und verspeisen und vertrinken die Kasse.
In Deutschland ist die Iron Blogger Zentrale unter http://ironblogger.de erreichbar. Thomas Renger legt gern lokale Subdomains an, beispielweise http://stuttgart.ironblogger.de. Die Seiten werden automatisiert aktualisiert, so dass es keinen Pflegeaufwand für die Teilnehmer gibt.
Vor drei Jahren wurde die Iron Blogging Idee auf der re:publica vorgestellt. Stilecht ging es in erster Linie um Blogs und Bier 🙂
re:publica 2013: Blogs und Bier? Das lob‘ ich mir! #ironblogger
Und in der Schweiz?
In der Schweiz gibt es auch Iron Blogger (http://ironblogger.ch). Leider ist die Seite aber leer und der Text
Die Ironblogger Schweiz pausieren.
erscheint. Vielleicht können wir das ja wiederbeleben 🙂
Und wenn man nicht lokal zusammen ist?
Das Problem hatte ich neulich. Seit 25.05.2015 bin ich Mitglied der Iron Blogger Gruppe Rhein-Neckar. Ich wurde auf die Idee durch Tweets über eine Session bei einem BarCamp aufmerksam und wollte mitmachen, obwohl ich keinen Bezug zum Rhein-Neckar Gebiet habe. Nach einem Jahr war ich der einzige verbliebene Teilnehmer der Gruppe und überlegte, wie es weitergeht. Bei einem Besuch in Uganda (#CMSSUMMIT16, Kampala, Uganda) lernte ich viele WordPress Nutzer kennen und startete zusammen mit ein paar Freunden eine eigene Iron Blogger Gruppe die für jeden offen ist, unabhängig vom Wohnort. Vom Erlös wollen wir sinnvolle Projekte fördern. Wer Schulden macht, kann sie durch „Gute Taten und darüber bloggen“ wieder reduzieren. Thomas Renger half mir bei der Einrichtung der Site. Die Scripte zum Aktualisieren sind auf Github verfügbar. Das ist beispielsweise die Version, die in Stuttgart läuft (https://github.com/steinhobelgruen/iron-blogger).
Du kannst dich also einer bestehende Iron Blogger Gruppe anschliessen, oder eine neue Iron Blogger Gruppe gründen!
Technik
An dieser Stelle kommt nun auch noch Webhosting bei Novatrend ins Spiel (was für ein Blog Post 🙂 ), denn die Scripte sind in Python geschrieben und man benötigt eine selbst gehostete WordPress Installation. Einmal pro Woche wird per Cron-Job eine Zusammenfassung der Iron Blogger Posts über die XML-RPC Schnittstelle der WordPress Installation gepostet und ich war natürlich neugierig, wie das alles so funktioniert.
alle Teilnehmerblogs zusätzlich per Feed eingelesen werden und dann auf den Original Eintrag verlinken,
wenn jemand etwas auf seinem eigenen Blog veröffentlich, tweeted der ibcoco Twitter den Titel des Posts, die URL zum Quellblog und den Hastag #ibcoco,
am Montag morgen läuft das Python Script, das die Zusammenfassung erstellt und die Kasse aktualisiert,
alle Teilnehmer sind für den Anfang in einem gemeinsamen Facebook Chat und auch per Twitter vernetzt.
Was soll ich sagen? Wir sind sechs Leute, die seit ein paar Wochen bloggen. Es macht Spass und 5 Euro für eine gute Sache haben wir auch schon gesammelt 🙂
Fazit
Du hast Zeit für ein Blog, dir fallen ständig neue Themen ein und damit du durchhältst, gibt es Iron Blogger, die nur zu gern gemeinsam mit dir bloggen. Worauf wartest du?
tl;dr: Iron Blogger bloggen mindestens einmal die Woche und tun auch sonst gute Dinge
Die Mitarbeiter der Firma wollen (und sollen) online kommunizieren, aber die Firma möchte keinen Chat Service wie beispielsweise Slack nutzen, bei dem nicht klar ist, wo die Daten gespeichert werden und wer alles darauf zugreifen kann. Es sollte ein selbst gehostetes System sein, bei dem die Daten im eigenen Hause gespeichert werden.
Das Startup Zulip wurde Anfang 2014 in seiner Beta Phase vom Cloud Speicher Anbieter Dropbox gekauft. Im September 2015 wurde die Software dann von Dropbox als Open Source Projekt veröffentlicht. Zulip ist Slack sehr ähnlich und zeichnet sich unter anderem durch weitreichende Integrationsmöglichkeiten für Tools, die in der Softwareentwicklung genutzt werden, aus.
Integrationen für Zulip
Ausser diesen Integrationen bietet Zulip
Themenspezifische Gruppenchats (Streams)
Die Speicherung aller Nachrichten und in einem Stream auch im Nachhinein lesbar und durchsuchbar
Privatchats
Statusanzeige: Wer ist online
Automatische Inline-Darstellung von in den Chat kopierten Links (Bilder, Videos, Tweets)
Dateiupload per Drag and Drop
Benachrichtigungen per @name
Gruppenweite Benachrichtungen per @all
E-Mail- und Desktop Benachrichtigungen
Emojis
Syntax Highlighting bei Code
Die Bearbeitung von Chat-Nachrichten
Gruppen, die nur per Einladung zugänglich sind
Die Darstellung markierter Nachrichten in einer Liste (Favoriten)
Mobile Apps für Android und iOS
Desktop Apps für Windows, OSX und Linux
Um das System nutzen zu können, muss ein eigener Zulip Server aufgesetzt werden.
Es existiert ein Installationsscript für Ubuntu 14.04 Trusty das ich auch in diesem Blogbeitrag nutze. Das Script geht davon aus, dass Zulip die einzige Anwendung auf dem Server ist. Ein eventuell bereits laufender Apache Web Server auf Port 80 sollte gestoppt werden, Zulip nutzt Nginx.
Die Servervoraussetzungen für ein kleines Team sind 2 GB Hauptspeicher, bei mehr als 50 Nutzern sollten es mindestens 4 GB oder sein. Viel Speicher ist selten eine schlechte Wahl!
Die Chats sind verschlüsselt. Letsencrypt Zertifikate können genutzt werden.
Installation
Die Installation erfolgt als root User. Logge dich auf der Konsole ein. Der Befehl
sudo -i
schaltet dauerhaft root ein.
Codepaket laden
Wechsle in das /root Verzeichnis, lade und überprüfe das Codepaket, entpacke es und verschiebe die Dateien in das /root/zulip Verzeichnis.
cd /root
wget https://www.zulip.com/dist/releases/zulip-server-1.3.10.tar.gz
echo "3d96694abc878056bb6436d24b381e1776f3f70e zulip-server-1.3.10.tar.gz" | sha1sum -c
tar -xf zulip-server-1.3.10.tar.gz
mv zulip-server-1.3.10 zulip
SSL Zertifikate
Zulip setzt HTTPS voraus. Zertifikatserzeugung mit Letsencrypt oder anderen Anbietern funktioniert „wie immer“, ist aber abhängig vom Zertifikatsanbieter.
Wenn du kein Zertifikat „zur Hand“ hast, findest du hier die Befehle für ein selbst unterschriebenes Zertifikat. Die Abhörsicherheit, verglichen mit signierten Zertifikaten, ist die Gleiche, die Browserwarnung für selbst zertifizierte Zertifikate kann in diesem Fall von deinem Team ignoriert werden.
Wechsle in das /root/zulip Verzeichnis und starte das Installationsscript.
cd /root/zulip
./scripts/setup/install
Die Installation kann ein paar Minuten dauern.
Konfiguration
Bevor der Server gestartet werden kann, müssen in der Datei /etc/zulip/settings.py ein paar Einstellungen getätigt werden.
/etc/zulip/settings.py
Zulip ist standardmässig so organisiert, dass alle Nutzer aus einer Domain kommen und sich mit Ihrer E-Mail Adresse registrieren müssen. Diese Einstellungen können natürlich verändert werden, aber gerade der Standard passt hervorragend auf Firmenstrukturen.
Daher muss der Parameter ADMIN_DOMAIN mit deinem Domainnamen versehen werden und es muss mindestens ein AUTHENTICATION_BACKEND ausgewählt werden (in meinem Fall E-Mail/Paswort).
Im weiteren Verlauf der Konfigurationsdatei muss ein SMTP Server angegeben werde, damit E-Mails verschickt werden können.
Jetzt sind die Änderungen in der /etc/zulip/settings.py erledigt. Damit der E-Mail Versand funktioniert, muss in der Datei /etc/zulip/zulip-secrets.conf noch das Passwort für den E-Mail Versand hinterlegt werden. Einfach am Ende der Datei
Auf der Basis der Konfigurationsdateien kann nun die Datenbank initialisiert werden.
su zulip -c /home/zulip/deployments/current/scripts/setup/initialize-database
Damit ist die Installation beendet und der Zulip Server läuft. Für den produktiven Einsatz solltest du noch das Zulip in Production README lesen und dich in die Zulip Annoucement Mailing Liste eintragen um Nachrichten über Updates u erhalten.
Mit dem Befehl
su zulip -c /home/zulip/deployments/current/scripts/restart-server
kann der Zulip Server nach Konfigurationsänderungen neu gestartet werden.
Beim Aufruf im Browser erwartet dich folgendes Bild:
Zulip – Erster Start
Registrierung
Jeder Chatteilnehmer muss sich mit einer E-Mail Adresse registrieren, deren Domain mit der in der Konfiguration definierten Domain übereinstimmt.
Zulip – Registrierung
Der Server verschickt eine E-Mail an die angegebene Adresse mit einem Bestätigungslink.
Zulip – E-Mail mit Aktivierungslink
Nack Klicken des Links wird man zur Eingabe eines Namens und des gewünschten Passworts aufgefordert:
Zulip – Kontoaktivierung
Nach dem Klick auf den Register Button erfolgt eine kleine Tour die die Zusammenhänge zwischen Streams und Topics zeigt.
Zulip – Tour
Drei Streams sind bereits vorkonfiguriert (engineering, social und zulip).
Das Einzige, was nun noch fehlt, sind deine Arbeitskollegen (It’s lonely in here! Invite some coworkers).
Zulip – Web-Oberfläche
Ausser der gut funktionierenden Webversion gibt es auch native Apps für Windows, OSX, Linux, iOS und Android!
tl;dr: Zulip ist eine Open Source Group Chat Anwendung mit zahlreichen Integrationsmöglichkeiten, die auf einem eigenen Server installiert wird und über zahlreiche Clients angesprochen werden kann.
Letzte Woche habe ich die kleine Reihe dezentraler Netzwerke mit dem Aktivitäts Server Pump.io abgeschlossen. Auf der Suche nach Anwendungen, die pump.io nutzen, bin ich dann über MediaGoblin gestolpert.
MediaGoblin ist die Open Source Alternative zu YouTube, Flickr, SoundClound und Thingiverse.
Falls Sie schon mal versucht haben, gängige Content Management Systeme um solche Funktionen zu erweitern, sollten Sie den letzten Satz ein wenig länger wirken lassen … und sich dann überlegen, was daraus in Verbindung mit pump.io, dezentralen sozialen Netzwerken wie GNU social, Friendica und Diaspora und vielen dezentralen Instanzen werden könnte.
MediaGoblin nutzt momentan nur Teile der Upload Funktionalität von pumpi.io und es ist auch erst bei der Release Version 0.7 angekommen. Trotzdem können damit bereits heute die folgenden Medientypen verwalten:
Bilder (auch RAW)
Video
Audio
Ascii Art
STL/3d Modelle (Thingiverse)
PDF
Dokumente
Da ich selbst etwa 15,000 Bilder bei Flickr und zahlreiche Videos bei Vimeo und YouTube habe, war ich neugierig ob das wirklich alles so hinhaut, wie auf der Projektseite versprochen und muss nach 2 Tagen Bastelei sagen: „Ja, es haut hin“ aber es ist im momentanen Zustand nicht wirklich „installationsfreundlich“.
Es arbeitet mit nginx und Apache Webserver zusammen, benötigt aber viele „Kleinigkeiten“ wie beispielsweise ffmpeg, das in der Ubuntu 14.04 Distribution nicht mehr enthalten ist, bzw. geforked wurde und nun Libav heisst. Es gibt auch eine MediaGoblin Android App im Quellcode und eine ambitionierte Wunschliste What’s coming in MediaGoblin 1.0?
Das folgende Mediagoblin Video liegt übrigens auf dem Serverblogger Testserver und kann auch in Websites eingebunden werden. Der Code funktioniert im Firefox, Chrome und Opera Browser.
Ich möchte, wie auch im pumpi.io Artikel, keine detallierte Installationsanleitung aufschreiben, die schnell überholt sein wird. Das Beste, was ich finden und empfehlen kann, ist die offizielle Dokumentation (http://mediagoblin.readthedocs.org/en/stable/).
Das Ergebnis können Sie auf unserem Testserver besichtigen und ausprobieren:
Erster Aufruf von MediaGoblin Registrierung im Debug Mode
Wenn der Server im Debug Modus ist, wird die E-Mail auf der Konsole angezeigt.
===== Email =====
From address: hagen.graf@gmail.com
To addresses: hagen.graf@gmail.com
Subject: GNU MediaGoblin - Verify your email!
-- Body: --
Hi hagengraf,
to activate your GNU MediaGoblin account, open the following URL in
your web browser:
http://46.232.178.78:6543/auth/verify_email/?token=MQ.B9SBVA.psduo2TS9mpenvdzb4ruECnEu4w
E-Mail wurde verifiziert
Die Einstellungen für den E-Mail Debug Modus können in der mediagoblin_local.ini Datei geändert werden
# Set to false to enable sending notices
email_debug_mode = false
Um auch Video und Audio File verwalten zu können, müssen die beiden Dateitypen als zusätzliche Plugins in der mediagoblon_local.ini eingetragen werden.
Video Datei in Media Goblin Bild Datei in Media Goblin
Fazit
Die Idee ist genauso verückt, wie verführerisch und Sie funktioniert prinzipiell. In der Version 1.0 soll es Verbindungen zu GNU social, Friendica, Diaspora und Installationspakete für gängige Linuxdistrubutionen geben und im Web wird bereits über Import wizards, Bildbearbeitungsfunktionen, Rechteverwaltung und ähnliche Features diskutiert.
tl;dr: MediaGoblin ist die Open Source Alternative zu YouTube, Flickr, SoundClound und Thingiverse.
Harddisk https://www.flickr.com/photos/ninjanoodles/153893023 (CC BY 2.0)
Backup ist so ein Thema, dass man in seiner Vollständigkeit versteht, wenn man kein Backup hat oder es nicht möglich ist, das vorhandene Backup wiederherzustellen. Es gibt zahlreiche Lösungsansätze fuer das Backup/Restore Szenario.
Beispielsweise gibt es für die meisten Content Management Systeme Erweiterungen, die ein Datei- und ein Datenbank Backup auf dem Root-Server erzeugen und danach auf ein Ziel Ihrer Wahl übertragen (z.B. Drupal Backup & Migrate oder WordPress UpdraftPlus Backup and Restoration). Bis zu einem gewissen Umfang (der schwer errechenbar ist, weil er von so vielen Parametern abhängt) klappt das auch gut und zuverlässig.
Das Backup der Datenbank (Dump) funktioniert meist reibungsloser als das der Dateien. Datenbanken sind komprimiert erheblich kleiner als tausende von PDF oder JPG-Dateien, daher kann es bei den Dateien ab einem gewissen Umfang kompliziert werden. Sie werden normalerweise komprimiert und dann als zip oder tar.gz Archiv auf das Ziel übertragen. Alle paar Tage wird ein Vollbackup erzeugt und dazwischen inkrementelle Backups. Die Komprimiererei bei einem Voll-Backup kann auch einen Root-Server schnell an den Rand der Leistungsfähigkeit bringen und für locker mal 30 Minuten beschäftigen. Abhängig von der sonstigen Konfiguration des Systems kann das bedeuten, das manche Services in dieser Zeit sehr langsam laufen. Was aber viel wichtiger ist: Die Backups sind normalerweise nicht verschlüsselt. Genau an dieser Stelle kommt Duply ins Spiel.
Was ist Duply?
Zunächst gibt es das Backup Programm Duplicity. Duplicity ist ein
Encrypted bandwidth-efficient backup using the rsync algorithm
Das hört sich gut an. Es nutzt den rsync Algorithmus, erstellt inkrementelle Backups und das auch noch verschluesselt. Leider ist es etwas aufwendig zu konfigurieren, so dass die Zeitschrift Ct im Jahr 2006 das Script ftplicity schrieb und die Bedienung damit erleichterte (Ct – Hinter Schloss und Siegel).
Aus ftplicity entwickelte sich Duply, ein in der Programmiersprache Python geschriebenes Skript, das die Nutzung von Duplicity vereinfacht.
Beispiel
Nehmen wir an, sie haben viele virtuelle Server auf Ihrem Root-Server. Jeder soll ein eigenes Datei-Backup des Dokumentenverzeichnisses erhalten. Das Backup soll auf einen FTP Server übertragen werden und verschluesselt sein. Wir haben die FTP Zugangsdaten fuer den Ziel-Server und den Pfad des zu sichernden Verzeichnisses auf unserem Root-Server. Es soll alle 7 Tage ein Vollbackup erstellt werden und dazwischen 7 inkrementelle Backups. Eine Wiederherstellung der Dateien in einem anderen Verzeichnis soll möglich sein. Auf dem Root-Server läuft Ubuntu 14.04.
Installation
Wir benötigen zunächst das Paket Duplicity und einen FTPclient (ncFTP), der dann den eigentlich Dateitransfer übernimmt.
apt-get install duplicity ncftp
Erstes Backup
Sie können nun bereits ein Backup erstellen und per FTP übertragen. Den folgenden Befehl müssen Sie nur mit Ihren Zugangsdaten füllen und abschicken.
Nach dem Absenden werden Sie nach einem Passwort gefragt. Geben Sie ein beliebiges Passwort ein und merken es sich, Sie benötigen es bei der Wiederherstellung der Daten wieder.
root@server1:~# FTP_PASSWORD=*** duplicity /var/www/piwik.serverblogger.ch ftp://****@****/****
NcFTP version is 3.2.5
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
GnuPG passphrase:
Retype passphrase to confirm:
No signatures found, switching to full backup.
--------------[ Backup Statistics ]--------------
StartTime 1420383883.70 (Sun Jan 4 16:04:43 2015)
EndTime 1420383889.16 (Sun Jan 4 16:04:49 2015)
ElapsedTime 5.46 (5.46 seconds)
SourceFiles 7119
SourceFileSize 41831081 (39.9 MB)
NewFiles 7119
NewFileSize 41831081 (39.9 MB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 7119
RawDeltaSize 38427305 (36.6 MB)
TotalDestinationSizeChange 11915629 (11.4 MB)
Errors 0
-------------------------------------------------
root@server1:~#
Herzlichen Glückwunsch, auf der Ziel FTP-Seite sind tatsächlich Dateien angekommen – Ein erstes Backup! Sicherungsdateien von Duplicity
Auf der Handbuchseite man duplicity sehen Sie zahlreiche Parameter, mit denen Sie Ihr Backup verfeinern koennen und bekommen eine Ahnung von der Komplexität des Programms.
Wiederherstellung des Backups (restore)
Nachdem das mit dem Backup recht einfach ging, wollen wir die Daten in einem anderen Verzeichnis wiederherstellen.
root@server1:~/backup# FTP_PASSWORD=**** duplicity ftp://****@****/****/backup /root/backup/test
NcFTP version is 3.2.5
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Sun Jan 4 16:04:38 2015
GnuPG passphrase:
root@server1:~/backup# cd test
root@server1:~/backup/test# ls
logs public_html
Nach Eingabe des richtigen Passworts wird das Verzeichnis test erstellt und die gesicherten Daten dort wiederhergestellt. Das funktioniert alles sehr schnell und elegant, nun wollen wir es mit Duply automatisieren.
Automatisierung der Backups mit Duply
Bevor wir Duply installieren muss die Sache mit der Passworteingabe automatisiert werden. Dazu erstellen wir uns Schlüssel mit dem Befehl.
gpg --gen-key
Es folgt ein Dialog
root@server1:# gpg --gen-key
gpg (GnuPG) 1.4.16; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Waehlen Sie DSA and Elgamal aus
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? 2
Die Schlüssellaenge von 2048 koennen Sie uebernehmen
DSA keys may be between 1024 and 3072 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Der Schlüssel soll nicht verfallen
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Antworten Sie mit y
Is this correct? (y/N) y
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
Real name: Hagen Graf
Email address: hagen@novatrend.ch
Comment: Serverblogger Test
You selected this USER-ID:
"Hagen Graf (Serverblogger Test) <hagen@novatrend.ch>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
You need a Passphrase to protect your secret key.
Geben Sie an dieser Stelle wieder Ihr Passwort ein und merken es sich. Dieses Passwort brauchen Sie später in der Duply Konfigurationsdatei. Die nächste Meldung bezieht sich auf einen gpg-agent, der beim Start einer Session die Passphrase abfragt und zur Verfügung stellt. Dieser gpg-agent ist nicht installiert und daher kommt diese Meldung. Sie können sie ignorieren.
gpg: gpg-agent is not available in this session
Jetzt startet die Schlüsselerzeugung.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: WARNING: some OpenPGP programs can't handle a DSA key with this digest size
+++++...+++++....+++++.++++++++++++++++++++++++++++++.+++++++++++++++..+++++.....+++++++++++++++.+++++.+++++....+++++.++++++++++.+++++.++++++++++....+++++++++++++++>+++++................>+++++..................................................................................................+++++
Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 288 more bytes)
In meinem Fall brach die Schlüsselerzeugung nach kurzer Zeit ab, weil nicht genug „entropy“ (Zufall) im System vorhanden war. Um die Entropie zu erhoehen, müssen Sie ihr System beschaftigen. Es gibt unterschiedliche Ansaetze (Beispiel). Ich habe es zuerst mit der mehrfachen Ausfuehrung des Befehls ls / -R probiert. Der Screenshot zeigt eine Shell mit der Schlüsselgenerierung, die Shell oben rechts zeigt die Entropie an, unten rechts wird das System beschäftigt.
Entropie erhöhen
Nach ein paar Minuten erfolgloser Beschäftigung habe ich dann das Paket stress installiert (apt-get install stress) und mit dem Befehl stress -c 4 -m 2 -d 1 -t 40s vierzig Sekunden „Stress“ in CPU, Hauptpeicher und auf der Festplatte erzeugt (Stress Test Your Ubuntu Computer with ‘Stress’).
Die Schlüsselerzeugung ging daraufhin weiter.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++.+++++++++++++++.+++++++++++++++.+++++.++++++++++++++++++++.+++++..++++++++++++++++++++>++++++++++>+++++...............................................................................+++++^^^
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key ******* marked as ultimately trusted
public and secret key created and signed.
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub 2048D/6986FD72 2015-01-04
Key fingerprint = 43C1 DA7D 7CAE A2BC 34CF 6665 BB91 22E0 6986 FD72
uid Hagen Graf (Serverblogger Test) <hagen@novatrend.ch>
sub 2048g/27AC130F 2015-01-04
Merken Sie sich den Key, der im gelb markierten Bereich steht.
wget http://downloads.sourceforge.net/project/ftplicity/duply%20%28simple%20duplicity%29/1.9.x/duply_1.9.1.tgz
tar xvfz duply_1.9.1.tgz
cp duply_1.9.1/duply /usr/local/bin
Nun müssen Sie ein Profil erstellen.
duply [name-des-profils] create
Ich möchte wieder die Piwik Installation sichern und geben folgendes ein
root@server1:~# duply piwik.serverblogger.ch create
Congratulations. You just created the profile 'piwik.serverblogger.ch'.
The initial config file has been created as
'/root/.duply/piwik.serverblogger.ch/conf'.
You should now adjust this config file to your needs.
Sie müssen nun die Konfigurationsdatei bearbeiten
nano /root/.duply/piwik.serverblogger.ch/conf
Diese Werte müssen Sie anpassen
GPG_KEY='*****' // Der gelb markierte Key von oben
GPG_PW='*****' // ihr Passwort bei der key-Erzeugung
TARGET='ftp://****@****/****/****' // FTP Zugangsdaten
TARGET_PASS='*****' // FTP Passwort
SOURCE='/var/www/piwik.serverblogger.ch' // zu sichernden Verzeichnis
MAX_AGE=1M // Nach 1 Monat werden alle aelteren Backups geloescht
TEMP_DIR=/tmp // Das temporaere Verzeichnis
OPTIONAL
Wenn Sie die Datenbank (MySQL Dump) mit sichern wollen, können Sie sich eine Datei mit dem Namen pre anlegen
Mit dem Befehl duply [profilname] backup koennen Sie nun ein Backup ausühren. In meinem Fall
duply piwik.serverblogger.ch backup
Ein Vollbackup wird mit full aufgerufen
duply piwik.serverblogger.ch full
Ein inkrementelles Backup mit incr
duply piwik.serverblogger.ch incr
Sie sollten nun nicht nach einem Passwort gefragt werden! Mit duply -h können Sie sich die Hilfeseite anzeigen lassen.
Automatisierung
Der letzte Schritt ist nun der Eintrag in der Crontab um den Backup Befehl regelmässig auszuführen.
crontab -e
Sonntags um 0:00 wird ein volles Backup erstellt und alte Backups gelöscht. Von Montag bis Samstag wird jeweils um 0:00 Uhr ein inkrementelles Backup durchgeführt.
# do a full backup on sunday & delete old backups
0 0 * * 7 /usr/bin/duply /root/.duply/piwik.serverblogger.ch full_verify_purge --force
# run the incremental backup each night at 00:00h
0 0 * * 1-6 /usr/bin/duply /root/.duply/piwik.serverblogger.ch incr
Restore mit Duply
Die Wiederherstellung funktioniert ebenso einfach wie das Backup
duply [Profilname] restore [Zielverzeichnis]
Andere Plattformen
Mit Duplicity und Duply können Sie auf auf andere Ziele sichern, beispielsweise S3 Amazon Web Services, Google Cloud Storage, Rackspace Open Cloud, und Dropbox.