MySQL- Sicherung ohne Passwort im Script

Nach dem ich nun nieder geschrieben hatte, wie ich meine SQL-Datenbanken automatisch sichere, kamen einige gute Anregungen in den Kommentaren. Darauf hin habe ich das System etwas umgestellt. Dazu wurde zu allererst der Storage vom root auf einen User übertragen. Somit konnte ich auch den Cronjob für den User einrichten. Der Eintrag, wie im ersten Artikel „MySQL-Sicherung“ in /etc/crontab wurde wieder entfernt. und der Cron neu gestartet.

Als eingeloggter User habe ich dem selbigen mit

folgenden Befehl eingetragen.

Dann wurde eine ~/.my.cnf

mit entsprechendem Inhalt erstellt. Diese enthält das MySQL root Passwort.

„meinpasswort“ musste hier natürlich angepasst werden. Nach dem Abspeichern wurden der Datei die Rechte 600 vergeben.

Im Anschluss habe ich ein neues Script mit dem Inhalt

erstellt und dieses mit

ausführbar gemacht. Um die Datenbanken besser auseinander halten zu können, bekamen alle Datenbanken dieses Mal ein separates Verzeichnis.

Nun werden die Datenbank-Sicherungen jeden Morgen 2:00 Uhr in von einander getrennten Verzeichnissen komprimiert abgelegt.

Der Servercow-Storage wurde mit der Nextcloud-App „External Storage“ in die Cloud eingebunden und die Sicherungen landen so regelmäßig auf meinem Notebook.

MySQL-Sicherung

Inspiriert durch den Artikel „Backup oder Datensicherung eines root-Servers / vServers / VPS„von Bitblokes habe ich mir Gedanken gemacht, wie ich meine MySQL-Datenbanken vernünftig und regelmäßig sichern kann. Die Snapshots von Servercow sind schon sehr gut, um ein Backup des ganzen Servers zu erstellen. Jedoch ist man hin und wieder auf eine einzelne Datenbank angewiesen.

Da ich bei Servercow einen zusätzlichen RAID5 HDD-Netzwerkspeicher von 150 GB und diesen in meine Nextcloud eingebunden habe, kann ich dort bequem meine Datenbanksicherungen ablegen. Bei jeder Synchronisation zu Hause, landen dann die Sicherungen auf meinem Notebook. 

Da ich bisher meine Datenbanken manuell mit mysqldump durchgeführt habe, wollte ich das Ganze nun automatisieren.

Dazu wurde das Script MySQLscript.sh

mit folgendem Inhalt erstellt.

Dabei ist „in**********“ der Name meiner ersten Datenbank. Der Eintrag „meinpasswort“ im Script muss natürlich durch das MySQL root Passwort ersetzt werden. 

Im Anschluss wird das Script ausführbar gemacht

und der Befehl mit 

in den crontab eingetragen.

So wird nach dem Neustart von Cron jeden Tag um 2:00 Uhr eine Sicherung jeder einzelnen Datenbank im Verzeichnis /samba_share/backup abgelegt.

Nextcloud auf dem Raspberry Pi

Seit ca. vier Jahren habe ich auf meinen Raspberry Pi eine eigene Cloud installiert. Anfangs war es mehr oder weniger eine reine Testumgebung. Mittlerweile möchte ich aber auf die Möglichkeit, Daten zu Hause in der eigenen Wolke zu speichern, nicht mehr verzichten.  Inzwischen läuft eine Nextcloud 11.0.2 auf einem Raspberry Pi 3 Modell B.

Vor einem halben Jahr bin ich dann noch einen Schritt weiter gegangen. Meine Kontakte, Kalender und Aufgaben werden ebenfalls über die Nextcloud mit meinem Smartphone und Notebook synchronisiert. Der Vorteil hierbei: Google bleibt außen vor. Zur Synchronisation setze ich mittlerweile DAVdroid in Verbindung mit der App Calendar Color ein. Des Weiteren werden Aufgaben mit der App Open Tasks bearbeitet. Natürlich kommt auch die eigentliche Applikation Nextcloud zum Einsatz. Diese Apps sind alle kostenlos auf F-Droid erhältlich. Wer den Entwicklern etwas Geld zukommen lassen will, kann dies natürlich direkt tun.

Mit ein wenig Willen und Lust zum Basteln ist die eigene Cloud schnell installiert und einsatzbereit. Hier kurz eine Liste der von mir eingesetzten Komponenten:

Von Außen erreiche ich die Nextcloud über eine auf INWX eingerichtete DynDNS-Adresse. Um den Zugang aus dem Internet etwas zu härten, verwende ich seit Kurzem eine Zwei-Faktor-Authentifizierung über den Google Authenticator.

