Brother MFC-8520DN Toner resetten

Ich hatte nun schon diverse Drucker von Brother und bisher war es immer so, dass der Drucker zwar gesagt hat, der Toner wäre leer, dies aber nicht der Fall ist. So habe ich bereits beim Brother MFC-9140CDN über den Reset berichtet. Es hat sich gezeigt, dass das Resetmenü wohl bei jedem Drucker vorhanden ist. Da ich imense Probleme mit meinem MFC-9140CDN hatte, habe ich mir einen MFC-8520DN geholt und bin bisher sehr zufrieden. Jetzt ist bei mir auch die Meldung gekommen und ich möchte berichten, wie ich den Toner resetten konnte.

 

Toner Resetten

Ich werde eine Kurzanleitung reinstellen, da der Reset des Toners wirklich sehr leicht sein. Wenn ich es etwas ausführlicher machen soll, sagt mir einfach im Kommentar Bescheid.

  1. Gerät muss angeschalten sein
  2. Die Frontklappe öffnen (dort wo man normal den Tonern tauschen kann)
  3. Taste „Storno“ drücken
  4. Im Menü ist nun „Trommel resett? Ja, Nein“ zu lesen.
  5. Die Tastenkombination *00 (Stern – Null – Null) drücken
  6. Im Display erscheint „Ausgeführt“
  7. Toner ist wie von Zauberhand wieder voll

Hier noch ein paar Bilder:

Weitere Drucker

Diese Methode sollte bei der gesamten Brother MFC-85** Serie funktionieren. Sollte ein Drucker nicht funktionieren, oder sollte ihr noch einen weiteren Drucker finden, sagt mir einfach im Kommentar Bescheid, ich werde den Drucker dann in diese Liste mit aufnehmen:

  • Brother MFC-8500
  • Brother MFC-8500 J
  • Brother MFC-8510 DN
  • Brother MFC-8515 DN
  • Brother MFC-8520 DN (getestet von mir)
  • Brother MFC-7460 DN

Brother MFC 8520DN Trommel resetten

Die Trommel ist ein essentielles Teil beim Brother MFC 8520DN. Sollten Fehler im Druckbild sein, also etwas wie wiederholende Punkte, Fehler oder Flecken, muss die Trommel ersetzt werden. Leider hat die Trommel des Brother Druckers aber eine programmierte Lebensdauer und diese liegt meist weit unterhalb der eigentlichen Lebensdauer. Brother hat aber auch eine Lösung hierfür und der Programmierte Tod kann hinaus gezögert werden.

Trommel Reset

1. Gerät einschalten

Zunächst muss das Gerät eingeschaltet sein.

Meldung Toner fast leer bei MFC-8520DN

Meldung Toner fast leer bei MFC-8520DN

2. Frontklappe öffnen

Um überhaupt in das Sondermenü zum reseten der Trommel zu kommen, muss die Frontklappe geöffnet sein.

MFC-8520DN mit geöffneter Frontklappe

MFC-8520DN mit geöffneter Frontklappe

3. Die Taste „Storno“ einmal drücken

Nun muss die Taste Storno einmal kurz gedrückt werden. Im Display erscheint „Trommel ersetzt?“, hier wählt man ja aus und fertig ist das Ganze. Die Trommel ist nun resettet und kann weiter genutzt werden.

Brother MFC-8520DN Storno Taste

Brother MFC-8520DN Storno Taste

Brother MFC-8520DN Spezialmenü zum Resetten der Trommel

Brother MFC-8520DN Spezialmenü zum Resetten der Trommel

Die Trommel ist wie von Zauberhand erneuert worden

Die Trommel ist wie von Zauberhand erneuert worden

 

NF0003: „Computer, einen Kaffee bitte!“

Nerdfact 0003

Jeder kennt das HTTP (Hypertext-Transfer-Protocol), aber kennt ihr auch das HTCPCP? Das Hyper Text Coffee Pot Control Protocol (zu Deutsch Hypertext-Kaffeekannensteuerungsprotokoll) dient zur Steuerung und Überwachung von vernetzten Kaffeemaschinen. Es war ursprünglich als Aprilscherz gedacht, ist aber hinreichend genau beschrieben, um tatsächlich eingesetzt zu werden.

