Selbstmanagement in der IT-Branche
Marc Eggert

Bleib im Fokus – trotz E-Mail

Das E-Mail-Programm wird heutzutage oftmals als die zentrale Aufgaben-Steuerungszentrale gesehen. Hier landen Aufträge, hier werden Unterordner für E-Mails angelegt, E-Mails priorisiert und als Nachschlagewerk behalten. Doch ist dies auch sinnvoll? E-Mails können Teil einer Aufgabe sein, neue Aufgaben bereithalten, ein Hinweis auf einen Termin sein, eine Rückantwort erwarten, eine Anlage haben, die abgelegt werden soll, und so weiter. Das erkennst du aber meistens nicht im direkten Überblick. Frei nach der „getting things done“-Methode von David Allen ist dein Posteingang eine Inbox. Diese solltest du – wie deinen Briefkasten eben – regelmässig leeren und die Briefe, bzw. E-Mails bearbeiten. Im Endeffekt brauchst du natürlich ein System, wie du alle E-Mails abarbeiten kannst: Eine durchdachte Ablage, ein Erinnerungssystem, einen Kalender.

Weiterlesen »
IT-Sicherheit
Marc Eggert

5 Einfache Schritte zur Malware-Prävention

In der heutigen digitalen Welt ist der Schutz deines Computers vor Malware wichtiger denn je. Malware, eine Abkürzung für „malicious software“ (bösartige Software), umfasst Viren, Würmer, Trojaner und andere schädliche Programme, die darauf abzielen, deinen Computer zu schädigen, persönliche Daten zu stehlen oder dein Gerät für bösartige Aktivitäten zu nutzen. Die Angreifer zielen es hierbei oftmals nicht nur auf große Unternehmen ab, sondern greifen auch sehr gerne Privatpersonen und kleinere Ziele an. Das perfide dabei: Oftmals will der Angreifer unbemerkt auf deinem System verweilen, um es so für Angriffe anderer Systeme als Ressource zu nutzen. Die folgenden 5 Grundsätze sind die absoluten Basics als Schritt in eine sichere IT. Zukünftige Blog-Beiträge werden sich mit den Themen noch etwas tief gehender beschäftigen.

Weiterlesen »
IT-Sicherheit
Marc Eggert

IP-Blocklisten mit ipset

Das einzelne Blockieren von IP-Adressen erzeugt natürlich einen entsprechenden Aufwand für iptables – zumindest dann, wenn ganze IP-Adressensammlungen im fünf- oder sechsstelligen Bereich blockiert werden sollen. Und hier kommt ipset ins Spiel – eine Netfilter-Erweiterung.

Weiterlesen »
IT-Sicherheit
Marc Eggert

WP-Fail2Ban – Auf fehlerhafte Logins reagieren

WordPress-Seiten sind sehr beliebt, was Angriffe angeht. Das ist schon alleine deshalb so, weil WordPress (WP) auf sehr vielen Seiten genutzt wird. Laut kinsta.com liegt der Marktanteil von WP (Web-Seiten) bei derzeit 37%. Ein entsprechend hoher Marktanteil macht ein Produkt natürlich auch attraktiver für Angreifer. Wenn du die Log-Dateien deiner Webseite durchsiehst, wirst du mit Sicherheit gescheiterte Login-Versuche, XML-Attacken und ähnliches finden. Angreifer gehen in der Regel so vor, dass sie Logins gleich mehrfach versuchen. Auf solche Mehrfach-Versuche, oder aber auch einzelne Versuche können wir reagieren: via Fail2Ban.

Weiterlesen »
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

VIM – Meine Konfiguration

Auf Linux- und Mac-Rechnern benötige ich recht oft einen Editor, um schnell diverse Dateien zu bearbeiten. I.d.R. Regel starte ich dafür allerdings nicht gleich eine ganze IDE, sondern nutze einen einfachen textbasierten Editor: Vim IMproved.Wie bei jedem Stück Software, welches weniger auf Gewohnheiten und mehr auf Effizienz setzt, ist es auch bei VIM so, dass du als Neu-Einsteiger zunächst die grundsätzliche Bedienung von VIM kennenlernen solltest.Darum geht es in diesem Beitrag allerdings nicht. Es geht um ein paar nützliche Erweiterungen, wie man den Editor gemäß der eigenen Ansprüche pimpen kann.

Weiterlesen »
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

WordPress-Templates mit Roots/Sage entwickeln

Seit einigen Jahren schreibe ich u.a. eigene WordPress-Themes für diverse Projekte. Seit einigen Jahren artet dies auch des öfteren in Code-Chaos aus. Wer nicht zu Beginn eine klare Aufteilung und Struktur in sein Projekt bringt, wird schnell unübersichtlichen HTML-, PHP-, JS und CSS-Code als Ergebnis haben. Vor kurzem habe ich mir dann Sage von roots.io näher angesehen. Dieses Framework arbeitet von Grund auf bereits mit einigen modernen Dev-Techniken und vereinfacht so Versionierung, Struktur und Wartbarkeit. On Top gibt es noch das Template-System von Laravel, welches ich als PHP-Framework für Projekte abseits von WordPress sehr schätze.Generell finde ich es sehr angenehm, dass sich der gesamte Code in einem WP-Projekt via Sage objektorientiert schreiben lässt. Sprich: Controller und Views – saubere Trennung zwischen Funktionalität und Ausgabe. Wer also schon gewöhnt ist, mit Laravel oder CakePHP zu arbeiten oder grundsätzlich auf MVC-Basis programmiert, wird sich hier schnell zurechtfinden.

