minute

PiHole – Sicher und werbefrei surfen mit dem Raspberry Pi

Als Mediacenter oder IoT-Lösung – der Bastelrechner Raspberry Pi ist vielseitig einsetzbar. Mit Pihole macht er sogar euer gesamtes Netzwerk werbefrei und frei von Trackern. So richtet ihr die Software Schritt für Schritt einKling.

Was ist der Unterschied von Pihole zu einem Adblocker?

Warum einen Raspberry Pi mit etwas ausstatten, das ein Adblocker im Browser auf den ersten Blick auch kann? Weil Adblocker-Plugins etwas anders funktionieren und aufgerufene Websites erst blocken, sobald sie euren PC, Mac oder das Smartphone erreicht haben. Pihole hat einen anderen Ansatz, denn es blockt Tracker, Viren-verseuchte Websites und Werbung auf DNS-Ebene.

Das heißt, dass das Pihole quasi alles ausfiltert, bevor es an die Geräte im Netzwerk ausgeliefert wird. Wie ein Sieb, das zwischen eurem Router und allen Geräten im Netzwerk arbeitet. Und es bringt den Vorteil mit, dass diese Geräte auch in den nativen Apps werbefrei sind – und nicht nur mit Plugins oder speziellen Apps. Ich blicke in deine Richtung, iPhone.

Weniger Tracking, mehr Speed

Weniger Tracker bedeuten auch gleichzeitig mehr Privatsphäre, denn die eingebauten Filter sorgen dafür, dass deutlich weniger Informationen über euer Surfverhalten gesammelt werden können. Pihole ist zwar kein Tails oder Tor, das euren Traffic über fünf Millionen Proxies und dann noch mal zur Venus schickt, blockt aber sehr viele Anbieter und gefährliche Seiten.

Weniger Werbung und weniger Gefunke von Trackern und Analytics-Anbietern bedeutet zudem weniger Traffic und schnellere Ladezeiten von Websites und Apps. Na, überzeugt? Das alles braucht ihr für die Einrichtung.

Diese Hardware brauchst du für den Raspberry Pi mit Pihole

  • Einen Raspberry Pi – im Grunde tut es jeder Raspberry, auch der Raspberry Pi 1 oder Zero. Wir empfehlen euch jedoch einen Raspberry Pi 3 und aufwärts, um die Weboberfläche vom Pihole flott nutzen zu können.
  • Ein Netzteil – oder einen USB-Anschluss mit 2A-Output oder mehr.
  • Eine Micro-SD-Karte und einen SD-Adapter, der Karten meistens beiliegt.
  • Optional: Ein Gehäuse für den Raspberry Pi.
  • Optional: Einen Hoodie, da ihr ein paar einfache Shell-Befehle kopieren werdet und dabei aussehen müsst, wie ein Hacker.

Software für Pihole

 

 

Vorbereitung der SD-Karte

  1. Ladet euch im ersten Schritt Balenaetcher (oder eine der oben erwähnten Alternativen) herunter und installiert das Tool. Balenaetcher braucht ihr, um das Betriebssystem für den Raspberry Pi auf der SD-Karte zu „installieren“. Das Image öffnen und die Dateien kopieren funktioniert übrigens nicht, da eine Partitionstabelle auf die Micro-SD-Karte geschrieben werden muss.
  2. Raspberry Pi OS findet ihr hier, wobei ihr für das Pihole nur die „Lite“-Version braucht. Bei der Veröffentlichung dieses Artikels ist das Raspberry Pi OS (32-bit) Lite (basierend auf Debian Buster). Ihr könnt aber auch die 64-Bit-Variante installieren oder die Version mit einer Desktopumgebung, falls ihr den Raspberry Pi mit Pihole noch für andere Dinge verwenden wollt.
  3. Startet Balenaetcher, wählt die heruntergeladene und entpackte Datei und dann die Micro-SD-Karte aus, die nun mit oder ohne Adapter in eurem PC stecken sollte. Checkt bitte vorher, dass ihr die richtige Micro-SD-Karte und nicht eine externe Festplatte oder den USB-Stick auswählt (den mit dem geheimen Ordner, den Mutti niemals sehen sollte).
  4. Balenaetcher schreibt das Raspberry Pi OS auf die SD-Karte, und somit wäre das gute Stück dann auch schon bereit für den Einsatz. Steckt die Karte in euren Raspberry und stöpselt ihn mit einem HDMI- und am besten einem Netzwerkkabel verbunden an die Strombuchse. Ihr braucht zudem eine Tastatur mit Bluetooth-Adapter oder ganz oldschool eine mit Kabel.

 

 

Voreinstellungen des Raspberry Pi OS

Nachdem der Raspberry Pi gebootet hat (was ein wenig nach „Matrix“ aussieht), loggt ihr euch mit folgenden Logindaten und Passwort ein:

pi
raspberry

(beziehungsweise „raspberrz“, da die Tastatur noch auf Englisch eingestellt ist)

Ich bin zwar kein Hellseher, nehme aber an, dass ihr mit hoher Wahrscheinlichkeit eine deutsche Tastatur nutzt. Damit das auch der Raspberry weiß, gebt ihr im Terminal ein:

sudo raspi-config

In dem Konfigurationstool hüpft ihr zu Punkt 4 (Localisation Options) und stellt im nächsten Schritt die Locale unter I1 auf Deutsch (DE), die Timezone (I2) auf Berlin, das Keyboard Layout (I3) auf Deutsch (DE) und WLAN Country (I4) ebenfalls auf DE. Die Punkte wählt ihr mit der Space-Taste an oder ab und wechselt mit Tab auf „Select“ beziehungsweise „Back“. Nach etwas Gerödel verlasst ihr das Menü über „Finish“ und startet den Raspberry am besten neu, mit:

sudo reboot