Gerösteter Kaffee

Gerösteter Kaffee

Weitere Fakten zum HTCPCP

  1. Am 1. April 2014 wurde das Protokoll durch RFC 7168  erweitert. Das Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA) erweitert das Protokoll für das Kochen von Tee.
  2. Ähnlich wie http:// und https:// für Websites kann man die Kaffeemaschine mit coffee:// ansteuern.
  3. Ähnlich wie der Fehlercode „404 Not Found“ bei Websites gibt es beim HTCPCP zum Beispiel auch den Fehlercode „418 I’m a teapot“

Quellen

 

NF0002: Kohlestaub als Wimpernersatz

Nerdfact 0002

Der besonders bei Frauen beliebte Mascara (das Zeug mit der Bürste das auf die Wimpern kommt) bestand ursprünglich aus Kohlestaub und Vaseline und ist aus einem Unfall entstanden. Die Amerikanerin Mabel Williams hat sich beim Kochen die Augen verbrannt und brauchte Haarersatz. Daraus entstand dann später die Marke „Maybellin“ eine Wortkombination aus Mabel und Vaseline.

Wimperntusche auf dem Auge einer Frau

Wimperntusche auf den Augen einer Frau

Weitere Fakten zu Mascara

  1. Der Bruder hat die Rezeptur von Mabel Williams weiter verbessert und fortan als Makeup-Produkt vertrieben.
  2. Die Firma Maybelline existiert seit 1913 und wurde 1996 von dem französischen Kosmetikkonzern L’Oréal erworben.
  3. Heute enthält Mascara teilweise auch Kunstseide- oder Nylon-Fasern, so dass zum optischen Effekt auch eine tatsächliche physische Verlängerung kommt.

Quellen

 

NF0001: Asche auf der Reise zum Pluto (und darüber hinaus)

Nerdfact 0001

Auf der Sonde „New Horizons“, die uns vor kurzem mit den vielen tollen Bildern versorgt hat und noch weiter versorgen wird, befindet sich die Asche von Clyde Tombaugh dem Entdecker von Pluto.

Aschebehälter auf der New Horizon

Die Asche von Clyde Tombaugh in einem Behälter auf der New Horizons (Credit: JHU/APL)

Weitere Fakten zur New Horizons

  1. Die Verbindungsgeschwindigkeit der Daten zwischen Erde und Sonde ist so gering, dass es noch mehrere Monate dauern wird, bis alle Bilder in der höchsten Auflösung übertragen sind. Wir werden also noch viele Bilder von Pluto bekommen, die zuvor noch nie ein Mensch gesehen hat.
  2. Es sind allerhand weiterer Dinge auf New Horizons angebracht: Eine CD mit 434000 Namen, Fotos des Projektpersonals, Münzen aus Florida (Start) und Maryland (Bau der Sonde), eine US-Flagge (wie könnte es auch anders sein :D), ein kleines Stück von „SpaceShip One, eine Briefmarke, …
  3. Auf der Plakette zum Stück von SpaceShip One ist Folgendes geschrieben: „To commemorate its historic role in the advancement of spaceflight, this piece of SpaceShip One is being flown on another historic spacecraft: New Horizons. New Horizons is Earth’s first mission to Pluto, the farthest known planet in our solar system. SpaceShip One was Earth’s first privately funded manned spacecraft. SpaceShip One flew from the United States of America in 2004.“

Quellen

 

Windows 10 auf USB-Stick installieren und bootfähig machen

Ich schäme mich fast dafür, aber für manche Fälle ist es sehr praktisch ein echtes Windows (ohne virtuelle Maschine) auf einem System zu haben. Sei es um Datenrettung von Kunden zu machen oder mal wieder ein paar alte Spiele zu spielen ;).

Der offizielle Weg: „Windows to Go“

Für Windows 10 Enterprise gibt es die Funktion „Windows to Go“ zu installieren. Alles schön und gut, aber ich habe kein Windows 10 Enterprise sondern nur ein original Windows 10 Education. Es heißt zwar, dass die Education angeblich die Enterprise sein soll, aber natürlich ist das nicht so. Mein Versuch sind alle kläglich gescheitert.