Vorsicht: Bei der Einrichtung sind die Backup-Codes unbedingt zu sichern! Hier besteht die Gefahr, dass man sich ungewollt aussperrt.

Fehlgeschlagener Upload eines WordPress-Themes

Neulich musste ich feststellen, dass ich ein neues WordPress-Theme nicht installieren konnte, weil es zu groß war. Durch das Hochsetzen der Standard-Werte für upload_max_filesize und post_max_size in der /etc/php5/apache2/php.ini würde das kleine Problem behoben.

Die Einträge

wurden in

geändert. Nach dem Neustart des Webservers konnte das Theme problemlos hochgeladen werden.

INWX mit DynDNS

Vor einiger Zeit fiel mir auf, dass mein Domain-Verwalter INWX auch DynDNS anbietet. Zwar läuft das DynamicDNS noch im Beta-Stadium, trotzdem funktioniert es bestens mit meinem Raspberry Pi. Aufbauend auf dem Artikel „Raspberry Pi 3 mit DynDNS“ habe ich nun die /etc/ddclient.conf folgendermaßen konfiguriert:

Viel Spaß!

Linux-Server – Das umfassende Handbuch

 

Linux-Server – Das umfassende Handbuch“ von Dirk Deimeke, Stefan Kania, Daniel van Soest, Peer Heinlein ist 2016 in der 4., aktualisierten Auflage im Rheinwerk Verlag erschienen. Das Buch umfasst 1151 Seiten. Als Zielgruppe dieses Werkes gilt der fortgeschrittene Administrator. Was unter dem Beruf Administrator zu verstehen ist und welche Aufgaben ihn begleiten, werden im ersten Kapitel ausgiebig beleuchtet.

Die weiteren Teile des Buches geben einen Einblick in die Grundlagen bis hin zur Sicherheit eines Linux-Servers. Die Schwerpunkte liegen in der 4. Auflage bei den Systemen Ubuntu, Debian, CentOS und openSUSE leap. Dabei wurde in dieser aktualisierten Auflage des Handbuches SUSE Linux Enterprise Server entfernt und erstmals durch openSUSE ersetzt. Auch das mit längerer Laufzeit unterstützte CentOS nahmen die Autoren des Buches mit auf, um so die Kompatibilität zu Red Hat Enterprise Linux zu wahren.

Im ersten Teil werden die Grundlagen eines Servers erklärt, u.a. der Umgang mit Festplatten und Devices, welche Dateisysteme i.d.R. zum Einsatz kommen und wie man mit Berechtigungen umgeht bzw. diese setzt. Nach dem Teil Aufgaben, wo sich das Buch mit der Paketverwaltung sowie der Sicherung des Servers und des Einspielens von Sicherungen beschäftigt, werden im Teil Dienste die verschiedenen Webserver Apache, Lighttpd und Nginx thematisiert. Weiterhin können Grundlagen zur Dateiübertragung über FTP-Server vermittelt werden. Dabei spielt die Sicherheit via FTP über SSL eine zentrale Rolle. Auch erfährt der Leser wie man einen Mailserver mit entsprechendem Spam- und Virenschutz aufbaut, diesen wartet und administriert. Erstmals in der 4. Auflage widmet sich das Handbuch Samba 4. Das Thema Druckserver bildet dann den Abschluss dieses speziellen Praxisteils. Die folgenden Teile Infrastruktur, Kommunikation, Automatisierung und Sicherheit, Verschlüsselung und Zertifikate zeigen nicht nur wie ein Hochverfügbarkeits-Cluster erstellt und betrieben wird, sondern helfen dabei die unterschiedlichen Linux-Server zu kontrollieren, konfigurieren und mit allen nötigen Sicherheitsmaßnahmen auszustatten.

Dieses umfassende Handbuch ist in sieben Teile mit 28 Kapiteln gegliedert.

  • Der Administrator

TEIL I Grundlagen

  • Bootvorgang
  • Festplatten und andere Devices
  • Dateisysteme
  • Berechtigungen

TEIL II Aufgaben

  • Paketmanagement
  • Backup und Recovery

TEIL III Dienste

  • Webserver
  • FTP-Server
  • Mailserver
  • Datenbank
  • Syslog
  • Proxy-Server
  • Kerberos
  • Samba 4
  • NFS
  • LDAP
  • Druckserver

TEIL IV Infrastruktur

  • Hochverfügbarkeit
  • Virtualisierung

TEIL V Kommunikation

  • Netzwerk
  • OpenSSH
  • Administrationstools
  • Versionskontrolle

TEIL VI Automatisierung

  • Scripting
  • Monitoring – wissen, was läuft

TEIL VII Sicherheit, Verschlüsselung und Zertifikate

  • Sicherheit
  • Verschlüsselung und Zertifikate

