Homeserver/NAS mit Ubuntu 18.04: Teil 7, Backups mit Duplicati und Rsnapshot

Homeserver 18.04 Teil 7 Beitragsbild

Dieser Artikel ist Teil der Reihe selbstgebauter Homeserver/Nas mit Ubuntu 18.04

Anzeige:

Über die Bedeutung von Backups will ich nicht viele Worte verlieren. Unser Homeserver ist dafür gedacht unsere wichtigsten Daten zu speichern, wie Fotos und Dokumente. Dementsprechend sollte auch für den Fall vorgesorgt werden dass das System ausfällt, oder Dateien versehentlich gelöscht werden. Denn gegen versehentliches löschen hilft auch das beste RAID-System nichts.

In diesem Artikel wird die Einrichtung von zwei verschiedenen Backuplösungen beschrieben. Die Backupsoftware Duplicati wird für ein Cloudbackup eingerichtet. Duplicati lässt sich einfach installieren und anschließend komfortabel über den Webbrowser bedienen.

Außerdem wird ein lokales Backup auf einer externen Festplatte mit Rsnapshot eingerichtet. Rsnapshot ist ein Backuptool für die Kommandozeile und basiert auf der Nutzung von Rsync und Hardlinks. Dies hat den Vorteil, dass die Daten auf der Backupfestplatte von jedem beliebigen LinuxPC wieder gelesen werden können, ohne dass ein spezielles Tool benötigt wird um auf die Daten zugreifen zu können.

Cloudbackup mit Duplicati

Duplicati ist seit vielen Jahren sehr aktiv in der Entwicklung, aber leider gibt es zum derzeitigen Zeitpunkt noch keine finale Version. Allerdings gibt es Beta-Versionen, welche ich seit längerer Zeit ohne Probleme einsetze. Die Entwicklung findet in sogenannten experimental-Versionen statt. In unregelmäßigen Abständen wird eine experimentelle Version, die sich als zuverlässig herausgestellt hat, als Betaversion herausgegeben.

Duplicati ist ein Open Source Projekt. Die Projekthomepage ist unter duplicati.com zu finden, der Code steht auf GitHub. Duplicati ist eine sehr vielseitige Backupsoftware, besonders was die Speicherziele angeht. Neben lokalen Datenträgern wie USB-Festplatten werden eine Vielzahl an Cloudspeichern unterstützt. Darunter z.B. Dropbox, Amazon Cloud Drive, Microsoft OneDrive und viele mehr. Außerdem werden Standardprotokolle wie FTP, SFTP, WebDAV uvm. unterstützt, so dass sich eine Vielzahl weiterer Cloudspeicher, oder ein eigener Server als Backend einsetzen lassen.

Die Bedienung von Duplicati erfolgt komfortabel über den Webbrowser

Die Installation von Duplicati

Zuerst wird der Downloadlink für die aktuelle (Beta-)Version für Ubuntu von der Duplicati Downloadseite benötigt. Diese wird via Rechtsklick und “Adresse des Links kopieren” (je nach Browser unterschiedlich) in die Zwischenablage kopiert. Über die Kommandozeile auf unserem Homeserver laden wir die Datei anschließend herunter.

Duplicati Link kopieren

cd
wget https://updates.duplicati.com/beta/duplicati_X.X.X.X-X_all.deb

Das heruntergeladene .deb Installationspaket kann jetzt installiert werden. Da Duplicati in C# geschrieben ist, wird zur Ausführung unter Linux das Mono-Framework benötigt, welches automatisch aus den Ubuntu Paketquellen mitinstalliert wird. Die Installation erfolgt mit

sudo apt install ./duplicati_*.deb

Standardmäßig erlaubt Duplicati den Zugriff auf das Webinterface nur von der selben Maschine aus. Wir wollen aber natürlich von einem beliebigen Computer aus auf das Webinterface zugreifen. Um dies zu ermöglichen muss die Konfigurationsdatei /etc/default/duplicati angepasst werden. Dazu wird diese wieder zuerst mit einem Texteditor geöffnet.

Anzeige:
sudo nano /etc/default/duplicati

Dort erweitern wir die Zeile DAEMON_OPTS mit untenstehenden Optionen.

DAEMON_OPTS="--webservice-port=8200 --webservice-interface=any"

Die Konfigurationsdatei sollte danach folgendermaßen aussehen