Der inoffizielle Weg: Ich benutze ein externes Tool

Wie auch für den offiziellen Weg ist es für den inoffiziellen Weg empfehlenswert ein echtes, installiertes Windows auf einem Rechner seiner Wahl zu haben.

Was wird benötigt?

Eigentlich braucht man nicht viel:

  • Einen schnellen USB-Stick. Ich empfehle USB 3.0 mit mindestens 32 GB. Diese sind nicht mehr so teuer. Ich habe mich für folgenden USB-Stick entschieden: SanDisk Extreme 64 GB USB-Stick USB 3.0 schwarz
  • Ein Windows Image seiner Wahl. Es kommt drauf an, für was ihr eine Lizenz habt und welches Image ihr dann auf dem USB-Stick haben wollt. Die Images gibt es offiziell bei Microsoft zum Download und diese haben in der regel eine .iso-Endung.
  • Ein externes Tool: GImageX

Howto: Wie installiere ich Windows 10 Education auf einem USB Stick

    1. Zunächst muss man das Image brennen, entpacken oder einbinden. Ihr müsst auf eine Datei auf dem Windows-Image zugreifen.
    2. Das Tool GImageX in der richtigen Variante muss heruntergeladen werden, entpackt und gestartet werden.
    3. Der USB-Stick muss formatiert werden (NTFS) und als „aktiv“ markiert werden. Wie das Formatieren geht, setze ich mal als gegeben voraus. Zum aktivieren geht man wie folgt vor: Verwalten -> Datenträgerverwaltung -> USB-Stick auswählen (rechtsklick) -> Partition als aktiv markieren
    4. GImageX starten und im oberen Reiter „Apply“ auswählen.
    5. Unter Source wählt man die Datei „X:\sources\install.wim“ aus. X ist dabei das Laufwerk des Images. Solltet ihr das Image entpackt haben, einfach im sources-Ordner danach suchen.
    6. Unter Destination den formatierten USB-Stick auswählen
    7. „Apply“ anklicken. Nun wird die Windows-Struktur auf dem USB-Stick kopiert. Dies kann einige Zeit in Anspruch nehmen.
    8. Nun die Konsole als Administrator öffnen: Start -> „cmd“ in Suchleiste eingeben -> Rechtsklick auf „Eingabeaufforderung“ und „Als Administrator ausführen“
    9. Ab sofort ist „X“ mit dem Laufwerkbuchstaben eures USB-Stick zu ersetzen
    10. X:
      cd Windows\System32
      bcdboot.exe X:\Windows /s X: /f ALL
      

Fertig! Nun muss man lediglich im Bios noch einstellen, dass von USB-Stick als erstes gebootet werden soll und schon hat man ein Bootfähiges Windows 10 von einem USB-Stick.

Kleine Anmerkung zu Windows 10

Ich bin eigentlich Linux Nutzer und habe sonst immer mit Windows 7 Pro gearbeitet. Leider ist in der Arbeitswelt Windows noch starkt verbreitet, daher muss man sich ja auch weiterbilden. Ich persönlich finde Windows 10 sehr gelungen. Man kann es gut mit einem aufgehübschten Windows 7 vergleichen.

Meine Quelle für die Anleitung: http://www.howtogeek.com/196817/how-to-create-a-windows-to-go-usb-drive-without-the-enterprise-edition/

Mit Magento 1.9 Umsätze für die Umsatzsteuervoranmeldung korrekt berechnen

Halli Leute,

Magento ist ja schon ein tolles System, aber geht es um die deutsche Bürokratie, wird Magento etwas nachlässig. Mit ein bisschen Trickserei kriegt man dies aber auf in den Griff. Es stellten sich mir folgende Probleme:

  1. Wie berechne ich die Umsätze korrekt aufgeschlüsselt nach Steuersatz korrekt? Denn möglich sind 19%, 7% und 0% MwSt.
  2. Wie arbeitet Magento, und was bedeuten die Zahlen beim Export

