Archiv der Kategorie: Allgemein

Nginx & Ubuntu (+PHP-FPM)

NGINX ist ein sehr populärer Web-Server. Dafür gibt es einige Gründe:

  1. Leistung: NGINX ist bekannt für seine hohe Leistung und Skalierbarkeit, insbesondere im Vergleich zu anderen Web-Servern wie Apache.
  2. Stabilität: NGINX ist sehr stabil und robust, was bedeutet, dass es weniger anfällig für Ausfälle und Störungen ist.
  3. Anpassbarkeit: NGINX bietet eine Vielzahl von Modulen und Erweiterungen, die es Anwendern ermöglichen, den Server an ihre spezifischen Bedürfnisse anzupassen.
  4. Sicherheit: NGINX bietet eine Reihe von Sicherheitsfunktionen, wie z.B. SSL/TLS-Verschlüsselung, um die Übertragung sensibler Daten zu schützen.
  5. Ressourceneffizienz: NGINX ist ressourceneffizient und verwendet weniger Speicher und CPU-Ressourcen als andere Web-Server.

Ich mag Nginx auch, da es längst nicht so schwer zu konfigurieren ist wie Apache bzw. Apach2.

Nginx installieren

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo systemctl status nginx # läuft der Server?

Bei Erfolg sollte man folgende (oder ähnlich) Ausgabe sehen:

Man kann überprüfen, ob die Nginx-Landingpage auf http://localhost:80 in einem Webbrowser angezeigt wird.

PHP-FPM installieren

NGINX und PHP-FPM werden oft zusammen verwendet, weil sie eine leistungsstarke und skalierbare Lösung für die Ausführung von PHP-basierten Web-Anwendungen bieten.

sudo apt-get install php8.1-fpm
sudo systemctl status php8.1-fpm # läuft der PHP-Service?
sudo nano /etc/nginx/sites-available/default

Folgendes muss angepasst werden:

  • index.php zur Indexliste hinzufügen (Zeile 8)
  • Entkommentieren der Zeilen 17, 18, 21, 24, 28, 29 und 30

Die Datei sollte dann so aussehen (sofern wir noch von einer unveränderten Grund-Installation ausgehen.):

server {
  # Example PHP Nginx FPM config file
  listen 80 default_server;
  listen [::]:80 default_server;
  root /var/www/html;

  # Add index.php to setup Nginx, PHP & PHP-FPM config
  index index.php index.html index.htm index.nginx-debian.html;

  server_name _;

  location / {
    try_files $uri $uri/ =404;
  }

  # pass PHP scripts on Nginx to FastCGI (PHP-FPM) server
  location ~ \.php$ {
    include snippets/fastcgi-php.conf;

    # Nginx php-fpm sock config:
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    # Nginx php-cgi config :
    # Nginx PHP fastcgi_pass 127.0.0.1:9000;
  }

  # deny access to Apache .htaccess on Nginx with PHP, 
  # if Apache and Nginx document roots concur
  location ~ /\.ht {
    deny all;
  }
} # End of PHP FPM Nginx config example
sudo nginx -t # um die Änderungen an der Konfiguration zu testen
sudo systemctl restart nginx # Neustart des Servers

PHPINFO() aufrufen

sudo echo "<?php phpinfo(); ?>" >> /var/www/html/info.php

Unter http://<hostname>/info.php erreichen wir dann die bekannte Übersicht mit allen wichtigen Angaben.

Weitere nützliche Informationen zum Finetuning findet man unter https://techexpert.tips/nginx/nginx-php-installation-ubuntu-linux/, https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04

SHIFT+CTRL+V für Einfügen ohne Formatierungen in Office 365

Ich weiß nicht was MS dazu gebracht hat, das Einfügen von kopierten Werten ohne Formatierung über das Tastaturkürzel Shift+Ctrl+V aus dem alten Office zu entfernen. Stattdessen öffnet sich je nach Lust und Laune der Software mal ein Kontext-Menü, das kein Mensch auf Anhieb versteht.

Aber mithilfe eines Makros kann man dem begegnen:

Wir öffnen mit Alt+F11 den VBA-Editor.

Dort fügen wir folgenden Code ein:

Sub PasteValues()
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
End Sub

So sollte das Ergebnis aussehen:

Excel CTRL+SHIFT+V without Formatting

Dann müssen wir diesen Code mit dem Tastaturkürzel Shift+Ctrl+V verbinden. Dazu öffnen wir mit Alt+F8 folgende Übersicht:

Excel CTRL+SHIFT+V without Formatting

Wir klicken auf “Options” bzw. “Optionen”.

Und jetzt aufgepasst, in das mit dem Pfeil gekennzeichnete Feld schreiben wir ein großes V (also Shift+F)

Excel CTRL+SHIFT+V without Formatting

Dann sollte man Folgendes sehen:

Excel CTRL+SHIFT+V without Formatting

Jetzt alles wieder mit “OK” schließen und das Tastaturkürzel Shift+Ctrl+V fügt nur noch die nackten Werte, ohne lästige Formatierungen ein.

Windows 10 – Schmutzige Einstellungen deaktivieren

Im Laufe der Jahre ist Microsoft dazu übergegangen, Nutzer von Windows durch schmutzige Tricks auszuhorchen und (damit) an sich zu binden.

Hier eine Schnelllist, wie man die schmutzigsten Einstellungen wieder deaktiviert.

Downloads von anderen PCs nicht mehr zulassen

Microsoft macht Windows-Nutzer zu Update-Lieferanten, um eigene Server-Kapazität zu sparen. Wer keine Lust hat, Microsoft seine Bandbreite kostenlos zur Verfügung zu stellen, sollte das unterbinden:

  1. Einstellungen öffnen mit WIN-Taste+i
  2. Update & Sicherheit
  3. Links „Übermittlungsoptimierung“ wählen.
  4. Deaktivieren von „Downloads von anderen PCs zulassen“
Windows 10 - Downloads von anderen PCs nicht mehr zulassen

Synchronisierung privater Daten stoppen

Früher kam man auch über die Runden, ohne automatisch private Daten oder Passwörter im Hintergrund, automatisch (und unbemerkt) kreuz und quer durch die digitale Walachei zu schicken.

  1. Einstellungen öffnen mit WIN-Taste+i
  2. Konten
  3. Links „Einstellungen synchronisieren“ wählen.
  4. Hier am besten alles deaktivieren.
Windows 10 - Einstellungen nicht mehr synchronisieren

Personalisierte Werbung unterbinden

Microsoft verkauft personalisierte Werbung als Service am Kunden. In Wahrheit bedeutet es nichts anderes, als dass sie fleißig eure Daten an andere Datenkraken schicken. Wenn ihr also auf eurem Windows-Desktop über Bing z. B. nach Öko-Socken sucht, dann kann es gut sein, dass ihr in Kürze passende Öko-Socken-Werbung auf eurem Handy seht, während ihr gelangweilt durch Instagram scrollt.

  1. Einstellungen öffnen mit WIN-Taste+i
  2. Datenschutz
  3. Links „Allgemein“ wählen.
Windows - Werbe-ID deaktivieren

Apps nicht mehr im Hintergrund laufen lassen

Windows erlaubt es, Apps im Hintergrund (automatisch) laufen zu lassen, auch – und gerade – wenn ihr diese gar nicht gestartet habt. Wenn ihr also eine Benachrichtigung einer App in der Nachrichtenleiste erhaltet, dir ihr schon seit Monaten nicht mehr genutzt habt, dann wisst ihr jetzt, wieso.

Praktischerweise könnte ihr entweder für alle Apps das Starten im Hintergrund deaktivieren oder es für einzelne Apps zulassen. Ich habe es immer für alle deaktiviert.

  1. Einstellungen öffnen mit WIN-Taste+i
  2. Datenschutz
  3. Links „Hintergrund-Apps“ wählen.
Windows - Apps im Hintergrund laufen deaktivieren

Werbung aus dem Startmenü entfernen

Ich weiß nicht, wie es euch geht, aber in einem Produkt (Windows 10), das ich gekauft habe, möchte ich einfach keine Werbung sehen.

  1. Einstellungen öffnen mit WIN-Taste+i
  2. Personalisierung
  3. Links „Start“ wählen.
  4. Gelegentlich Vorschläge im Startmenü anzeigen“ deaktivieren.
Windows Werbung aus dem Startmenü entfernen