Duplicati Konfigurationsdatei

Jetzt wird der Duplicati-Dienst noch aktiviert, so dass die Software nach einem Neustart automatisch wieder aktiv ist. Außerdem wird Duplicati gestartet, so dass es direkt einsatzbereit ist.

sudo systemctl enable duplicati.service
sudo systemctl start duplicati.service

Nun kann Duplicati über den Webbrowser über folgende Adresse aufgerufen werden.

http://192.168.30.114:8200

Die Konfiguration von Duplicati

Zuerst wird man von Duplicati mit einem Sicherheitshinweis konfrontiert. Man kann zuerst ein Passwort für die Benutzeroberfläche festlegen, um zu verhindern dass unbefugte Zugriff auf die Einstellungen und die Backups bekommen. Da die Konfigurationsoberfläche von Duplicati von jedem Computer im Netzwerk erreicht werden kann, ist es sinnvoll hier ein Passwort festzulegen. Dies kann aber auch später in den Einstellungen jederzeit nachgeholt werden.

Duplicati Backup Oberfläche

Die Konfigurationsoberfläche und das Einrichten von Backups mit Duplicati ist selbsterklärend und kinderleicht. Aus diesem Grund verzichte ich auf eine Anleitung zum einrichten des Backups.

Man sollte bei der Einrichtung darauf achten die Ordner /etc sowie /mnt/storage zu sichern. Im ersten liegen die Konfigurationsdateien des Systems, im zweiten unsere Daten. Auch das Sichern des /home Verzeichnisses ist in der Regel sinnvoll.

Außerdem ist es sinnvoll die Konfiguration des Backups z.B. auf einem USB-Stick zu sichern, oder sich diese für den Fall der Fälle per Email zu senden. Damit ist es möglich die Duplicati Konfiguration auf einem neu aufgesetzten System einfach wieder zu importieren.
Hierzu klickt man auf den Namen des Backups, in diesem Fall “Home”. Damit klappen weitere Optionen herunter. Hier findet man unter dem Punkt Konfiguration -> Exportieren die Möglichkeit sich alle Einstellungen des Backupjobs “Home” als Datei herunterzuladen.

Duplicati Einstellungen exportieren

Lokales Backup mir Rsnapshot

Rsnapshot ist ein Backuptool für die Kommandozeile welches auf rsync basiert. Rsnapshot erstellt, wie der Name bereits andeutet, sogenannte Snapshot-Ordner auf der externen Festplatte. Dabei wird bei jedem Backup ein neuer Ordner erstellt welcher das Backup enthält, wobei es so aussieht als würde jeder Ordner eine vollständige Kopie der gesicherten Dateien enthalten. Durch die Verwendung von rsync wird eine unveränderte Datei aber nur einmal gesichert. Mit einem Hardlink wird die Datei im folgenden Backup verlinkt, wodurch Speicherplatz gespart wird.

Anzeige:

Da es sich trotzdem um normale Dateikopien handelt, können die Sicherungen auf der externen Festplatte von jedem beliebigen PC wieder auslesen. Somit ist sichergestellt dass sich die Dateien auch einfach wiederherstellen lassen.

Rsnapshot lässt sich direkt aus den Ubuntu Paketquellen installieren. Um die USB-Festplatte für die Datensicherung automatisch beim einstecken ins System einzubinden, wird zusätzlich das Programm usbmount installiert.

sudo apt install rsnapshot usbmount

USBMount konfigurieren

Usbmount ist direkt nach der Installation einsatzbereit. Beim einstecken einer USB-Festplatte wird dieses automatisch in /media/usb eingebunden. Steckt man mehrere USB-Laufwerke an, so werden die Einbindungspunkte nummeriert, also /media/usb0, /media/usb1 usw.

Standardmäßig unterstützt usbmount die Dateisysteme vfat ext2 ext3 ext4 und hfsplus. Wenn die Backupfestplatte nur für den Homeserver genutzt wird sollte sie mit dem Dateisystem ext4 formatiert werden, da dies das Standarddateisystem bei Ubuntu ist. Wenn man die Festplatte unbedingt auch auf Windows PCs nutzen möchte und die Festplatte somit NTFS formatiert sein muss, muss dieses Dateisystem in der Konfigurationsdatei von usbmount aktiviert werden.