Naiver Ansatz: Steuerbericht

Das Berichtswesen von Magento bietet nur die Basics. So kann man sich folgende Berichte erstellen:

  • Umsatzbericht (Bestell-Bericht)
  • Steuerbericht

Eigentlich sollte das ja schon reichen. Leider fehlen beim Steuerbericht aber die Steueranteile mit 0% MwSt. (in der Regel Auslandsbestellungen). Klar, warum sollten diese auch auftauchen, es wird ja keine Steuer berechnet. Leider möchte das Finanzamt aber genau diese Umsätze auch aufgeschlüsselt haben.

Zunächst: Berichte verstehen

ACHTUNG: Bevor ihr irgend etwas macht, müssen die Berichte aktuell sein. Es hat mich etwas Zeit gekostet zu erkennen, dass meine nicht aktuell sind, dadurch stimmen die Zahlen nicht mehr. Unter Bericht -> Statistiken aktualisieren alle auswählen und „Gesamt-Statistiken aktualisieren“ auswählen.

Mehr als die 2 angesprochenen Berichte braucht man eigentlich nicht. Zunächst sollte man aber verstehen, was einem da angezeigt wird.

Bericht: Bestellungen

Durch die Filter kann man alle möglichen Zeiträume, Übersichten und Co erstellen lassen. Ich habe folgende Einstellungen gewählt:

  • Bestellerstellungs-Datum
  • Zeitraum: Monat
  • 01.01.2015 bis 31.03.2015 (erstes Quartal)
  • Leere Zeilen: Nein
  • Akutelle Werte: Nein

Dadurch wird mir eine Tabelle angezeigt, die nach Monaten getrennt ist und in der letzten Zeile eine Gesamtsumme.

Die Punkte

  • Zeitraum
  • Bestellungen
  • Verkaufte Artikel

sollten selbsterklärend sein.

  • Gesamt: Die Gesamtsumme der Einnahmen inklusive aller Steuersätze. Also egal ob 0%, 19% oder 7% MwSt. Die Gutschriften wurden hier noch NICHT abgezogen. Stornierte Bestellungen sind hier nicht enthalten.
  • Berechnet: Die Summe der in Rechnung gestellten Beträge. Also der Beträge für die eine Rechnung ausgestellt worden ist. Sind keine Bestellungen mehr offen (oder on hold), sollten die Werte „Gesamt“ und „Berechnet“ identisch sein. Stornierte Bestellungen sind hier nicht enthalten.
  • Erstattet:  Die Summe der erstellten Gutschriften im Berichtszeitraum. Stornierte Bestellungen sind hier nicht enthalten.
  • Steuer: Der gesamte Steuerbetrag im Berichtszeitraum zusammengesetzt aus 19% und 7% MwSt. 0% MwSt. sind hier natürlich nicht enthalten.Stornierte Bestellungen sind hier nicht enthalten.

Die nächsten 3 Punkte

  • Versand: Gesamtsumme der Versandkosten ohne Steuer. Stornierte Bestellungen sind hier nicht enthalten.
  • Rabatt: Gesamtsumme des gewährten Rabatt
  • Storniert: Stornierte Bestellungen, also Bestellungen die vor der Rechnungserstellung geschlossen wurden. Diese tauchen nicht in den Statistiken auf und können ignoriert werden.

Sind zusätzliche Informationen, werden aber nicht für die Steuerberechnung benötigt.

Bericht: Steuer

Hier verwende ich genau die selben Filtereinstellungen und erhalte folgende Spalten:

  • Zeitraum: Berichtszeitaum
  • Steuer: Die Bezeichnung der verschiedenen Steuern. Magento verwaltet jeweils einen Steuersatz für verschiedene Länder. Es sollten eigentlich nur 19% und 7% MwSt. Steuersätze auftauchen.
  • Satz: Der verwendete Steuersatz nochmals als Zahl
  • Anzahl der Bestellungen: Die Anzahl der Bestellungen mit diesem Steuersatz
  • Steuerbetrag: Gesamtbetrag der Steuern. Dieser sollte identisch sein mit dem Betrag vom Bericht „Bestellungen“.