Leseproben und Downloads

Fazit

Wie schon eingangs erwähnt, richtet sich das Buch in erster Linie an den erfahrenen Administrator. Trotzdem ist dieses Nachschlagewerk auch jenen ans Herz gelegt, die in die Materie Server einsteigen wollen. Die umfangreichen Erfahrungen unserer vier Autoren Dirk Deimeke, Stefan Kania, Daniel van Soest, Peer Heinlein zum Standardwerk „Linux-Server – Das umfassende Handbuch“ helfen nicht nur Profis sondern auch Neueinsteigern Linux-Server einzurichten und zu administrieren.

MySQL Bilder-Pfade anpassen

Vor ein paar Tagen fiel mir auf, dass einige Bilder-Pfade meiner Seite noch mit www. begannen und somit falsch verlinkt waren. Diese wurden, da noch kein ServerAlias (mit www.) in der Config des Virtual Host auf dem Server eingetragen war, nicht mehr im Browser dargestellt.
Ein kleiner Eingriff in die MySQL-Datenbank machte die Bilder aber wieder sichtbar.

Und wie macht sich der Kleine so?

Vor über einem Monat habe ich einen Test gestartet, wobei nun alle Kontakte, Termine und Dateien meines Smartphones mit einem Raspberry Pi synchronisiert werden. Dazu wurde die Standard-Synchronisation dieser Dienste zu Google deaktiviert.

Auf dem Raspberry Pi läuft ein aktuelles Raspbian Jessie. Die Ports 21, 22, 80 und 443 wurden zu diesem Zweck (FTP, SSH, HTTP und HTTPS) am heimischen Router geöffnet. Um nun von außen einen Zugang zu bekommen, nutze ich den Dienst NoIP. So kann ich mit einer festen Internetadresse über die sich ständig ändernde öffentliche IP auf meinem Raspberry Pi zugreifen. Der RasPi gleicht diese IP mit dem installierten ddclient ab. Weiterhin sind der Webserver Apache2 und eine ownCloud installiert. Letztere dient der Speicherung der zuvor erwähnten Daten. Das Ganze wurde mit einem Let’s Encrypt Zertifikat verschlüsselt. 

Um diese Daten dann mit der Cloud zu synchronisieren, nutze ich mit dem Smartphone die drei kostenpflichtigen Apps CardDAV-SyncCalDAV-Sync und FolderSync. Am PC synchronisiert Debian 8 die Daten mit dem ownCloud Client. Kontakte und Termine werden im Mail-Programm Evolution abgegriffen.

Wie läuft das alles nun rückblickend?

Eigentlich erstaunlich gut und ohne Probleme meinerseits. Ein zwischenzeitlicher Ausfall, hatte mich aber kurzzeitig hierbei aus der Bahn geworfen. Mein Internet-Provider stellte ohne Ankündigung meinen Anschluss auf Port and Address Translation (PAT). Dabei war es nicht mehr möglich über die öffentliche IP auf mein Heimnetz zuzugreifen. Erst nach Rücksetzung durch den Support auf Network Address Translation (NAT) konnte ich meine Cloud wieder erreichen.

Fazit

Ja, es geht auch ohne Google, wenn man die Daten des Smartphones sichern möchte. Mit dieser Heim-Lösung bin ich im Moment sehr zufrieden. Die Anschaffungs- und Stromkosten eines Raspberry Pi inkl. Zubehör halten sich in Grenzen. Zudem nutze ich eine 64GB MicroSD, die wirklich sehr viel Spielraum zur Datensicherung bietet.

Übrigens gibt es CardDAV-Sync, CalDAV-Sync und FolderSync auch in kostenlosen Light-Versionen. Diese verfügen aber nicht über den vollständigen Funktionsumfang.

Ich habe hier anhand dieses Beispiels eine Einkaufsliste der eingesetzten Hardware zusammen gestellt.

Let’s Encrypt auf dem Raspberry Pi

letsencrypt-logo-horizontal

Let’s encrypt auf dem Raspberry Pi einzurichten ist nicht sonderlich schwer. Ich setzte voraus, dass hier schon, wie bei mir, ein Apache2 läuft.

Zuerst wird Git installiert, wenn nicht schon vorhanden.

Dann wechselt man  in /opt, ladet den  ACME Client von Let’s Encrypt herunter und installiert diesen.

Im Anschluss wird Let’s Encrypt an den Apache angepasst.

Nun sollte der Raspberry Pi via https erreichbar sein.

Um das Zertifikat zu erneuern, führt man folgenden Befehl aus:

Man bestätigt den eingesetzten Server Apache, wie schon zuvor bei der Installation

news-786

und startet diesen im Anschluss neu.