Cortana ausschalten

Ihr hasst die Vorstellung, mit eurem PC zu reden? Ich auch. Also deaktivieren wir Cortana möglichst schnell, damit sie gar nicht erst auf die Idee kommt, im Hintergrund unserer Stimme zu lauschen.

Dazu müssen zwei Einstellungen bearbeitet werden.

Schritt 1

  1. Einstellungen öffnen mit WIN-Taste+i
  2. Datenschutz
  3. Links „Spracherkennung“ wählen.
Windows - Cortana Spracherkennung deaktiveren

Schritt 2

  1. Einstellungen öffnen mit WIN-Taste+i
  2. Datenschutz
  3. Links „Freihand- & Eingabeanpassung“ wählen.
Windows - Freihand- und Eingabeanpassung deaktivieren

Benachrichtigungen einschränken

Nervt es euch auch so sehr, wenn alle paar Minuten Nachrichten in der Benachrichtigungsliste aufblinken und euch von der Arbeit ablenken?

  1. Einstellungen öffnen mit WIN-Taste+i
  2. System
  3. Links „Benachrichtigungen und Aktionen“ wählen.

Ich selbst lasse die wichtigsten Benachrichtigungen zu, aber nur für eine Auswahl an Apps.

Windows - Benachrichtigungen anpassen

Python für Windows mit VSCodium

Tutorial für eine einfache Entwicklungsumgebung

Auf https://www.python.org/downloads/windows/ befinden sich die Downloads, um den Python-Interpreter auf Windows zu installieren.

Wir nehmen die aktuellste Version (3.10.4 für 64-bit), am besten gleich in der Installer-Version.

Auswahl des Python-Installer für Windows

Wir fügen Python auf dem Windows-Pfad hinzu, also hier den Haken setzen. Ansonsten können die Default-Einstellungen übernommen werden.

Python installieren
Python-Installation Einstellungen

Wer mehr Information benötigt, dem sei diese ausführliche Seite auf python.org empfohlen: https://docs.python.org/3.10/using/windows.html

PowerShell installieren und nutzen

Normalerweise wird die PowerShell (als besserer Ersatz für die Kommandozeile cmd) immer schon mit Windows installiert. Solltet ihr sie deinstalliert haben, könnt ihr sie leicht wieder zurück installieren. Es kann auch nicht schaden, die neueste Version zu installieren. Das Paket dazu findet sich hier: https://docs.microsoft.com/…

In der PowerShell (oder, wenn man die nicht mag, in der Kommandozeile) prüfen wir, ob Python installiert ist

Python --version
Python mit VSCodium
Python ist erfolgreich installiert.

Mit dem Befehlt python starten wir den Interpreter. Dass der Interpreter läuft, erkennt man am Prompt „>>>“.

Python mit VSCodium
Der Python-Interpreter ist gestartet.

Mit quit() kann man den Interpreter wieder verlassen.

Python mit VSCodium

Entwicklungsstudio VSCodium

Natürlich könnte man jetzt auch mit einem simplen Text-Editor arbeiten. Aber das wäre bei einem komplexen Framework wie Python sehr mühselig.

Daher installieren wir auf unserem Windows-Rechner den von mir favorisierten Editor VSCodium. VSCodium ist die OpenSource-Alternative zu Visual Studio Code von Microsoft und ähnelt diesem komplett, bis auf die Tatsache, dass es keine Nutzerdaten an Microsoft sendet.

Für meine Windows-Version nutze ich: https://github.com/VSCodium/vscodium/releases/download/1.63.2/VSCodium-x64-1.63.2.msi

Python mit VSCodium
VSCodium nach dem ersten Start

Was wir vorhin zum Test in der PowerShell eingegeben haben, können wir jetzt selbstverständlich auch im eingebauten Terminal von VSCodium eingeben.

Python mit VSCodium
Terminal on VSCodium

Es gibt einige Erweiterungen (Extensions) für VSCodium, die wir uns noch installieren sollten. Das geht ganz einfacher über den eingebauten Extension Marktplatz.

Python mit VSCodium

Folgende Erweiterungen werden benötigt bzw. sind empfehlenswert:

  • Python (Anmerkungen weiter unten beachten)
  • Python Indent
  • Python Test Explorer