Wo sind die Rechnungen mit 0% Mehrwertssteuer?

Die Frage ist etwas trickreich denn im Steuerbericht taucht nirgends ein 0% Steuersatz auf. Hier können wir also nicht schauen. Der Gesamtbetrag der Rechnungen mit 0% Mehrwertssteuer kann nur berechnet werden und wird nirgends angezeigt. Dazu verwende ich den Bestell-Bericht:

  • G0 = Der gesuchte Gesamtbetrag der Rechnungen mit 0% MwSt.
  • G = Gesamtbetrag „Gesamt“ aus Bericht
  • S = Gesamtsteuerbetrag „Steuer“ aus Bericht

G0 = G – ( S * 100 * 1,19 / 19 )

Die Rechnung ist ganz einfach erklärt. Mit der Rechnung in der Klammer, erhalte ich den Bruttobetrag aus dem Steuerbetrag S und ziehe diesen vom Gesamtbetrag ab. Übrig bleiben sollte der Gesamtbetrag der Rechnungen mit 0% MwSt.

ACHTUNG: Durch die Berechnung des Bruttobetrags aus dem Steuerbetrag kommt es sehr schnell zu Rundungsfehlern! Diese sollten sich aber im Cent-Bereich bewegen.

Die Gesamtanzahl der Bestellungen mit 0% MwSt. erhält man durch einen Vergleich der Gesamtbestellung aus dem Steuerbericht und der Anzahl der Bestellungen aus dem Bestellbericht. Hat man mehr Bestellungen im Bestellbericht als im Steuerbericht, hatte man auch Bestellungen ins Ausland.

Aufschlüsselung nach 7% und 19% MwSt.

Die Aufteilung in 7% und 19% MwSt. sollte jemder mit ein bisschen Mathematik aus dem Steuerbericht selbst hinkriegen.

Fazit

Das Berichtswesen von Magento gibt einem zwar alle Informationen die man braucht, aber nicht gerade schön aufbereitet. Es hat mich etwas Zeit und viel Testerei gebraucht, bis ich komplett hinter das System gestiegen bin. Was tut man nicht alles, um das Finanzamt glücklich zu machen ;).

SSL OCSP Stapling auf Nginx mit Zertifikaten von StartSSL.com aktivieren

Ich bin vor kurzem von Apache 2.2.2 auf Nginx 1.8.0 umgestiegen und hab bei der Gelegenheit mal meine SSL Einstellungen auf den neusten Stand gebracht. Dabei bin ich auch über die Option „ssl_stapling“ gestolpert, die ab Nginx >= 1.3.7 möglich ist.

Beim Überprüfen der SSL-Einstellungen kann ich übrigens https://cipherli.st sehr empfehlen. Diese Einstellungen sind immer auf dem neusten Stand und können fast ohne Einschränkungen verwendet werden. Natürlich sollte man sich im Klaren sein, was man dort alles einstellt, aber das bekommt man mit Doku-Lesen ja schnell raus.

Was ist OCSP Stapling und warum sollte ich es aktivieren?

Das Online Certificate Status Protocol (OCSP) ist ein Netzwerkprotokoll, das es Clients ermöglicht, den Status von X.509-Zertifikaten bei einem Validierungsdienst abzufragen. Es dient also dazu, zu überprüfen, ob das Zertifikat noch gültig ist oder nicht.

Da kommt man schon zum ersten Grund für das aktivieren. Zitat Wikipedia: Die Verwendung von OCSP wirft Fragen hinsichtlich der Wahrung der Privatsphäre auf, weil es bedingt, dass der Client neben dem eigentlichen Kommunikationsziel eine dritte Partei kontaktiert, um die Gültigkeit des Zertifikats zu überprüfen. Eine Möglichkeit, dieses Problem zu lösen, liegt in der Verwendung von OCSP Stapling, dabei wird z.B. das Browserverhalten nicht enthüllt.

Aber natürlich wollen wir nicht nur aufgrund der Privatsphäre OCSP Stapling einsetzen sondern auch einzig und allein wegen der Geschwindigkeit der Website.  Durch OCSP Stapling muss der Client, der auf meine Website zugreift, nicht zuerst bei der Zertifizierungsstelle anfragen.