Dazu wird die Datei /etc/usbmount/usbmount.conf mit dem Texteditor geöffnet und in die Zeile FILESYSTEMS= noch ntfs hinzugefügt, so dass die Zeile folgendermaßen aussieht:

FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus ntfs"

Usbmount Konfigurationsdate

Nun kann die USB-Festplatte eingesteckt und das Backupprogramm Rsnapshot konfiguriert werden.

Rsnapshot konfigurieren

Rsnapshot ist einfach zu Konfigurieren. Die Einstellungen erfolgen über die Konfigurationsdatei in /etc/rsnapshot.conf, welche wieder mit einem Texteditor geöffnet wird.

Wichtig: die Trennung von Schlüssel und Werten, also der Zwischenraum zwischen einer Einstellung und der dahinterstehenden Zahl muss mit der Tabulatortaste [TAB ⇆] erstellt werden. Wenn hier normale Leerzeichen stehen wird die Konfigurationsdatei von Programm nicht akzeptiert und Rsnapshot bricht mit einer Fehlermeldung ab.

sudo nano /etc/rsnapshot.conf

In dieser Datei müssen wenige Einstellungen vorgenommen werden. Im oberen Teil wird unter snapshot_root das Verzeichnis angegeben, in welchem die Sicherungen gespeichert werden. In unserem Fall also /media/usb. Außerdem wird die Einstellung no_create_root von 0 auf 1 gesetzt, damit vor dem Backup überprüft wird ob der angegebene Mountpunkt überhaupt existiert.

###########################
# SNAPSHOT ROOT DIRECTORY #
###########################

# All snapshots will be stored under this root directory.
#
snapshot_root /media/usb

# If no_create_root is enabled, rsnapshot will not automatically create the
# snapshot_root directory. This is particularly useful if you are backing
# up to removable media, such as a FireWire or USB drive.
#
no_create_root 1

Als nächstes werden die Aufbewahrungszeiträume festgelegt. In diesem Beispiel wird jedes Backup der letzten sieben Tage aufbewahrt. Von den einmal pro Woche ausgeführten Backups werden vier aufgehoben und von den Monatlichen sechs. Das aktuellste Backup ist somit von heute, bzw von gestern und das älteste Backup ist ein halbes Jahr alt.

Anzeige:

Zuerst suchen wir in der Konfigurationsdatei den Block “Backup Levels“. Die bereits vorhandenen Levels, die mit alpha, beta usw. benannt sind, werden mit einer Raute (#) auskommentiert oder gelöscht. Darunter fügen wir unsere Konfiguration ein, die wir der besseren Übersicht wegen daily, weekly und monthly nennen. Wichtig ist hier wieder die Trennung mittels Tabulatortaste. Der bearbeitete Block sieht dann folgendermaßen aus.

#########################################
# BACKUP LEVELS / INTERVALS #
# Must be unique and in ascending order #
# e.g. alpha, beta, gamma, etc. #
#########################################

#retain alpha 6
#retain beta 7
#retain gamma 4
#retain delta 3
#retain hourly 6
retain daily 7
retain weekly 4
retain monthly 6

Im nächsten Schritt wird festgelegt welche Ordner überhaupt gesichert werden sollen. Dies geschieht im Block “Backup Points / Scripts“. In diesem Beispiel werden die Verzeichnisse /home /etc und /mnt/storage gesichert. Mimas gibt den Unterordner auf der der externen Festplatte an unter welchem die Sicherungen gespeichert werden. Das tägliche Backup wird in diesem Fall z.B. unter /media/usb/daily.0/mimas erstellt. Der Backupblock sieht aus wie folgt.

###############################
### BACKUP POINTS / SCRIPTS ###
###############################

# LOCALHOST
backup /home/ mimas/
backup /etc/ mimas/
backup /mnt/storage/ mimas/

Die Konfigurationsdatei kann nun gespeichert werden. Mit dem folgenden Befehl kann überprüft werden ob die die Datei von Rsnapshot verarbeitet werden kann. Wenn es hier zu einer Fehlermeldung kommt, dann wurde wahrscheinlich an irgendeiner Stelle ein Leerzeichen anstelle von Tab verwendet.

sudo rsnapshot configtest

Aktivieren der Rsnapshot Backups und erstellen des ersten Backups

Die Backups werden über einen Cronjob gestartet. Dazu wird die Datei /etc/crontab im Texteditor geöffnet und um folgende Zeilen vor der abschließenden Raute erweitert.

sudo nano /etc/crontab
0 2 * * * root /usr/bin/rsnapshot daily
0 5 * * 1 root /usr/bin/rsnapshot weekly
0 7 1 * * root /usr/bin/rsnapshot monthly

Unsere /etc/crontab sieht mittlerweile so aus.

Crontab für Rsnapshot

Die Befehle können auch manuell ausgeführt werden um ein tägliches, wöchentliches oder monatliches Backup auszuführen. Zum Erstellen eines ersten manuellen Backups wird dieser Befehl ausgeführt.

sudo rsnapshot daily

Anschließend sollte sich unter /media/usb ein neuer Ordner mit dem ersten Backup befinden. In den folgenden Tagen werden jeweils neue, durchnummerierte Ordner erstellt. Wer sich für weitere Einstellungen zu Rsnapshot interessiert sollte sich den wie immer hilfreichen Wikieintrag auf ubuntuusers.de durchlesen.

Ordnerstruktur nach erstem Backup

Schluss

Damit steht nun ein vielseitiges und zuverlässiges System bereit, das kommerziellen fertig NAS-Systemen nicht nachsteht. Der Vorteil eines selbstgebauten Homeservers ist, dass sich dieser speziell auf die eigenen Bedürfnisse ausrichten lässt.

Diese Anleitung soll es insbesondere Einsteigern erleichtern ein solches System aufzusetzen und zu betreiben. Die Einsatzmöglichkeiten gehen jedoch viel weiter als in der hier beschriebenen Artikelreihe. So kann beispielsweise mit Tiny-Tiny RSS ein RSS-Reader eingerichtet werden der mit der App auf dem Smartphone synchronisiert wird. Damit hat mein ein komfortables Tool zur Verfügung um sich über das Weltgeschehen und andere Dinge auf dem Laufenden zu halten. Mit Tiny Tiny RSS lassen sich Diesnte wie Feedly oder Inoreader mit einem eigenen System ersetzen.

Oder man installiert sich eine Wallabag Instanz, und ersetzt einen read it later Dienst wie Pocket oder Instapaper.

Ich selbst setze ein ähnlich konfiguriertes System seit vielen Jahren ein und bin sowohl von der Zuverlässigkeit als auch von der Vielseitigkeit begeistert. Ich hoffe dass der eine oder andere Stolperstein aus der alten Version beseitigt ist und vielleicht inspiriert die Artikelreihe den einen oder anderen dazu ebenfalls ein solches oder ähnliches System selbst aufzusetzen.


Homeserver/NAS mit Ubuntu 18.04: Teil 1, Einleitung, Hardware und Kosten
Homeserver/NAS mit Ubuntu 18.04: Teil 2, Systeminstallation
Homeserver/NAS mit Ubuntu 18.04: Teil 3, Grundkonfiguration
Homeserver/NAS mit Ubuntu 18.04: Teil 4, Dateifreigaben im Heimnetz
Homeserver/NAS mit Ubuntu 18.04: Teil 5, Nextcloud
Homeserver/NAS mit Ubuntu 18.04: Teil 6, Media Streaming mit Plex
Homeserver/NAS mit Ubuntu 18.04: Teil 7, Backups mit Duplicati und Rsnapshot


Anzeige:
Aktualisiert am 26. September 2018 um 4:16 . Preise können sich geändert haben. Alle Angaben ohne Gewähr.

21 Kommentare

  1. Hi Niko,
    super interessantes Tutorial, Dank Dir für die viele Arbeit. Aus welchem Grund ist Open Media Vault o.ä. nicht interessant für Dich?
    Grüße, Alex

    • Ich finde OMV durchaus interessant. Ich habe damit einige Zeit auf einem Raspberry Pi experimentiert. Wenn man mit dem Funktionsumfang von OMV, bzw. den verfügbaren Plugins zufrieden ist, ist das System eine schöne Sache. Mit einem selbstkonfigurierten System hat man halt nicht nur mehr Möglichkeiten, man versteht auch sein System besser, da man dieses selbst aufgesetzt hat. Das ist mir wichtig.

  2. Super Tutorial. Mein Ubuntu Server 18.04 rennt. Freue mich schon die ganzen Features zu installieren und zu verwenden.
    Endlich ein Server, der das macht, was ich will.
    Tausend Dank an dich für die geniale Anleitung.

    Eine Frage habe ich aber noch. Hast du mal überlegt, den Gehäuselüfter zu tauschen bzw. abzuklemmen? Damit wäre der Server flüsterleise.
    Hast du Erfahrung mit dem Weglassen des Gehäuselüfters?
    Wenn es ein neuer Gehäuselüfter sein soll, welchen würdest empfehlen?

    Vielen Dank im Voraus.
    Sven

    • Freut mich dass es gut läuft.
      Ich habe den Gehäuselüfter tatsächlich getauscht und einen manuellen Drehregler eingebaut um die Drehzahl zu reduzieren. Kann dir da leider keinen Tipp geben. Das waren Teile die ich in irgendeiner Schublade hatte.
      Gruß
      Niko

  3. Hallo
    Vielen dank für das super tutorial.
    Hast du eine Idee wie ich am besten noch einen service installieren das system in idle setzt und die Festplatten zB austauscht ?
    Falls du hier einen Tipp hast wäre ich sehr dankbar
    Gruss
    Marcel

    • verstehe leider nicht ganz was du damit meinst. Wenn du eine Festplatte tauschen möchtest, kannst du das System doch herunterfahren?
      Gruß
      Niko

      • Hallo Niko,
        es geht darum dass das System in idle geht sobald jmd zb.die nextcloud app nutzt etc oder ich von meinem desktop aus auf die festplatten per netzwerk zugreife.
        Das geht soweit ich weis mit dem Wakeonlan und das ist noch nicht in dem System automatisch konfiguriert und ich wollte fragen ob du weißt wie dies geht?

        Gruß Marcel

      • Ah, verstehe. Ja, mit einem Wake-on-LAN-Paket lässt sich ein Computer grundsätzlich anschalten, oder aus dem Standby aufwecken. Das wird aber leider nicht so automatisiert und integriert funktionieren wie du das vorhast. Mit Wake-on-LAN schickst du ein spezielles Datenpaket an die Netzwerkkarte, welche dann den Computer aufweckt. Das müsstest du zuerst über eine entsprechende App/Programm auslösen. Dann musst du warten bis das System online ist und dann erst kannst du die Nextcloud nutzen.
        Mir persönlich ist da der Komfortverlust zu groß. Für eine nur gelegentliche Nutzung ist es evtl. eine Option.

    • Ich habe immer einen langsam drehenden Gehäuselüfter eingesetzt. Evtl. geht es auch ohne, muss du ausprobieren. In der Tat sollte das System nicht all zu viel Wärme produzieren.

  4. Hi Niko,
    Ich habe vor ein paar Tagen meinen in die Jahre gekommenen Debian-7-Homeserver auf den Stand der Technik gebracht. Dank deiner hervorragenden Anleitung war dies überhaupt kein Problem, auch für weniger Linux-basierte User wie mich! 🙂 Vielen Dank!
    Gruß Jörg

  5. Super Tutorial , vielen Dank!
    Ein kleiner Fehler auf der Nextcloud-Seite:
    in “sudo touch nano /etc/apache2/sites-available/001-nextcloud.conf” ist wohl ein nano zuviel 😉
    Und bei der Plex-Installation kann ich das Verzeichnis nicht komplett verschieben, es kommt ein Fehler und einiges wird nicht verschoben “sudo mv /var/lib/plexmediaserver /mnt/storage”

    Gruß

    • Danke für den Hinweis. Da ist allerdings ein nano zuviel.
      Vielleicht klappt das Verschieben nicht richtig weil der Plexserver noch läuft und dadurch bestimmte Dateien blockiert.
      Bei mir hat es funktioniert, aber ich werde sicherheitshalber noch einen Befehl in den Artikel einfügen, der den Dienst stoppt und nach dem Verschieben wieder startet.

  6. Vielen lieben Dank für die Mühe uns an deinem Projekt teilhaben zu lassen,
    nach langer Suche im Internet übernehme ich deine Liste und baue genau
    das Gerät nach. Eine Frage hätte ich noch dazu. Ich möchte eine Plesk Instanz
    installieren um mehrere Webseiten sowie service zu hosten, was hälst du von
    Home hosting und wie steht es um meine Inet Anbindung? Habe einen 20er Upload
    sowie eine feste Ip.

    Danke dir und Gruß aus Wiesbaden

  7. DAS war mal eine _richtig gute_ Tutorial-Serie! Zwar hatte ich auf dem Plan, einen File-/Media-Server mit Ubuntu 18.04 Server bereitzustellen, wollte aber mit etwas anderem beginnen. Bei der Suche nach Infos dazu bin ich allerdings bei Dir gelandet und habe nun _zuerst_ den Mediaserver an den Start gebracht. Shares laufen, Cloud läuft, Plex läuft (das hat mal direkt für neue Abo-Kosten gesorgt…). Und wie krass: Ich bin zufällig KD Kunde, bzw. nun Vodafone, und habe eine Fritzbox 6490, bei der ich erst vor kurzem bemerkt habe, dass sie DVB-C beherrscht und 4 Tuner eingebaut sind. Und das wird via Plex als Community-Tuner supported! 🙂

    Jetzt habe ich noch zwei Themen, die offen sind. Zu einem der beiden Themen kannst Du – fürchte ich – nichts beitragen, denn ich würde mir wünschen, dass Nextcloud auch OneDrive als external Storage unterstützt. Dank Office365 habe ich dort viel Speicherplatz und hätte somit eine zusätzliche Absicherung der Daten.

    Thema #2 wäre der Hammer (!) wenn Du dazu auch ein Tutorial veröffentlichen könntest – ich vermute allerdings, dass das nicht passieren wird und das wäre auch verständlich; die Nachfrage nach so etwas ist vermutlich eher gering:

    Da hier eh’ schon Samba zum Einsatz kommt… ich hätte gerne den Server als Domain Controller konfiguriert inkl. Benutzerverwaltung und Gruppenrichtlinien. Und wenn das dann eh’ schon läuft, ließe sich Nextcloud auch mit der LDAP Integration konfigurieren + die Shares auf dem Fileserver als Homedirectories für die im Netzwerk angemeldeten Benutzer einsetzen.

    Bisherige Tutorials, die ich zu dem Thema gefunden habe, sind bei weitem nicht so gut geschrieben, wie das, was Du hier auf die Welt losgelassen hast! Und/oder für veraltete Produkte entworfen…

    Zusammengefasst:
    Vielen Dank!!! und vielleicht gibt’s ja noch einen zweiten Teil, der dieses Tutorial um DC/LDAP ergänzt. 🙂

    P.S.: Einen habe ich noch:
    Kennst Du die Microsoft Test Lab Guides (TLG)? Microsoft tut eine Menge dafür, dass Leute ihre Produkte gut ausprobieren können und veröffentlicht dafür u.a. regelmäßig vorkonfigurierte Virtuelle Server mit vorinstallierten Produkten und Guides, die einen durch die Benutzung führen. Sehr cool ist, dass sie eine sehr gute Methodik entwickelt haben, diese Guides zu dokumentieren und auch modular zu gestalten. So etwas fehlt mir in der Linux Welt. Such mal nach Microsoft Test Lab Guides, TLG, Mini TLGs, etc. oder – falls es Dich interessiert – sprich mich mal drauf an.

    • Hey, das nenne ich mal einen ausführlichen Kommentar. Vielen Dank für die Zeit die Du dir genommen hast und vielen Dank für das Lob.
      Ja, OneDrive kann man nicht so einfach in Nextcloud einbinden, ich würde mich auch wundern wenn das kommen würde. Da musst du basteln. Mit Rclone kann man, glaube ich, OneDrive lokal über FUSE mounten. Das könntest Du dann wiederum in Nextcloud einbinden. Habe aber keine Ahnung wie schnell und zuverlässig das ist.

      Was Samba als Domain controller angeht ist nicht die fehlende Nachfrage das Problem, sondern eher dass ich dafür einfach keinen Bedarf habe. Für diese Artikelreihe sind tatsächlich einige Wochenenden drauf gegangen. Das kann ich nur für Themen machen, für die ich auch Begeisterung aufbringe.

      Die Microsoft Test Lab Guides kenne ich nicht, werde ich mir aber anschauen. Ich nutze gerne die Tools und virtuellen Maschinen, die Microsoft auf modern.ie anbietet. In der Tat tut Microsoft mittlerweile einiges dafür, dass ihre Produkte getestet werden können.


Die Angabe eines Namens oder einer Webseite ist optional. Weitere Informationen: siehe Datenschutzerklärung