Eigene WordPress Loop mit Seitenschaltung

Ein hervorragendes Tutorial zu einem Problem, das ich mit genau dieser meiner Blog-Seite hatte: eine  komfortable Seitenschaltung in einem Template mit einem statischen Teil oben und einem dynamischen Teil mit vielen Beiträgen (eben dem Blog). Es gibt den kompletten erklärte Code, allerdings für die Freunde der englischen Sprache.

In this tutorial, I’m going to show you how to create a custom WordPress loop with pagination. We will use the WP_Query class to instantiate a new query, and display the posts with pagination.

Custom WordPress Loop With Pagination

2013 – 2015

  • ** Website für die Kanzlei Rabe Kirsche & Kollegen, Leipzig
    Verwendung des selbst entwickelten Mikro-CMS zur Bearbeitung einzelner Seiten-Abschnitte mit Hilfe von „Textschnipseln“ und tinyMCE
  • ** Browseranwendung: Dispatcher-Software für die Zusammenarbeit von Autohäusern (VW, Mercedes Benz) mit Abschlepp- und Bergungsdienst Scholz in Leipzig
    – starke Anwendung von jQuery / jQueryUI / JavaScript
    – modulare Bauweise, dadurch schnelle Anpassbarkeit an neue Kundenwünsche

Beginn des verstärkten Einsatzes von responsivem / fluidem Webdesign:

WordPress Wartungsmeldung zurücksetzen

Mancher hat sicher schon einen Schreck bekommen, wenn während eines WordPress-Updates statt der eigenen Website ein lapidares „Briefly unavailable for scheduled maintenance. Check back in a minute.“ erschien. Noch unangenehmer wird das, wenn die Website auch danach nicht wieder erscheint!

Während des Updates mindestens eines Plugins wird eine WordPress-Installation in den Wartungsmodus geschaltet  – beim Aufruf der Website erscheint obige Fehlermeldung, die eigentlich nur der Hinweis ist, doch bitte in ein paar Minuten wiederzukommen. Es kann aber passieren, dass die Wartung hängt und die Website nicht mehr erreichbar bleibt. Dann ist die versteckte Datei /.maintenance zu löschen.

Allerdings verhindert das Entfernen der Datei dauerhaft das Blockieren und die Meldung während der Updates. Ich würde also die Datei lieber nur umbenennen, z.B. in _.maintenance, um sie später wieder aktivieren zu können, wenn sich das als besser herausstellt. Es hat ja schließlich seinen Sinn.

Edit 21.8.15: Dieser Text erschien bis vor der Version 4.3 auch in der deutschen WP-Version in englisch. Jetzt steht dort „Wegen geplanter Wartungsarbeiten vorbergüehend nicht erreichbar. Bitte schau gleich noch einmal vorbei.„. EinbBisschen holprig, aber immerhin verständich :-).

Quelle:
WordPress Fehler: Briefly unavailable for scheduled maintenance. Check back in a minute.

Firefox: letzten Tab nicht schließen

Ich habe schon ewig keinen neuen frischen „unverbastelten“ Firefox mehr installiert. Und jetzt eben doch die portable Version, um mal eine saubere Testumgebung zu haben – und schon tauchte eine Hürde von früher wieder auf: Mit dem letzten Tab wurde der gesamte Browser geschlossen. Ich erinnerte mich an die Abhilfe:

  • in der Adresszeile about:config aufrufen
  • nach Bestätigung der Sicherheitsabfrage…
  • browser.tabs.closeWindowWithLastTab suchen
  • und durch Doppelklick auf den Eintrag  auf false stellen

Fertich. Ab sofort wird ein neuer leerer Tab geöffnet, wenn man den letzten schließt, der Browser bleibt offen.

Verhindern des Auslesens von Usernamen bei WordPress

Durch das Anhängen von /?author=1, /?autor=2 etc oder auch /?blabla&author=1 etc bekommt ein Angreifer den/die aktiven Benutzernamen in der URL zu sehen – das ist schon die halbe Information für einen Hacker-Angriff. Wie das leicht über die .htaccess-Datei verhindert werden kann, steht hier beschrieben:

RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]

Can I prevent enumeration of usernames on my wordpress site? I can see users at the moment using the WPScan tool.

Quelle:
Can I Prevent Enumeration of Usernames?

RiouxSVN – Free, Private Subversion Hosting – SVN

Offen zugängliche SVN-Systeme gibt es nicht wie Sand am Meer. Ein bekanntes von Google wurde nun (Mitte 2015) geschlossen. Eine sehr gute Alternative fand ich vor einer Weile bei rioux.com. Dort gibt es 4 Projekte a 50 MB für dauerhaft Null Euro als Grundausstattung. Mehr bekommt man durch Spenden via PayPal, wobei man sich Platz und Projektanzahl „kauft“. Eine einfache Team-Verwaltung mit Rechte-Verwaltung gehört natürlich auch dazu.

RiouxSVN is a free Subversion Hosting website. It allows developers to store source code and collaborate with their team through Subversion version control.

Quelle: RiouxSVN – Free, Private Subversion Hosting