Der Client erhält beim Besuch meiner Webseite also gleich beim SSL-Handshake die benötigte OCSP Response für das Zertifikat und mein Server kann gleich beweisen, dass alles passt. Dazu holt sich der Server in regelmäßigen Abständen die neusten OCSP Responses.

Durch OCSP Stapling erhält man also eine Win-Win-Situation für den Besucher und den Webseitenbetreiber. Der Besucher hat eine höhere Sicherheit seiner Privatsphäre und der Webseitenbetreiber hat eine schnellere Homepage.

Das richtige OCSP Zertifikats-Bundle besorgen

Bevor wir mit der Konfiguration von Nginx anfangen müssen wir uns erst mal das richtige Zertifikatsbundle von unserer CA holen. Ich nutze StartSSL.com und die Zertifikate erhält man unter: StartSSL Zertifikate. Man lädt am besten das Zertifikat-Bundle „ca-bundle.pem“ und speichert es am Ort seiner Wahl. Ich habe es unter

/etc/nginx/ssl/00basic-certificates/ca-ocsp-bundle.pem

gespeichert.

SSL-Einstellung bei Nginx ändern

Ich gehe jetzt davon aus, dass ihr mit den Grundzüngen von Nginx vertraut seid und bereits SSL auf dem Server aktiviert hat. Dann ist eigentlich nicht mehr viel nötig. Erweitert die SSL-Einstellungen um folgende Parameter:

ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
ssl_trusted_certificate /etc/nginx/ssl/00basic-certificates/ca-ocsp-bundle.pem;
resolver 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220 valid=300s;
resolver_timeout 5s;

Die ersten beiden Zeilen aktiveren SSL Stapling. mit der Einstellung ssl_trusted_certificate gebt ihr das zuvor gespeicherte SSL-Bundle für die Verifikation an. Anschließend werden einige Resolver genannt, und wie lange die Antwort dieser Resolver gültig ist. Die letzte Zeile gibt einen timeout für die Resolver-Anfrage an. Fertig ist die Einstellung. Nun nur noch Nginx neustarten und die Einstellungen sind aktiv.

Stolperfallen bei Nginx

Stolperfalle 1: Natürlich ist es wie immer nicht ganz so einfach. Solltet ihr mehrere Webseiten mit dem Nginx betreiben, müsst ihr die Einstellungen global bei allen Webseiten separat vornehmen. Ist bei einer Website SSL Stapling nicht aktiv, funktioniert es bei allen Webseiten nicht.

Stolperfalle 2: Wenn ihr dann überprüft, ob SSL Stapling sauber funktioniert, müsst ihr den Test immer 2x durchführen, da der erste OCSP-Request erst von der CA geholt werden muss um dann für den zweiten Test aktiv zu sein.

Verschiedene Tests ob SSL OCSP Stapling sauber funktioniert

Nun müssen wir natürlich erst mal testen ob das alles so geklappt hat. Dazu von einer Konsole deiner Wahl folgenden Befehl ausführen:

openssl s_client -connect www.timoschindler.de:443 -servername www.timoschindler.de

(Natürlich mit eurem eigenen Server ^^). Die Antwort sollte etwa so aussehen:

OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = IL, O = StartCom Ltd. (Start Commercial Limited), CN = StartCom Class 2 Server OCSP Signer
    Produced At: Jul  9 06:28:52 2015 GMT

Alternativ kann man auch den Test auf SSLlabs.com durchführen und folgenden Eintrag suchen:

screenshot-von-ssl-labs-fuer-blubberladen-de

Fertig ist der supertolle Nginx mit aktiven OCSP Stapling. Wie immer würde ich mich über Anregungen und Verbesserungsvorschläge freuen.

GeoIP PECL für Nginx installieren und automatisch aktualisieren

Halli Leute,

heute mal ein kleiner Beitrag, wie ich GeoIP für Nginx aktivere. GeoIP bietet Datenbanken mit Standortdaten zu bestimmten IP-Adressen. Damit erhält man deutlich akkuratere Standortdaten für seine Websitebesucher.  Ich nutze unter anderem Piwik und wollte dort die IP-Erkennung mittels GeoIP PECL aktivieren. Ich nutze folgende Konfiguration:

  • Debian 6.0
  • Nginx 1.8.0
  • PHP5-FPM