Nach dem Neustart ändert ihr zunächst das Passwort, damit Mr. Robot nicht so einfach Zugriff auf euren Raspberry Pi hat. Loggt euch ein (diesmal mit hoffentlich deutschem Tastaturlayout) und gebt ein:

passwd

Gebt euer aktuelles Passwort ein (raspberry) und dann euer neues, das ihr am besten in einem Passwortmanager speichert. Um das Betriebssystem auf den neuesten Stand zu bringen, führen wir ein Update durch, mit:

sudo apt update && sudo apt -y upgrade && sudo apt-get -y dist-upgrade && sudo apt -y autoremove && sudo apt -y autoclean && sync && sudo reboot

Nach dem Neustart installiert ihr nun Pihole und macht euch erstmal zum root, da Pihole bestimmte Rechte für die Installation braucht:

sudo passwd root

Vergebt jetzt ein temporäres Passwort und loggt euch als root ein, mit:

su -


Deutsche Tastatur:

  1. sudo raspi-config
  2. Punkt 4 Localisation Options
  3. l3 Change Keyboard Layout
  4. PC generic de 105 tecles (intl.)
  5. Runtergehen auf „Andere“
  6. Das Wort Duits suchen und bestätigen
  7. Dann nach oben und DUITS auswählen
  8. und dann geht es komischerweise wie gewohnt weiter
 

 

 

Die Installation von Pihole auf dem Raspberry Pi

Pihole bietet eine übersichtliche Oberfläche, mit der ihr weitere Einstellungen vornehmen könnt. 

Falls ihr nicht wisst, welche IP euer Pihole hat, findet ihr es so raus und notiert es am besten:

hostname -I

(das ist ein großes I, wie „Ihhh“, kein L)

Jetzt installiert ihr das Pihole über das Skript:

curl -sSL https://install.pi-hole.net | bash

Sollte das nicht funktionieren, weil curl fehlt, könnt ihr auch Folgendes tun:

wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh

 

Bei Problemen findet ihr weitere Infos zur Installation auf der GitHub-Seite von Pihole. Das Skript installiert und arbeitet ein bisschen vor sich hin und wird euch zwischendurch einige Fragen stellen, die ihr wie folgt, beantworten könnt:

 

Select Upstream DNS Provider: Cloudflare oder Google oder einer eurer Wahl.

Select Lists: Wählt hier einfach alle Listen aus.

Select Protocols: IPv4 und/oder IPv6, falls ihr IPv6 nutzt.

Do you want to use your current network settings as a static address: Gebt hier die IP-Adresse des Raspberry Pi ein, die euer Router zugewiesen hat (beziehungsweise Enter), und wählt den Router als Gateway aus – meist 192.168.0.1, aber prüft es zur Sicherheit nochmal in den Einstellungen eures Routers.

Do you wish to install the web admin interface: Ja, denn hier nehmt ihr nachher Einstellungen vor und seht, was das Pihole alles filtert.

Do you wish to install the web server (lighttpd): Ja, denn ohne läuft auch die Weboberfläche nicht oder ihr müsst euch den Server anders zusammenfrickeln.

Do you want to log queries: Ja, sofern ihr die Zugriffe in Logdateien speichern wollt.

Select a privacy mode for FTL: Je nachdem, ob ihr ein öffentliches Netzwerk betreibt oder die Anfragen schlicht und einfach komplett anonymisieren wollt (hallo DSGVO), könnt ihr hier einstellen, was genau geloggt wird.

 

 

Nach der Installation zeigt euch das Skript die Adresse des Pihole als IPv4 und/oder IPv6 sowie das Passwort für die Weboberfläche an. Loggt euch wieder als root aus und auch ein Neustart kann nicht schaden:

exit
sudo passwd -dl root
sudo reboot

 

 

Pihole als DNS-Server des Routers eintragen

Im Grunde könnt ihr den Raspberry nun an seinen Zielort verfrachten. Er braucht nur noch Strom und ein Netzwerkkabel zu eurem Router. Das Pihole funktioniert im Grunde auch per WLAN, sofern es nicht der ganz alte Raspberry Pi 1 ist. Für eine stabile Verbindung, und um etwas Frickelei zu vermeiden, solltet ihr aber ein Netzwerkkabel nutzen. Wer den Raspberry Pi übrigens nicht kennt: Das Teil hat leider keinen An- oder Aus-Schalter. Ihr macht ihn an, wenn ihr das USB-Kabel anstöpselt und fahrt ihn am besten herunter mit:

sudo shutdown now

Dann könnt ihr ihn vom Strom trennen und wieder anklemmen, wenn ihr ihn einschalten wollt. Im Idealfall wird er aber die ganze Zeit durchlaufen und Trackinganfragen, Werbung und anderen Firlefanz auf DNS-Ebene blocken. Damit das funktioniert, müsst ihr das in einem letzten Schritt eurem Router mitteilen.

Pihole müsst ihr im Backend der Fritzbox als DNS-Server eintragen. Hier unterscheiden sich die Modelle bei ihrer Weboberfläche natürlich. Bei der Fritzbox findet ihr die Einstellung unter Internet > Zugangsdaten > DNS-Server.

Hier gebt ihr die IPv4- und/oder die IPv6-Adresse eures Pihole ein. Als Alternative empfiehlt sich noch ein zweiter DNS-Server, falls ihr den Raspberry mal wechseln, aber dennoch weiter Internet haben wollt. Hier bieten sich Cloudflare (1.1.1.1) oder Googles DNS-Server (8.8.8.8) an, aber ihr könnt natürlich nehmen, was ihr wollt.

 

 

Die Weboberfläche und weitere Einstellungen

Im Grunde sollte alles out-of-the-box funktionieren. Ihr könnt euch die Weboberfläche vom Pihole ansehen, indem ihr die IP-Adresse im Browser angebt und ein „/admin/“ anhängt, zum Beispiel:

http://192.168.0.10/admin/