Wenn man die Python-Extension installiert, wird man gefragt, ob man Python installieren oder eine vorhandene Installation nutzen will.

Python mit VSCodium

Wenn alles geklappt hat, wird unten links im Editor die aktuelle Python-Version ausgegeben.

Optional: GitHub

GitHub ist die aktuell wichtigste Software für Versionsverwaltung. Im Grunde kann es nicht schaden, sich damit auszukennen, da man bei professionellen Projekten früher oder später damit konfrontiert wird.

Die aktuellste Version erhält man hier: https://git-scm.com/download/win

GitHub laden
GitHub für Windows

GitHub kann für unsere Bedürfnisse ganz einfach per Default installiert werden.

„Hallo, Welt“-Beispiel

Wir legen mit STRG+N (oder per Menübefehl) erstmalig eine neue Python-Datei an.

Python mit VSCodium
Python mit VSCodium, eine neue Datei

Als Typ wählen wir natürlich „Python File“ aus.

Im Editor geben wir jetzt folgende Zeile ein:

print("Hallo, Welt!")
Python mit VSCodium
Die erste Zeile Code

Nun wählen wir auf der linken Leiste den Punkt „Run and Debug“ aus und klicken auf die nun erscheinende Schaltfläche gleichen Namens.

Python and VSCodium, Run and Debug
Debug, 1. Schritt

Sollten wir die Datei bisher noch nicht gespeichert haben, werden wir nun dazu aufgefordert. Praktischerweise solltet ihr euch dafür auch gleich einen Extra-Ordner anlegen, um (später) mit der Versionsverwaltung von GitHub arbeiten zu können.

Haben wir alles richtig gemacht, dann sollten wir im Terminal von VSCodium nun die Ausgabe „Hallo, Welt!“ sehen.

Python and VSCodium, Run and Debug
Debug, 2. Schritt

Versionsverwaltung mit GitHub

Um nun die Versionsverwaltung mit GitHub zu aktivieren, gehen wir wie folgt vor.

Links „Source Control“ auswählen (oder STRG+SHIFT+G), danach den oben erwähnten Ordner über „Open Folder“ auswählen.

Python and VSCodium, GitHub
GitHub, 1. Schritt

Nun muss mit „Initialize Repository“ erstmalig die Datenbank angelegt werden, die GitHub benötigt, um alle notwendigen Informationen zu speichern. Dabei handelt es sich um einen versteckten (Unter-)Ordner im Ordner der Python-Dateien.

Python and VSCodium, GitHub
GitHub, 2. Schritt

Nun kann man in einem geteilten Fenster die Änderungen bzw. Unterschiede (rechts) vom Original-Programmcode (links) sehen. Da es sich bei unserem Beispiel um die erste Version des Programmcodes handelt, ist die linke Fensterseite natürlich noch leer.

Python and VSCodium, GitHub
GitHub History

So, das soll es erstmal gewesen sein.

Wer sich jetzt in Python weiterbilden möchte, der sollte hier hereinschauen:

https://code.visualstudio.com/docs/python/python-tutorial

https://www.tutorialsteacher.com/python

Webmin für Debian installieren

Hier beschreibe ich, wie man die Konfigurationsumgebung Webmin für Debian schnell und einfach installiert.

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # Kopie schadet nie
curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh
sudo apt-get install webmin --install-recommends

Webmin startet immer mit einer erzwungenen SSL-Verbindung. Da wir in der Regel auf dem Server noch kein SSL-Zertifikat installiert haben, schalten wir den Zwang zu SSL vorläufig aus, um Stress mit dem Browser zu vermeiden.

Wir öffnen die Konfigurationsdatei von Webmin:

sudo nano /etc/webmin/miniserv.conf

und ersetzen ssl=1 durch ssl=0

Nun müssen wir den Webmin-Server wieder starten

sudo systemctl restart webmin.service

Wir öffnen im Browser http://masch3:10000 und wählen uns als normaler Linux-Nutzer an. (Hinweis: beim ersten Aufruf kann es durchaus etwas länger dauern, bis der Browser eine Seite auswirft.)

Nun müssen wir noch Refresh Modules klicken, um eventuell noch nicht von Webmin zugeordnete Module zu erkennen.