GeoIP Datenbanken automatisiert herunterladen und aktualisieren

Ich nutze dazu ein kleines sh-script. Die dazugehörigen Datenbanken habe ich von hier: http://dev.maxmind.com/geoip/legacy/geolite/#Downloads Es sind bei weitem nicht alle frei verfügbar, aber man nimmt halt was man kann ;).

#!/bin/sh

# This script will automatically download the new databases of maxmind. It will send an mail in the beginning and in the end.

# Send mail for beginning
echo "GeoIP Aktualisierung wurde gestartet" | mail -s "GeoIP gestartet" deine@emailadresse.de

# Clean folder
rm GeoIP.dat.gz
rm GeoIPv6.dat.gz
rm GeoLiteCity.dat.gz
rm GeoLiteCityv6.dat.gz
rm GeoIPASNum.dat.gz
rm GeoIPASNumv6.dat.gz

# Download all data
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
wget http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNumv6.dat.gz

# Untar the archives
rm GeoIP.dat
gunzip -v GeoIP.dat.gz
rm GeoIPv6.dat
gunzip -v GeoIPv6.dat.gz
rm GeoLiteCity.dat
gunzip -v GeoLiteCity.dat.gz
rm GeoLiteCityv6.dat
gunzip -v GeoLiteCityv6.dat.gz
rm GeoIPASNum.dat
gunzip -v GeoIPASNum.dat.gz
rm GeoIPASNumv6.dat
gunzip -v GeoIPASNumv6.dat.gz

# Rename GeoLiteCity.dat and GeoLiteCityv6.dat
mv GeoLiteCity.dat GeoIPCity.dat
mv GeoLiteCityv6.dat GeoIPCityv6.dat

# Send mail for end
echo "GeoIP Aktualisierung wurde erfolgreich beendet." | mail -s "GeoIP beendet" deine@emailadresse.de

Nun müssen wir das Script nur noch mittels eines chronjobs automatisch ausführen. Dazu kann man mit dem Befehl

crontab -e

die crontab bearbeiten und folgenen Eintrag hinzufügen:

40 15 18 * * /usr/share/GeoIP/./autoscript.sh

Nun haben wir eine aktuelle GeoIP Datenbank welche sich regelmäßig aktualisiert. Weiter gehts mit dem Einbinden in Nginx bzw. PHP.

Einbinden von GeoIP in PHP-FPM