Loggt euch mit dem Passwort aus der Installation ein und ihr könnt euch auf dem Dashboard ansehen, wie viele Anfragen vom Pihole geblockt worden sind, welche Domains und Tracker das waren und so weiter. Wenn ihr die Listen aktuell halten wollt, könnt ihr unter dem Punkt Tools > Update Gravity auf Update klicken.

Eine Allow-Liste findet ihr ebenfalls im Menü links und ihr werdet sie das eine oder andere Mal brauchen, denn manchmal blockt Pihole relativ harmlose Werbetracker oder versaut euch Links in Newslettern, da diese meist über Tracking-Tools laufen. Setzt die entsprechenden Domains dann einfach auf die Liste oder schaltet Pihole kurzzeitig mit einem Klick auf Disable aus und wählt, für wie lange er ausbleiben soll.

Wer möchte, kann das Pihole auch als DHCP-Server nutzen, DNSSEC aktivieren, als rekursiven DNS-Server mit Unbound nutzen, weitere Adblock-Listen hinzufügen oder die Allow-Lists automatisch updaten lassen. Auf die gehört übrigens auch www.t3n.de – ist ja klar. Wie ihr das alles anstellt, erfahrt ihr hier:

Als kleiner Tipp: Wenn das Blocken mal nicht direkt funktioniert, wartet ein paar Minuten, bis euer Netzwerk das Pihole als DNS-Server „vermittelt“ hat. Oder startet euer Gerät ein Mal neu. Das gleiche gilt auch, wenn ihr das Pihole im Menü kurzzeitig ausschaltet, denn ein paar Sekunden lang wird es Tracker immer noch blocken.

 


Neue Ad-Block Filterlisten in Pi-hole einbinden

 

Standardmäßig enthält Pihole 5.0 aktuell 7 Filterlisten zum Blocken von Domains bzw. Webseiten. Diese ermöglichen Pihole das Filtern von unerwünschten Inhalten wie z.B. Werbebannern oder unerwünschten Scripten. Durch das Hinzufügen weiterer Filterlisten lässt sich die Zahl der unerwünschten Domains sehr einfach erhöhen. Wir wollen euch heute zeigen, wie ihr euren Pi-hole noch besser im Ad-Blocking machen könnt.

Filterlisten gibt es wie Sand am Meer. Wichtig ist, dass diese Listen gepflegt werden, denn die Listen werden nicht nur einmal in Pihole eingebunden, sondern regelmäßig auf Änderungen geprüft. Wir haben für euch ein paar Listen bzw. Webseiten zusammengetragen:

for blocklists i’m using

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts https://mirror1.malwaredomains.com/files/justdomains http://sysctl.org/cameleon/hosts https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt https://hosts-file.net/ad_servers.txt https://raw.githubusercontent.com/HenningVanRaumle/pihole-ytadblock/master/ytadblock.txt https://github.com/anudeepND/youtubeadsblacklist/blob/master/domainlist.txt https://v.firebog.net/hosts/lists.php?type=tick

for blacklists i’m using

ad.doubleclick.net clients6.google.com googleads.g.doubleclick.net i1.ytimg.com pagead2.googlesyndication.com pubads.g.doubleclick.net r1—sn-vgqsen7z.googlevideo.com r1.sn-vgqsen7z.googlevideo.com r17—sn-vgqsenes.googlevideo.com r2—sn-vgqs7n7k.googlevideo.com r20—sn-vgqs7ne7.googlevideo.com r20.sn-vgqs7ne7.googlevideo.com r4—sn-vgqs7nez.googlevideo.com r4.sn-vgqs7nez.googlevideo.com securepubads.g.doubleclick.net static.doubleclick.net www.youtube-nocookie.com

I’ve had decent success with this regex

^r[0-9]*([-]{1,3}|.)sn-[a-z0-9]{4,}-[a-z0-9]{4,}\.googlevideo

It’s not perfect, but does block about 80% of the ads that play during streaming, but only about 40% of the ads that play before the video begins.

 

 

Einbinden neuer Filterlisten in Pi-Hole

Ab der Version 5 von Pi-Hole befindet sich die Verwaltung der Filterlisten im Gruppen-Management der Software. Ihr könnt mehrere Gruppen definieren, die dann auf unterschiedliche Blocklisten zugreifen können.

 
Nach dem Einbinden neuer Blocklisten müssen diese noch über die im Bereich Tools vorhandene Funktion Update Gravity in Pi-Hole aktiviert werden.
 
 

pihole5-list-tool

Installing Python packages

sudo apt update
sudo apt install python3-picamera

sudo apt install python3-pip

installation

If you don’t sudo pip3 install, things won’t work – possibly in a very confusing way. Definitely on Raspbian 10, so probably before that.

$ sudo pip3 install pihole5-list-tool --upgrade

usage / running

Simply run:

$ sudo pihole5-list-tool

Finishing up

After adding lists, they must be loaded by running:

$ pihole -g

 

 

 

allowlists

Currently the only source for maintained whitelists is anudeepND’s allowlist. They are presented as:

  • Allowlist Only – Domains that are safe to allow i.e does not contain any tracking or

      advertising sites. This fixes many problems like YouTube watch history,
      videos on news sites and so on.
    
  • Allowlist+Optional – These are needed depending on the service you use. They may contain some

      tracking sites but sometimes it's necessary to add bad domains to make a
      few services to work.
    
  • Allowlist+Referral – People who use services like Slickdeals and Fatwallet need a few sites

      (most of them are either trackers or ads) to be whitelisted to work
      properly. This contains some analytics and ad serving sites like
      doubleclick.net and others. If you don't know what these services are,
      stay away from this list. Domains that are safe to whitelist i.e does
      not contain any tracking or advertising sites. This fixes many problems
      like YouTube watch history, videos on news sites and so on.
    

ad/blocklists