Fix für logrotate errors für mySQL in Ubuntu

In seinem Blog beschreibt Shahar Evron eine Methode, mit einem Einzeiler den Fehler zu beseitigen, der bisher bei mir täglich in den Mails an root gemeldet wurde. Hier ist der Fehler:

/etc/cron.daily/logrotate:
error: error running shared postrotate script for 
'/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log 
/var/log/mysql/error.log '
run-parts: /etc/cron.daily/logrotate exited with return code 1

Hier ist der Einzeiler:

echo "SET PASSWORD FOR 'debian-sys-maint'@'localhost' = PASSWORD('`sudo cat /etc/mysql/debian.cnf | grep password | head -n 1 |</code></div>
<div class="line number2 index1 alt1"><code class="plain plain">awk -F= '{ gsub(/[ \t]+/, "", $2); print $2 }'`');" | mysql -u root -p

Verwirrend? Verstehen muss ich das ja nicht…

Quelle: arr.gr/blog/2014/06/fixing-logrotate-errors-and-other-mysql-issues…

Ich habe es ausprobiert und es funktioniert. Der Fehler war unbewusst entstanden – wie im Blog beschrieben -, weil ich das Betriebssystem neu aufgespielt und dann die alte DB-Sicherung zurückgeholt habe. Dabei bekommt der Systemuser „debian-sys-maint“ von mySQL das falsche (zufällig generierte) Passwort. Das wird mit dem obigen Einzeiler korrigiert.

Danke, Shahar Evron!

Wie schalte ich die Überwachung für die „AVM FRITZ!Box Fon“ frei?

Wichtig für die Einrichtung eines Anrufmonitors auf dem PC (janrufmonitor.de oder anderes) mit einer Fritz!Box 6490 (auch ähnlicher Typen?) ist die Freischaltung ihres Port 1012! Sonst funktioniert die Überwachung nicht. Im Manual der Fritz!Box werden der Port und dessen Freischaltung nicht erwähnt. Wichtig ist, dass ein Telefon an die Fritz!Box angeschlossen und registriert ist (ISDN oder analog)!

Damit die „FRITZ!Box-Fon“-Hardware mit jAnrufmonitor oder einer anderen externen Software kommunizieren kann, muss die Ziffernfolge #96*5* auf einem Telefon, das an die FRITZ!Box angeschlossen ist, gewählt werden. Die FRITZ!Box schaltet nun für die Überwachung frei und es sollte ein positiver Bestätigungston zu hören sein.

Quelle:
Wie schalte ich die Überwachung bei AVM FRITZ!Box Fon Geräten frei?

Ergänzung 13.1.2022:
Nach dem Update des OS für meine Fritz!Box 6490 auf Version 7.29 startete jAnrufmonitor mit der Fehlermeldung, dass die Verbindung mit der Box nicht geglückt sei. Recherchen haben ergeben, dass es anscheinend nun notwendig ist, sich als entfernte Anwendung jetzt mit Username und Passwort anzumelden! Bisher gabe es die Auswahl „nur Passwort“. Dazu ist es notwendig, in der Box einen oder mehrere neue Benutzer anzulegen, d.h. für jede jAnrufmonitor-Installation im Netz einen separaten. Dazu geht man in den Routereinstellungen unter System / Benutzer und verfährt weiter wie hier beschrieben.

EMails eines lokalen Mailservers mit Thunderbird empfangen

Hinweis: Der Artikel ist veraltet und funktioniert mit Thunderbird 91 (Linux) nicht mehr! Eine neuere Lösung findet sich hier in meinem Artikel.


Ich habe in meinem Ubuntu einen Mailserver mit Dovecot/Postfix. Darüber kann ich mir selbst bei der Software-Entwicklung mit PHP EMails schicken. Für den Empfang der Systemmails an Root oder den User war mir nichts eingefallen – bis ich das hier fand:

[1] Quelle: How do I read local email in thunderbird?

Einrichtung IMAP-Server
user76204 in https://askubuntu.com/a/199453

Und ich mühe mich hier stundenlang… Manchmal sollte man das Einfache nehmen!

Update 30.4.2020

Bis hierher habe ich einen Mailserver, zu dem ich zum Beispiel mit der PHP-Funktion mail() testhalber eine Nachricht schicken kann. Thunderbird kann die dann abrufen und man bekommt so auch die Nachrichten, die irgendwelche Systemprozesse schicken (cron etc.). Braucht man einen richtigen SMTP-Server, auf den man zum Test auch mittels Thunderbird Nachrichten schicken kann, hilft diese ebenfalls in [1] gezeigte Konfiguration in Thunderbird:

Einrichtung SMTP-Server
user76204 in https://askubuntu.com/a/199453

Übrigens, Dovecot habe ich deinstalliert, das brauche ich für meine nur lokalen Belange nicht. Der obere Teil dieses Posts entstand übrigens noch mit Xubuntu 12.04 ;-), inzwischen läuft hier 20.04.

Update 7.2.2024

Installation des Postfix mit Konfiguration:

sudo DEBIAN_PRIORITY=low apt install postfix

(https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-on-ubuntu-20-04-de)