Zunächst müssen wir noch ein paar Pakete installieren (Quelle: http://piwik.org/faq/how-to/faq_164/ ):

apt-get install php5-geoip php5-dev libgeoip-dev

Nun aktivieren wir noch Geoip mit folgendem Befehl:

pecl install geoip

Und zum Schluss muss geoip noch in der php.ini verewigt werden, damit dieses korrekt geladen wird. Achten darauf, dass ihr den richtigen Pfad für die GeoIP-Datenbanken setzt. In meinem Fall also /usr/share/GeoIP/

extension=geoip.so</span>
geoip.custom_directory=/usr/share/GeoIP/

So zum Schluss nur noch PHP-FPM neustarten:

/etc/init.d/php5-fpm restart

Jetzt sollte alles laufen. Testen wir mal ob alles geklappt hat.

Abschließender Test ob GeoIP vollständig und korrekt installiert ist

Ob alles korrekt installiert wurde, kann man ganz einfach mit folgendem PHP-Script testen:

<?php
$cst = array(
             'GEOIP_COUNTRY_EDITION' => GEOIP_COUNTRY_EDITION,
             'GEOIP_REGION_EDITION_REV0' => GEOIP_REGION_EDITION_REV0,
             'GEOIP_CITY_EDITION_REV0' => GEOIP_CITY_EDITION_REV0,
             'GEOIP_ORG_EDITION' => GEOIP_ORG_EDITION,
             'GEOIP_ISP_EDITION' => GEOIP_ISP_EDITION,
             'GEOIP_CITY_EDITION_REV1' => GEOIP_CITY_EDITION_REV1,
             'GEOIP_REGION_EDITION_REV1' => GEOIP_REGION_EDITION_REV1,
             'GEOIP_PROXY_EDITION' => GEOIP_PROXY_EDITION,
             'GEOIP_ASNUM_EDITION' => GEOIP_ASNUM_EDITION,
             'GEOIP_NETSPEED_EDITION' => GEOIP_NETSPEED_EDITION,
             'GEOIP_DOMAIN_EDITION' => GEOIP_DOMAIN_EDITION,
             );

foreach ($cst as $k=>$v) {
    echo $k.': '.geoip_db_filename($v).'  '.(geoip_db_avail($v) ? 'Available':''). "\n";
}
?>

mit

php geoip.php

sollte man dann eine Ähnliche Ausgabe erhalten:

GEOIP_COUNTRY_EDITION: /usr/share/GeoIP/GeoIP.dat  Available
GEOIP_REGION_EDITION_REV0: /usr/share/GeoIP/GeoIPRegion.dat
GEOIP_CITY_EDITION_REV0: /usr/share/GeoIP/GeoIPCity.dat  Available
GEOIP_ORG_EDITION: /usr/share/GeoIP/GeoIPOrg.dat
GEOIP_ISP_EDITION: /usr/share/GeoIP/GeoIPISP.dat
GEOIP_CITY_EDITION_REV1: /usr/share/GeoIP/GeoIPCity.dat  Available
GEOIP_REGION_EDITION_REV1: /usr/share/GeoIP/GeoIPRegion.dat
GEOIP_PROXY_EDITION: /usr/share/GeoIP/GeoIPProxy.dat
GEOIP_ASNUM_EDITION: /usr/share/GeoIP/GeoIPASNum.dat  Available
GEOIP_NETSPEED_EDITION: /usr/share/GeoIP/GeoIPNetSpeed.dat
GEOIP_DOMAIN_EDITION: /usr/share/GeoIP/GeoIPDomain.dat

Es gilt zu beachten, dass nicht alle Datenbanken verfügbar sind, da man für diese Zahlen muss. Alle frei verfügbaren Datenbanken wurden von mir eingebunden.

Hat alles geklappt, erhält man nun korrekte und genauere Standortdaten seiner Besucher. Wenn euch Fehler oder Anmerkungen auffallen / einfallen, immer her damit :). Ich freue mich darüber und werde Verbesserungen selbstverständlich in die Anleitung einbauen.

Ubuntu 14.10: Schwarzer Bildschirm nach Treiber-Update (ATI Radeon)

Halli Leute,

ich habe gestern die Treiber für meine Grafikkarte von „radeon“ auf „fglrx“ umgestellt. Leider ist es nach einem Neustart zu dem Problem gekommen, dass ich zwar bis zum Anmeldebildschirm gekommen bin, aber dann war alles schwarz. Folgende Fehlerbehebung hat bei mir geholfen:

Konsole finden

Irgendwie müssen wir Befehle in eine Konsole eingeben können. Entweder wechselt man mit STRG+ALT+F1 auf einen anderen Anmeldescreen. Dort kann man sich dann unter seinem Benutzernamen anmelden. Sollte das nicht klappen drückt man beim Booten die Shift-Taste um im Bootmanager an die Wiederherstellungsoptionen zu kommen. Dann bootet man den neusten Kernel mit Wiederherstellungsoptionen. Dann hat man nämlich auch wieder die Möglichkeit eine Shell zu starten.

fglrx vollständig entfernen

Möchte man wieder zurück zum guten alten offenen Treiber muss man lediglich folgende Befehle ausführen:

sudo apt-get remove --purge xorg-driver-fglrx fglrx*
sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo dpkg-reconfigure xserver-xorg

Gefunden hier: https://wiki.ubuntu.com/X/Troubleshooting/VideoDriverDetection#Problem:_Need_to_purge_-fglrx

Diese Befehle entfernen alle fglrx Treiber und installieren die alten Treiber neu. Nun sollte das System wieder starten.