Currently the only source for maintained blocklists is firebog.net

  • Non-crossed lists: For when someone is usually around to whitelist falsely blocked sites
  • Ticked lists: For when installing Pi-hole where no one will be whitelisting falsely blocked sites
  • All lists: For those who will always be around to whitelist falsely blocked sites

 

Zusätzliche Whitelists

Gibt es, um mal welche zu nennen:

Aber die Ersteller/Verwalter von Blocklists sollten Einträge aus solchen Whitelists eigentlich bereits aus ihren Listen entfernt haben.

 


IP-Adresse oder sonstige Netzwerkeinstellungen ändern

Reconfigure pi hole via command line: pihole -r

You can also change ip address in

/etc/pihole/setupVars.conf

 

 


 

Updating

Updating is as simple as running the following command:

pihole -up

 


 

How do I set or reset the Web interface Password?

The Web interface password needs to be reset via the command line on your Pi-hole. This can be done locally or over SSH. You will use the pihole command to do this:

pihole -a -p

You will be prompted for the new password. If you enter an empty password, the password requirement will be removed from the web interface.

Vaseline – Nicht nur ein Gleitmittel, es lässt auch Kratzer auf dem Bildschirm verschwinden

Vaseline ist nicht nur als alternatives Gleitmittel bekannt, die Creme wird auch als Haut- und Kälteschutz verwendet. Und Outdoor-Fans nehmen gerne mit Vaseline getränkte Watte als Zunder für´s Lagerfeuer. Sie kann aber noch mehr: Bei PC-Monitoren lässt Vaseline Kratzer verschwinden.

