Nextcloud mit nginx reverse proxy macht endlos reloads

Langer Titel, einfaches Problem.

Ich habe eine Nextcloud Instanz, die lokal läuft und dann mittels Nginx Reverse Proxy aus dem Internet nur per HTTPS erreichbar ist. Nach einem der üblichen Updates endete dieses Setup, welches bis dahin problemlos lief, immer in einer Endlossschleife – aber nur für die Website. Die Nextcloud Sync Clients liefen problemlos weiter.

Mir war also klar, dass es irgendwie mit dem Reverse Proxy zusammenhängen muss. Und so war es dann auch. Nachdem ich folgendes zur Config Datei hinzugefügt hatte, lief es wieder:

'overwritehost'     => 'WWW.MEINE.DOMAIN',
'overwriteprotocol' => 'https',

Das Problem war einfach, dass scheinbar Nextcloud intern auf HTTP gehen wollte, was durch den Auto-Redirect des Nginx auf HTTPS dann für die Endlosschleife gesorgt hatte 🙂

Samsung M2070 scant seit Mac OS Mojave nicht mehr richtig per Dokumenteneinzug

Im papierlosen Büro habe ich nicht mehr so viel mit drucken/scannen zu tun, aber ab und zu passiert es dann doch. Dafür hatte ich mir vor einigen Jahren das Samsung M2070 Multifunktionsgerät mit schwarz-weiss Laser sowie Scanner mit Dokumenteneinzug besorgt, und bin auch sehr glücklich mit dem Teil. Besonders, da es auch Airprint beherscht und somit einen Betrieb nur mit dem iPad ermöglicht – sehr gut für Eltern, die keinen “richtigen” Rechner brauchen.

Aber zurück zum Gerät: seit Mac OS Mojave scannt das Teil nicht mehr so richtig. Sobald man den Dokumenteneinzug nutzt oder aber eine höhere Auflösung verwendet, bricht der Scandialog mit “Der Scanner hat einen Fehler gemeldet” ab.

Da es mir nun wirklich richtig auf die Nerven ging, habe ich mal etwas recherchiert und in den HP-Supportforen (ja, ich war auch verwundert – scheinbar haben die beiden sich beim Thema Support vereint) fand ich dann eine Lösung. Man lädt folgendes Treiberpaket herunter:

https://support.hp.com/us-en/drivers/selfservice/samsung-xpress-sl-m2070-laser-multifunction-printer-series/16450377/model/16450383

(Bitte darauf achten, dass der Filter auf “10.14” steht, dann findest du unter Basic Drivers das Paket “Samsung SL-M2070 Series Scan Driver”. Dort findest du die entsprechenden Installationspakete)

Anschließend entpackt man den Spaß und kann dann die Treiber installieren. Bei mir ging es dann trotzdem nur, indem ich die Software “Scan Assistant” (ist im Zip mit enthalten) installierte. (siehe Update). Mit diesem Tool kann man nun endlich wieder scannnen, auch unter Mac OS Mojave 🙂

 

UPDATE:

Dank des Hinweises von Timo habe ich nochmal den aktuellsten Treiber installiert (Stichwort MAC_TWAIN in der ZIP Datei). Damit geht nun endlich auch wieder das Scannen per Dokumenteneinzug mittels der Vorschau App. Die “Scan Assistant” Software ist also nicht mehr zwingend notwendig.

[Quicktip] Better Snap Tool started nicht mehr unter Mac OS Mojave

Nachdem ich vor kurzem auf Mac OS Mojave aktualisiert hatte, fiel mir heute morgen auf, dass Better Snap Tool auf meinem zweiten Macbook gar nicht mehr startet. In der Systemkonsole erschien nur eine Fehlermeldung:

Unable to load Info.plist exceptions (eGPUOverrides)

So richtig Sinn machte die aber für mich nicht, denn ich bezweifle, dass Better Snap Tool regen Gebrauch von der GPU macht 🙂

Ein Hinweis im Forum des Herstellers brachte mich dann aber weiter: Die Application Firewall bzw. die Datenschutzeinstellungen im Security System sind das Problem.

Die Lösung ist dann, wie immer, sehr einfach:

  • In den Systemeinstellungen den Punkt “Sicherheit”/”Security” aufrufen und dann das Better Snap Tool aus der Liste der erlaubten Apps entfernen.
  • Better Snap Tool starten, der Dialog für das erneute Hinzufügen der App in den Sicherheitsbereich erscheint:
  • Nach erfolgreichem erneuten Aktivieren der App im Sicherheitsbereich startet Better Snap Tool dann auch endlich wieder wie erwartet

python pip läuft nicht mehr wegen OpenSSL lib Fehler

Heute hat mich pip mit der Fehlermeldung

AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

begrüßt. Da nach diesem Fehler sämtliche pip Operationen nicht mehr funktionieren, muss man etwas nachhelfen. Genauer gesagt: zwei Python OpenSSL Module müssen entfernt und nochmal neu installiert werden:

rm -rf /usr/lib/python2.7/dist-packages/OpenSSL
rm -rf /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.egg-info
sudo pip install pyopenssl

Danach sollte pip wieder wie gewohnt funktionieren.

PS: bitte achte drauf, dass du die korrekte Python Version bereinigst, das gleiche gilt für die pyOpenSSL Version!

Am einfachsten findest du die Version heraus, indem du dir per

which pip