Weiterlesen »
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

Active-Klasse in Bootstrap-Nav via JavaScript

Quick-Tipp: Oft benötigt und oft – je nach Projektanforderung – via PHP aufwändig zusammenprogrammiert: Es geht um die „active“-Klasse für Bootstrap (oder andere) Navigations-Bars (.navbar). Dies lässt sich relativ einfach und mit 4 Zeilen Code in JavaScript auf Basis von JQuery erledigen.Im Web-Projekt nutzt man in der Entwicklungsumgebung am Besten eine eigene Script-Datei für die eigenen JavaScripts außerhalb der zusätzlich geladenen Scripts. Für die Produktionsumgebung werden sämtliche Scripts i.d.R. sowieso komprimiert („minified“). Im Grunde sind es sogar nur zwei Zeilen Code, da die Entscheidenden Zeilen im obigen Code in Zeile 2 und 6 stehen: In Zeile 2 wird die Variable „url“ definiert und mit dem Wert der aktuellen URL besetzt. Was selbst angepasst werden muss, allerdings für Bootstrap-Navbars so bereits passt: Die Klasse („.navbar“) und die Struktur (li->a).

Weiterlesen »
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

CSS und JavaScript mit NPM und Gulp organisieren

Bei den meisten Web-Projekten setze ich auf verschiedene externe Projekte und Frameworks. Sei es Bootstrap, JQuery oder FontAwesome und weitere Klassen oder Plugins. Meistens ist es dann ein Problem, die verschiedenen Versionen und externen Scripts auf einem aktuellen Stand zu halten, zu organisieren oder kontrollieren, welche Version untereinander notwendig ist, um alle Abhängigkeiten (auch die des eigenen Projekts) zu erfüllen.Um die jeweils aktuellen oder selbst gesetzten festen Versionen von Bootstrap & Co. zu halten, gibt es Nodejs/NPM. Sämtliche Pakete werden dabei in ein Verzeichnis „node_modules“ installiert. Doch wie sieht eine praktikable Lösung aus, mittels welcher diese Bibliotheken im eigenen Web-Projekt gehalten werden?Genau hier kommt der „Workflow-Enhancer“ Gulp.js ins Spiel. Gulp sorgt dafür, dass die entscheidenden Scripts aus dem Verzeichnis node_modules in das eigene Web-Verzeichnis geführt werden (beispielsweise /js, /css, /fonts, etc.) und ggf. SASS–Code aus Bootstrap und eigenem Code in CSS kompiliert wird. Dazu ist in der DEV-Umgebung ein File-Watcher aktiv, welcher in Echtzeit geschriebenen SASS-Code kompiliert und ins CSS-Verzeichnis schreibt.Im Anschluss (nicht Teil dieses Beitrags) kann über eine Aufgabe via Gulp der gesamte JS- und CSS-Code für die Produktiv-Umgebung komprimiert werden. Perfekt!

Weiterlesen »
Open-Source-Projekte und ihre Anwendungen
Marc Eggert

DEV-Umgebung für WordPress mit Docker, Gitlab & PhpStorm

In diesem Beitrag zeige ich eine einfache Lösung, wie Du mit Docker, Gitlab und PhpStorm eine schnelle, lokale Entwicklungsumgebung einrichtest. Dies ist vor allem dann ganz gut, wenn Du ein WordPress-Template oder -Plugin entwickeln möchtest. Kurz gesagt: Im Anschluss wirst Du Deine Projekt-Daten für Dein Template oder Plugin auf Gitlab.com ablegen und entwickelst dabei dein Projekt lokal auf Deinem Rechner. Der komplette WordPress-Code wird dabei natürlich nicht via git getrackt. PhpStorm eignet sich für die WordPress-Entwicklung sehr gut – Du kannst allerdings auch jeden anderen Editor verwenden. Dabei musst du eben die Docker-Befehle von Hand eingeben. Es ist allerdings so oder so eine gute Idee, die einzelnen Docker-Befehle manuell zumindest kennenzulernen.

Weiterlesen »

Ansible: Server-Updater

Wer Ansible noch nicht kennt: Man kann sich Ansible als eine Art mächtiges SSH-Werkzeug vorstellen, welches diverse Operationen auf definierten Ziel-Maschinen ausführt (hauptsächlich für Linux-Server genutzt, Windows-Kisten lassen sich damit allerdings ebenfalls ansprechen). Der Vorteil von Ansible? Man benötigt keine Client-Agents oder ähnliche Software – eine funktionierende SSH-Verbindung zum Zielrechner ist ausreichend. Ansible ist hierbei auch der Zustand des Zielrechners egal. Wenn z.B. das Paket „apache2“ via APT auf dem debian-basierten Zielrechner installiert werden soll, wird geprüft, ob auf dem Zielrechner bereits apache2 installiert ist. Ist dies der Fall, wird von Ansible nichts weiter unternommen. Ist dies nicht der Fall, installiert Ansible das Paket.Was ebenfalls ziemlich schick ist: Es wird auch keine Server-Node benötigt. Ansible kann von jedem SSH-fähigen Client oder Server ausgeführt werden. I.d.R. geht man dabei so vor, dass die eigenen Configs, bzw. Aufgaben (bei Ansible „Playbooks“ genannt) versioniert werden (Github, Gitlab, o.ä.) und bei Bedarf versioniert erweitert und angepasst werden können. 12 Server und auf allen soll „htop“ nachinstalliert werden? Eine Zeile in Ansible und die Sache ist geritzt. 

Weiterlesen »
keine weiteren Beiträge