Das liegt daran, dass die Beschaffenheit der Creme auch der Beschichtung des LCD`s ähnelt. Daher ist sie besonders gut geeignet, die fehlende Beschichtung zu ersetzen. Das funktioniert aber nicht bei allen Arten von Kratzern. Je nach Beschaffenheit des Monitors und Tiefe der Kratzer, werden sie mal mehr oder weniger gut verschwinden.

DIE WERKZEUGE

Bevor du aber daran denkst, das Panel zu ersetzen oder dir einen neuen Monitor zu kaufen, solltest du diesen Life-Hack ausprobieren. Ein Töpfchen (weiße!) Vaseline kostet im Drogeriemarkt nicht mehr als 1,50 Euro. Zusätzlich benötigst du noch Wattestäbchen (ca. 50 Cent) und zwei Mikrofasertücher (ca. 1,60 Euro). Brillenträger haben meist mehrere Mikrofasertücher, da muss man nicht noch zusätzliche Tücher kaufen. Größere Tücher kann man natürlich auch in die richtige Größe schneiden.

DIE REPARATUR

Mit dem ersten Mikrofasertuch und etwas klarem Wasser wird das Display zunächst gründlich gereinigt. Anschließend trägst du mit einem Wattestäbchen etwas Vaseline auf den gesamten Riss auf. Dann verstreichst du mit zweiten Mikrofasertuch die Vaseline ohne Druck und mit kreisenden Bewegungen über den Riss. Danach lässt du die Creme ein bis zwei Minuten antrocknen und entfernst die überschüssige Vaseline.

Wiederhole die Prozedur entsprechend oft, bis der Kratzer nicht mehr oder kaum noch zu sehen ist.

WENN´S NICHT KLAPPT

Die Gesamtkosten in Höhe von ungefähr 3,50 Euro sollte einem der Reparaturversuch schon wert sein. Wenn´s nicht klappen sollte, dann kannst du die Vaseline auch noch für die Türdichtungen deines Autos nehmen. Weitere Vaseline-Hacks findest du in  YouTube-Channels wie der Slivki Show.

WordPress auf eine neue Domain übertragen / umziehen. So geht’s richtig.

Geniales Tool, das alles direkt per FTP und Assistent erledigt: Migrate Guru

 

  • auf der Quellseite das Plugin installieren
  • Ziel-Server einen FTP-Zugang einrichten, der direkt auf die Root zeigt
  • künftige URL und FTP-Zugangsdaten im Migrate-Guru auf der Quellseite eintragen
  • als Destination-Path die Root eintragen: /

 

Ein anderes gutes Tool: BackupBuddy 
(BackupBuddy hat mir übrigens auch schon geholfen einen WordPress-Fehler – Java – zu finden, welchen ein anderes, aktiviertes Plugin verursacht hat. Ansonsten mit P3 Profiler oder Query Monitor nach Fehlern suchen…)

 

Ein Umzug deines WordPress Blogs steht an, du weißt aber nicht wie du das anstellen sollst? Ich zeige dir, wie du deinen Blog richtig von einem Server auf den Anderen umziehst.

Vielleicht hast du schon einmal deinen Blog oder eine andere WordPress Installation umziehen müssen. Zum Beispiel wenn du eine Testinstallation oder ein Kundenprojekt von deinem lokalem Webserver auf den Webspace im Internet übertragen musst.

Dabei wirst du bestimmt schon mitbekommen haben, das es nicht ganz so einfach ist ein fertig konfiguriertes WordPress zu übertragen. Eigentlich sind ja nur die Dateien und die Datenbank auf den Server zu übertragen. Anschließend die Zugangsdaten der Datenbank in der Konfiguration anpassen und fertig. So einfach ist es bei WordPress leider nicht! Der Teufel steckt hier im Detail.

Bei anderen CMS Systemen wie Drupal mag das funktionieren, bei WordPress aber leider nicht. Darum habe ich ewig im Netz recherchiert um eine wirklich umfassende Lösung zu entwickeln, die auch wirklich funktioniert.

Die Probleme eines WordPress Umzugs

Es gibt viele Anleitungen für im Internet, wie man einen Server-Umzug oder Domain-Umzug von WordPress macht. Dort ist immer die Rede davon, das du das Datenbank-File, welches du per phpMyAdmin gesichert hast, mit der „Suchen/Ersetzen“-Funktion eines Texteditors die alte Domain mit der Neuen ersetzt.

So habe ich das auch immer probiert und es hat nicht funktioniert. Ich musste anschließend immer die Theme Einstellungen neu einrichten, oder einige Plugins haben nicht mehr funktioniert und mussten komplett neu eingerichtet werden. Also bin ich selber dem Problem auf den Grund gegangen.

Der Übeltäter eines WordPress Server-Umzugs oder Domain-Umzugs oder sogar nur ein Domain-Wechsel ist die Datenbank. Genauer gesagt, die Art und Weise wie WordPress die Daten dort ablegt. WordPress speichert die vollen Verzeichnispfade, sowie die Domain mehrfach serialisiert in den Einstellungen. Diese müssen vor dem Einspielen auf den neuen Server im der Datenbank Datei auf die neuen Werte korrigiert werden.

Und es kommt noch schlimmer. WordPress speichert diese Einstellungen zusätzlich noch serialisiert. Da heißt die Anzahl der Zeichen wird zusätzlich auch gespeichert. Dadurch funktioniert ein einfaches Suchen und Ersetzen funktioniert also nicht.

Wenn ich jetzt z.B. die Domain. in der Datenbank durch http://meine-neue-seite.de ersetze, stimmt zwar die Domain, aber die Anzahl der Zeichen hat sich geändert. Hier müsste dann anstelle einer 24 muss dort dann eine 29 stehen, wie nachfolgendes Beispiel zeigt.

01_wp_sicherung_serialisierte_anzahl

Serialisierte Zeichenketten in WordPress

Diese Änderungen müssen nicht nur für die Domain erfolgen sondern auch für die Einträge in der Datenbank, wo WordPress den Pfad des Verzeichnis gespeichert hat. In meinem Fall waren das bei einer sehr großen WordPress Webseite, mit ca. 60 Plugins ca. 13000 Einträge. Wie du siehst, das kann man sich nicht mehr per Hand erledigen.

Nachdem ich dir jetzt erläutert habe, wo die Probleme bei einem WordPress Umzug liegen, zeige ich dir im nächsten Abschlitt die Lösung dieser Aufgabe.

So ziehst du dein WordPress richtig um

In dieser Schritt für Schritt – Anleitung zeige ich dir wie du dein WordPress sicher und einfach auf den neuen Webspace überträgst. Und anschließend funktionieren auch wirklich alle Einstellungen wie gewohnt.

Schritt 1

Als erstes lädst du alle Dateien deiner WordPress-Installation mit einem FTP-Programm von dem Server auf deinen lokalen Computer herunter. In dem Fall meine ich natürlich die Quell-Installation. Ich verwende dafür das kostenlose FTP Programm FileZilla. Du kannst dafür aber auch jedes andere FTP-Programm verwenden.

Das kann je nach Größe deines WordPress Blogs einige Zeit in Anspruch nehmen. Bei mir waren es nach ca. 2 Jahren ca. 4 GB. Sicherlich auch, weil hier einige Komplettsicherung meines Backup-Plugins dabei waren.

Schritt 2

Jetzt installierst du in deinem bestehenden und noch lauffähigen WordPress-Blog das Plugin „WP Migrate DB„. Dieses Plugin findest du wie gewohnt über die Plugin Suche von WordPress oder in im offiziellen Plugin Directory auf Wordpress.org.

Das Plugin gibt es in einer kostenlosen und in einer kostenpflichtigen Version. Die kostenlose Version reicht aber für deinen Umzug aus und es leistet sehr gute Dienste. Nach erfolgreicher Installation findest du das Plugin unter dem Menüpunkt „Werkzeuge -> Migrate DB“.

02_wp_sicherung_wp_migratel

WordPress Plugin WP Migrate DB

„WP Migrate DB“ zeigt dir auf der Migrate-Seite die derzeitigen Einstellungen für deine Domain und deinen Server-Pfad in den feldern unter „Find“. Hier befindet sich deine WordPress Installation derzeitig. Jetzt musst du nur in den rechten Feldern unter „Replace“ den neuen Domain-Namen und den neuen Server-Pfad eintragen. Die Felder für die URL und den Pfad sind bereits aufgeführt.

 

 

03_wp_sicherung_wp_migrate_einstellungen_1

WP Migrate DB – Pfade eintragen

Wenn sich zum Beispiel deine Domain oder der Server-Pfad nicht ändert, musst du hier in den Replace-Feldern die gleichen Daten eintragen, wie bei „Find“. Den Server-Pfad des neuen Servers erfährst du aus der PHPinfo.

Leere Textdatei unter phpinfo.php abspeichern und folgendes einfügen:

<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

Danach per FTP-Client auf den Server übertragen und via http://www.meine-seite.de/phpinfo.php aufrufen. 

Den absoluten Pfad findet man unter dem Punkt:

_SERVER[„DOCUMENT_ROOT“]

 


 

Exkurs: Den absoluten Pfad ermitteln

Für einige arbeiten im Internet ist es erforderlich den absoluten Pfad (DOCUMENT ROOT) zu ermitteln, am einfachsten ist dies mit einer einfachen PHP – Datei. Dazu öffnen wir einen ganz normalen Texteditor (nicht Word!), und kopieren den nachfolgen Code in diese leere Textdatei und speichern diese Datei unter dem Dateinamen absoluter-pfad.php ab.

Hier der Code:

<?php $pfad = getcwd();
echo $pfad;
?>

Nun laden wir diese Datei mittels FTP in das Verzeichnis, von dem wir den absoluten Pfad ermitteln wollen, nach dem hochladen rufen, wird die Datei absoluter-pfadt.php im Browser auf, also www.ihre-domain.de/absoluter-pfad.php oder www.ihre-domain.de/verzeichnis-xyz/absoluter-pfad.php und bekommen nun den absoluten Pfad angezeigt.

 

Absoluten Pfad ermitteln auf einem kleinen Umweg

Das funktioniert am einfachsten über das Anti-Malware-Tool von GOTMLS.NET. Beim Scannen wird das Stammverzeichnis unter „Scan Details“ angezeigt. (Außerdem holt man sich keine Malware auf den neuen Server 😜 )
 

 


 

 

04_wp_sicherung_wp_migrate_einstellungen_2

WP Migrate DB – Erweiterte Einstellungen

Im unteren Bereich kannst du weitere Einstellungen anhaken. Dazu musst du den Bereich „Advanced Options“ aufklappen. Hier hast du zusätzlich die Möglichkeit zu entscheiden, ob du bestimmte DB-Einträge, wie Revisionen, Spam.Kommentare oder temporär gecashte Daten nich mit exportieren möchtest. Damit kannst du dein Export-File kleiner halten. Jetzt solltest du noch den Haken bei „Compress file with gzip“ rausnehmen, damit du ein unkomprimiertes Datenbank-File erhälst.

 

Anschließend klickst du auf den Button „Migrate“ und startest damit den Export. Jetzt öffnet sich ein Fenster, welches dich über den Export-Fortschritt der Datenbank informiert. Je nach Größe deiner Datenbank kann dieser Vorgang einige Minuten in Anspruch nehmen. Im Anschluss kannst du die fertige Export-Datei auf deinen PC downloaden.

05_wp_sicherung_wp_migrate_einstellungen_3

WP Migrate DB – Exportvorgang

Schritt 3

So, jetzt musst du nur noch das geänderte Datenbank-File in die neue MySQL Datenbank importieren. Das machst du am besten wieder über phpMyAdmin. Wenn die Datei zu groß ist um Sie mit phpMyAdmin zu importieren, kannst du zusätzlich den MySQL Dumper installieren und dieses Tool für den Import der WordPress-Datenbank nutzen.

06_wp_sicherung_db_import

WP Datenbank über phpMyAdmin importieren

Schritt 4

Als letzten Schritt musst du natürlich noch die Datei wp-config.php anpassen. Das hatte ich noch vergessen und der Tom hat mich in den Kommentaren darauf aufmerksam gemacht. Die Datei wp-config.php findest du im Hauptverzeichnis deiner WordPress-Installation. Hier musst du jetzt die Zugangsdaten deiner neuen Datenbank eintragen. Diese hast du vorhin schon einmal benutz, wo du dich in die phpMyAdmin Oberfläche deines neuen Providers eingeloggt hast. Dein Provider stellt dir die vollständigen Zugangsdaten zur Verfügung.

07_wp_config_anpassen

Zugangsdaten in der wp-config.php anpassen

Tipp zum MySQL Import

Viele Webspaces haben auch einen SSH Zugang. Damit kannst du natürlich die Datenbank-Sicherung auch per Linux-Shell in die neue Datenbank einspielen. Der Vorteil ist hierbei, das du nicht an irgendwelche Ausführzeiten von PHP gebunden bist. Meistens geschieht das komplett fehlerlos und wesentlich schneller als.

Als letztes musst du jetzt gegebenenfalls noch die Domain selber auf den neuen Server umziehen. Wenn du deinen Blog mit einer neuen Domain betreiben willst, entfällt dieser Punkt natürlich. Den Domian-Transfer startest du über die Admin-Oberfläche deines Hosting-Anbieters. Wie das da funktioniert erfährst du auf den Hilfe-Seiten deines Hosters.

Jetzt sollte dein WordPress Blog auf dem neuen Server wieder so funktionieren, wie auf dem alten Webserver. Alle Einstellungen der Plugins sowie des Themes sind erhalten geblieben und funktionieren wieder wie gewohnt.

Fazit

Mit ein klein bisschen Vorbereitung ist es problemlos möglich einen WordPress-Blog auf einen anderen Server umzuziehen. Ich habe diese Schritt für Schritt Anleitung entwickelt, weil ich selber sehr oft damit Problem hatte.

Wenn dir diese Anleitung weiter geholfen hat, schreibe mir doch einfach einen kleinen Kommentar unter diesem Beitrag. Ich würde mich sehr freuen zu erfahren, wie es dir beim WordPress-Umzug ergangen ist.

Geschwindigkeit deiner Website optimieren

Wir alle kennen die Tools zum Messen der Geschwindigkeit einer Website: Pagespeed, YSlow, Pingdom, Webpagetest oder das Kombitool aus Pagespeed und YSlow GTMetrix. Aber wie wird zum Beispiel Browser Caching aktiviert? Wer sich damit nicht auskennt, der findet viele, viele Artikel dazu, die viel Code in sich haben und nichts erklären. Hier ist noch einer davon. 😉
Über die vergangenen Jahre habe ich dieses Gist immer wieder ergänzt, verbessert und korrigiert. Entstanden ist eine sehr praktische Sammlung von Einstellungen, die fail safe die jeweiligen Möglichkeiten des Hosters ausnutzen. Die entsprechenden Anweisungen sind in If-Abfragen gekapselt, so dass es bei guten Hostern keine Probleme mit nicht unterstützen Modulen geben sollte.

Die Einstellungen teilen sich in drei Bereiche: Komprimierung (Deflate/GZip), Browser Caching (Ablaufdatum für statische Caching-Inhalte definieren) und dem Setzen von sinnvollen Headern (Keep Alive, Accept Encoding, etc.).

#
# Sources:
# http://stackoverflow.com/questions/7704624/how-can-i-use-gzip-compression-for-css-and-js-files-on-my-websites
# http://codex.wordpress.org/Output_Compression
# http://www.perun.net/2009/06/06/wordpress-websites-beschleuinigen-4-ein-zwischenergebnis/#comment-61086
# http://www.smashingmagazine.com/smashing-book-1/performance-optimization-for-websites-part-2-of-2/
# http://gtmetrix.com/configure-entity-tags-etags.html
# http://de.slideshare.net/walterebert/die-htaccessrichtignutzenwchh2014
# http://de.slideshare.net/walterebert/mehr-performance-fr-wordpress
#
<IfModule mod_deflate.c>
# Insert filters / compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/vtt 
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/js
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/atom+xml 
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json 
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 
AddOutputFilterByType DEFLATE application/x-font-ttf 
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json 
AddOutputFilterByType DEFLATE font/opentype 
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
# Exception: Images
SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png|svg)$ no-gzip dont-vary
# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 month" 
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/html "access plus 1 minute"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType text/x-component "access plus 1 month" 
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType application/javascript "access plus 1 months"
ExpiresByType application/x-javascript "access plus 1 months"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds" 
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" 
ExpiresByType text/cache-manifest "access plus 0 seconds" 
ExpiresByType audio/ogg "access plus 1 month" 
ExpiresByType video/mp4 "access plus 1 month" 
ExpiresByType video/ogg "access plus 1 month" 
ExpiresByType video/webm "access plus 1 month" 
ExpiresByType application/atom+xml "access plus 1 hour" 
ExpiresByType application/rss+xml "access plus 1 hour" 
ExpiresByType application/font-woff "access plus 1 month" 
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" 
ExpiresByType application/x-font-ttf "access plus 1 month" 
ExpiresByType font/opentype "access plus 1 month" 
</IfModule>
## EXPIRES CACHING ##
#Alternative caching using Apache's "mod_headers", if it's installed.
#Caching of common files - ENABLED
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|swf|js|css|gif|png|jpg|jpeg|txt|html|htm)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
 <FilesMatch "\.(js|css|xml|gz)$">
 Header append Vary Accept-Encoding
 </FilesMatch>
</IfModule>

<filesMatch "\\.(js|js.gz)$">
Header set Cache-Control "max-age=604800, private"
</filesMatch>
<IfModule mod_gzip.c>
 mod_gzip_on Yes
 mod_gzip_dechunk Yes
 mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
 mod_gzip_item_include handler ^cgi-script$
 mod_gzip_item_include mime ^text/.*
 mod_gzip_item_include mime ^application/x-javascript.*
 mod_gzip_item_exclude mime ^image/.*
 mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
# Set Keep Alive Header
<IfModule mod_headers.c>
 Header set Connection keep-alive
</IfModule>
# If your server don't support ETags deactivate with "None" (and remove header)
<IfModule mod_expires.c> 
 <IfModule mod_headers.c> 
 Header unset ETag 
 </IfModule> 
 FileETag None 
</IfModule>

Flammkuchen mit getrockneten Tomaten und Chorizo

 

Ein Flammkuchen mit getrockneten Tomaten und würziger Chorizo? Aber gern! Dieser fantastische Flammkuchen ist eine gelungene Abwechslung zum Flammkuchen elsässer Art.

Hier sind die Zutaten für 2 Flammkuchen

2 Flammkuchenböden
3 EL Mascarpone
1 EL Tomatenmark
Salz&Pfeffer
6 getrocknete Tomaten in Öl (das Öl abtupfen)
100 Gramm getrocknete Chorizo in Würfeln
2 EL frischen Schnittlauch in Röllchen geschnitten

Diese Flammkuchen müsst Ihr probieren!

flammkuchen

 

Das Topping mit der spanischen Chorizo, den fein geschnittenen Frühlingszwiebeln, dem Schafskäse, und dem Sauerrahm- Guss mit einer leichten Prise Knoblauch ergeben eine tollen Kombination. Der frische Basilikum rundet das ganze ab.

20140706_174836

Hier ist das Rezept dafür:

Zutaten für den Teig:

250g Weizenmehl
50g Buchweizenmehl
20g Hefe
160g kaltes Wasser
1 EL Olivenöl
8g Salz
1 Prise Zucker

Zutaten für den Belag:

200g Schmand oder saure Sahne
Salz, Pfeffer
1 Knoblauchzehe
100g Chorizo in dünne Scheiben
200g rote und gelbe Kirschtomaten
250g Schafskäse
1 Bund Frühlingszwiebeln
frische klein blättriger Basilikum
Salz,Pfeffer, Olivenöl

Die Zutaten für den Hefeteig in die Rührschüssel geben. Alles mit dem Knethaken des Küchengerätes bzw. des Handrührgerätes zu einem glatten Teig verkneten. Auf eine bemehlte Arbeitsfläche geben und noch einmal von Hand kurz durcharbeiten, abgedeckt mit einem Geschirrhandtuch ruhen und gehen lassen.
In der Zwischenzeit den Sauerrahm- Guss zubereiten. Dafür den Sauerrahm in eine Schüssel geben, fein geschnittenen Knoblauch dazugeben und mit Salz und Pfeffer abschmecken. Die Frühlingszwiebeln waschen und das grüne großzügig abschneiden. Die Frühlingszwiebeln in feine Ringe schneiden. Die Tomaten waschen und vierteln oder in dünne Scheiben schneiden. Den Schafskäse zerbröseln.

Wenn der Hefeteig gegangen ist den Teig nochmals auf einer bemehlten Arbeitsfläche durchkneten und auf Backpapier dünn ausrollen und am Rand einschlagen, über den Finger ziehen, so dass sozusagen ein zopfähnlicher Rand entsteht. Den Sauerrahm- Guss darauf verteilen. Danach den zerbröselten Schafskäse darauf streuen und den Teig mit der in Scheiben geschnittenen Corizo belegen. Die geschnitten Tomaten und die Frühlingszwiebeln darauf verteilen und das ganze noch mit etwas Meersalz würzen.

20140706_145304
Den Flammkuchen auf ein Kuchengitter ziehen und im vorgeheizten Backofen bei 250 Grad ( Umluft 200 Grad) 12 Minuten backen. Aus dem Ofen nehmen, mit dem abgezupften Basilikum bestreuen und mit etwas Olivenöl beträufeln. Mit frischem Pfeffer aus der Pfeffermühle würzen, aufschneiden und servieren.

20140706_174815

deliciousdishesaroundmykitchen.wordpress.com

Steak auf Nummer sicher

[et_pb_section admin_label=“Sektion“ fullwidth=“off“ specialty=“off“][et_pb_row admin_label=“Zeile“][et_pb_column type=“1_3″][et_pb_image admin_label=“Bild“ src=“https://mlcauhw99cua.i.optimole.com/w:auto/h:auto/q:mauto/f:best/https://wissen.bruda.de/wp-content/uploads/entrecote-steak.png“ show_in_lightbox=“off“ url_new_window=“off“ animation=“left“ sticky=“off“ align=“left“ force_fullwidth=“off“ always_center_on_mobile=“on“ use_border_color=“off“ border_color=“#ffffff“ border_style=“solid“] [/et_pb_image][/et_pb_column][et_pb_column type=“2_3″][et_pb_text admin_label=“Text“ background_layout=“light“ text_orientation=“left“ text_font_size=“14″ use_border_color=“off“ border_color=“#ffffff“ border_style=“solid“]

500g Entrecôte will man nicht verhunzen. Ich sag Euch wie das gelingt: rückwärts braten. Man kümmert sich zuerst um die Kerntemperatur und dann ums Anbraten.

Einen Gefrierbeutel (am besten so einen mit Zipperverschluss) mit Thymian, Rosmarin, etwas Knoblauch und einem guten Schuss Pflanzenöl bestücken. Fleisch ordentlich salzen, ab in den Beutel und über Nacht im Kühlschrank ziehen lassen. Im Beutel sollte dabei möglichst wenig Luft eingeschlossen sein.

  • Keine Sorge. Das Salz macht das Fleisch nicht trocken. Im Gegenteil: es wird dadurch herrlich mürbe und geschmacksintensiv.

 

  • Ein Stündchen wandert der verschlossene Beutel bei ca. 55°C in den Ofen.

 

  • Jetzt in einer Pfanne wenig (!) Pflanzenöl erhitzen und das gut trockengetupfte Steak bei sehr großer Hitze von jeder Seite 3 bis 5 Minuten braun braten. Es soll ordentlich Farbe bekommen, denn die Röstaromen bringen Geschmack.

 

  • 5 Minuten ruhen lassen, pfeffern, gegen die Faser in Streifen schneiden und mit bestem Olivenöl beträufeln.

 

>>> Dazu passt ein schlichter Römersalat mit Ceasar-Dressing, frischen Tomaten und roten Zwiebeln.

PS: Wer hat, kann mit einem Fleischthermometer die Kerntemperatur checken. 55-57°C sind das Ziel.

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]

Windows 10: Boot-Vorgang beschleunigen

Eigentlich sollte das Upgrade auf Windows 10 den Boot-Vorgang beschleunigen. Auf manchen Rechnern passiert aber das Gegenteil. Was kann man dagegen machen?

Wer es gewohnt war, dass sein Notebook in ungefähr 20 Sekunden hochfährt, wird einen Boot-Vorgang, der eine Minute oder noch länger dauert, nicht akzeptieren. Das geschilderte Problem kann auftreten, wenn in Notebooks eine zweite Grafikkarte eingebaut ist und der Grafikkartentreiber noch nicht mit Windows 10 zusammenarbeitet.

So sollen veraltete Treiber einiger Radeon-Karten von AMD genau die beschriebenen Boot-Verzögerungen mit einem schwarzen Bildschirm hervorrufen. Das Problem bei einer AMD-Grafikkarte lässt sich wie folgt beheben:

  1. Laden Sie den aktuellen AMD-Treiber für die Grafikkarte herunter und installieren ihn.
  2. Nach einem Reboot öffnen Sie die Registry (Windowstaste+R, anschliessend regedit eintippen).
  3. Suchen Sie nach dem Schlüssel «EnableULPS» und ändern Sie dessen Wert von «1» auf 0.

Achtung: Ähnlich lautende Schlüssel wie «EnableULPS_NA» ändern Sie bitte nicht. Führen Sie nach der Anpassung einen weiteren Neustart durch. Der Boot-Vorgang sollte anschliessend deutlich flotter ablaufen.

iPhone-Kalender: Termine auf die Minute genau eintragen

Einen neuen Termin um exakt 12:33 Uhr eintragen? Das können Sie beim iPhone-Kalender vergessen. Neue Termine lassen sich nur im 5-Minuten-Abstand eintragen, also entweder 12:30 Uhr oder 12:35 Uhr. Mit einem Trick klappt’s trotzdem minutengenau.

Termine minutengenau statt in 5er-Schritten

Beim Eintragen eines neuen Termins zeigt das Auswahlfeld für die Zeit die Minuten nur im 5-Minuten-Abstand. Mit folgenden Schritten überlisten Sie den iPhone-Kalender und tragen auch krumme Termine ein:

1. Tragen Sie zuerst wie gewohnt einen neuen Termin in den Kalender ein, und tippen Sie auf die Zeitangabe, um die Start- und Endzeiten einzustellen.

apple-iphone-ipad-kalender-termine-zeit-anfang-ende-5-minuten-schritte-minutengenau-ganztaegig-aktivieren-einschalten

2. Wie immer zeigt das Auswahlrad für die Minuten nur die 5-Minuten-Schritte. Um das Auswahlrad zu überlisten, aktivieren Sie einmal die Option “Ganztätig”…

apple-iphone-ipad-kalender-termine-zeit-anfang-ende-5-minuten-schritte-minutengenau-ganztaegig-aktivieren-einschalten-2

3. …und schalten die “Ganztätig”-Optionen danach wieder aus. Und siehe da: Jetzt können Sie mit dem Minuten-Wahlrad alle der 60 Minuten auswählen. Na also, geht doch.

apple-iphone-ipad-kalender-termine-zeit-anfang-ende-5-minuten-schritte-minutengenau-ganztaegig-aktivieren-einschalten-3