den Pfad zu pip geben lässt, dann mit einem vi/nano /[PATH_TO_PIP]/pip in der obersten Zeile anschaust, welcher Interpreter verwendet wird, diesen Pfad kopierst und dann mit

/PATH_TO_PYTHON/python --version

die korrekte Version herausbekommst.

Freenas s.m.a.r.t service (smartd) startet einfach nicht

In meiner Freenas Installation wurde ich vor kurzem darauf hingewiesen, dass der smartd Service nicht läuft. Ich dachte nach einem Reboot gibt sich das, war aber natürlich nicht der Fall.

Nachdem ich zunächst auf der Shell im Freenas ein

smartd -d

ausgeführt hatte, startete der smartd Service im Debug Modus und listete mir auf, was er tat. Und da war auch schon die entsprechende Fehlermeldung zu sehen:

Device: /dev/da0, unable to autodetect device type
Unable to register device /dev/da0 (no Directive -d removable). Exiting.

Mittels

camcontrol devlist

war dann schnell klar, dass die SD Karte, auf der mein Freenas System läuft, das Problem verursachte.

Die Problemlösung ist etwas unkonventionell, aber in meinem Fall ist sie ok: die SD Karte braucht keine SMART Überwachung.

Also einfach die Freenas Weboberfläche aufgerufen, und dort unter “Speicher –> zeige Festplatten” die Platte ausgewählt und per “Edit” Button das Häkchen bei “S.M.A.R.T aktivieren” raus nehmen:

Nach dem Speichern dieser Änderung lief der smartd sofort wieder 🙂

Python MySQL connector liefert in einer Endlossschleife immer das gleiche Query Ergebnis

Für ein Projekt habe ich einen Runner laufen, der in bestimmten Intervallen eine MySQL Datenbank abfragt, ob es neue Jobs für ihn zu tun gibt. Letztendlich handelt es sich einfach um eine Endlos-While-Schleife, in der immer wieder die Query ausgeführt wird.

Das Problem war aber nun: der Runner hat im aktuellen Lauf scheinbar immer nur das Ergebnis des ERSTEN Durchlaufs der Schleife aus dem Cache gelesen. Dabei handelt es sich wohl nicht um einen Fehler auf Python Seite, sondern in MySQL selbst. Die Lösung ist zwar technisch nicht gerade schön gelöst, aber sie funktioniert: man muss einfach nur die Autocommit-Funktion für die aktuelle Verbindung zum MySQL Server aktivieren. Und das geht so:

cnx = mysql.connector.connect(...)
cnx.autocommit = True

Durch dieses Setting wird dem MySQL Server ein “set autocommit=1;” übertragen, was dann dazu führt, dass der Query Cache komplett umgangen wird.

[Quicktip] Adobe Photoshop Lightroom 6 / CC stürzt in OSX direkt beim Start ab

Nachdem ich mich sehr auf das neue Lightroom Update über die Creative Cloud gefreut hatte, war die Ernüchterung sehr schnell da: Die App stürzt immer kurz nach dem Start ab. Zunächst wurde mein Katalog ohne Probleme konvertiert, dann kam der Lightroom Splashscreen und kurz danach erschien der Apple Crashreport. Dieser enthielt folgende Meldung:

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000348 

Der Fehler tritt bei jedem Start von Lightroom auf. Da Adobe bisher noch keinen Fix für das Problem bereit gestellt hat, möchte ich hier zumindest einen Workaround zeigen:

Startet Lightroom mit gedrückter Alt Taste, sodass der Auswahldialog für den zu öffnenden Katalog erscheint. In diesem Dialog wählt ihr einfach euren bestehenden Katalog und klickt auf „öffnen“. Nun sollte Lightroom wie gewohnt laufen. Sollte das auch nicht funktionieren, erstellt über den Dialog einen neuen Katalog, öffnet diesen und klickt dann direkt in Lightroom auf Datei – „Katalog öffnen“ und wählt da euren „alten“ Katalog aus.

[Quicktip] Symfony2 / Doctrine Schema Update funktioniert nicht und liefert keine Ausgabe

Die Logging Mechanismen von Symfony2 sind manchmal nicht ganz durchschaubar: wenn irgendwas in den Entities nicht stimmt, kann es sein, dass die Schema Validierung oder auch das Schema Update beim Aufruf des entsprechenden Konsolenkommandos kommentarlos beendet werden. In diesem Fall prüft intensiv, dass die Namespaces und auch die Annotations innerhalb der Entities sowie den Repositories korrekt sind!

[Quicktip] Symfony2 Framework läuft nach Update auf Version 2.3.3 nicht mehr

Nachdem ich eine Symfony2 Installation auf die neueste Version 2.3.3 per Composer geupdatet hatte, bekam ich auf dem Zielsystem per app/console immer wieder die Fehlermeldung

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
  The parameter "kernel.trusted_hosts" must be defined.

präsentiert. Scheinbar haben diesen Fehler nicht allzu viele Leute, eine Google Suche brachte keine Ergebnisse. Die Formulierung der Fehlermeldung ist auch relativ ungünstig, denn es fehlt kein Parameter, sondern ein Config Eintrag. Kurz gesagt, müsst ihr folgende Zeile in euere app/config/config.yml Datei eintragen:

...
framework:
    ...
    fragments:       ~
    trusted_hosts:   ~
...

Anschließend sollte die Symfony2 Console sowie das System an sich wieder laufen.