PHP-Version unter Debian ändern

Hat man unter Debian mehrere PHP-Versionen gleichzeitig laufen, kann man folgendermaßen die „Standardversion“ einstellen:

update-alternatives --set php /usr/bin/php7.4
update-alternatives --set phar /usr/bin/phar7.4
update-alternatives --set phar.phar /usr/bin/phar.phar7.4
update-alternatives --set phpize /usr/bin/phpize7.4
update-alternatives --set php-config /usr/bin/php-config7.4
Links und Credit

https://tecadmin.net/switch-between-multiple-php-version-on-debian/

Timeout in Nextcloud richtigsetzen (Online-Updater 504 Gateway Timeout)

Ich hatte schon länger das Problem, dass bei mir der Nextcloud-Online-Updater nicht einwandfrei durchgelaufen ist. Jetzt habe ich das ganze mal gelöst:

In der nginx-config von der Nextcloud direkt habe ich beim php-location-block folgendes eingetragen:

fastcgi_read_timeout 300;

Damit dauert es 5 Minuten, bevor PHP ein Timeout schießt (da geht sich das Update dann meistens aus). Durch die angegebene Direktive dauert es 5 Minuten, bevor nginx aufhört, auf eine Antwort vom FastCGI-Socket zu warten. (Danke an einen aufmerksamen Leser für die Info!)

Da ich das ganze noch hinter einem weitern nginx-Reverse-Proxy betreibe (nur eine IP, weil Business-Vertrag nicht leistbar), habe ich in dessen Config noch folgendes eingetragen:

proxy_read_timeout 300s;

Danach ist das Update problemlos durchgelaufen.

Links und Credit

https://distinctplace.com/2017/04/22/nginx-upstream-timed-out/

Nextcloud-Online-Updater hängen geblieben – Lösung

Heute ist mir der Nextcloud Online-Updater hängengeblieben. Dies macht sich dadurch bemerkbar, dass zB vom Webinterface behauptet wird, dass Step 4 currently in Progress ist, und er eigentlich herunterladen sollte, aber man keine Netzwerkaktivität feststellen kann.

Das Problem lässt sich ziemlich einfach beheben: Einfach im data-Ordner der Nextcloud den Ordner updater-IRGENDWAS suchen und diesen löschen. Danach kann man im Webinterface wieder von vorne anfangen

Links und Credit

https://help.nextcloud.com/t/stuck-on-update-process-step-5-is-currently-in-process-please-reload-this-page-later/58371/9

Yubikey für KDE-Lockscreen als U2F (2. Faktor) verwenden

Ich möchte an dieser Stelle einfach auf den Artikel von Yubico hier verweisen, und folgenden Tipp für KDE-Nutzer hinzufügen:

Ich habe anstelle der einzelnen Dateien im /etc/pam.d/ Ordner einfach den Befehl auth required pam_u2f.so in die /etc/pam.d/common-auth geschrieben. Damit habe ich auch am KDE-Lockscreen die 2FA-Authentication. Falls jemand von euch Tipps hat, wie man das selektiver lösen kann, gerne her mit Vorschlägen. Ich habe einfach die Datei für den kscreenlocker nicht gefunden.

LINKS und Credit

https://support.yubico.com/hc/en-us/articles/360013708900-Using-Your-U2F-YubiKey-with-Linux

Bootbaren Windows-Stick auf Linux erstellen

Als Linux-User ist man normalerweise verwöhnt, dass man Images, die man auf einem USB-Stick bootbar aufspielen will, einfach mit dd raufschreibt. Leider funktioniert das bei Windows meist nicht so einfach, weil man einen Master Boot Record braucht. Hier nun eine mögliche Lösung, wie man es trotzdem schaffen kann.

Hinweis: solltet ihr leicht wo Zugriff auf einen Windows-Rechner haben, nehmt diesen und installiert euch einfach Rufus. Geht meistens schneller.

Ansonsten hier die Anleitung unter Linux:

Zuerst lädt man sich ms-sys von Sourceforge herunter und kompiliert sich dieses (notwendig dafür sind die build-essential). Das Kompilieren selbst geht ganz einfach mit make && sudo make install.

Danach legt man auf dem USB-Stick eine NTFS-Partition an, z.B. mit fdisk:

sudo fdisk /dev/sdb
n
p
ENTER
ENTER
ENTER
t
7
w
sudo mkfs.ntfs -f /dev/sdb1

Wenn das erledigt ist mountet man sich das ISO-File und die neue Partition und kopiert den Inhalt der ISO-Datei auf die Platte:

sudo mount -t udf -o loop,ro,unhide WIN10.iso
sudo copy -avr /ISO_MOUNTPOINT /USB_MOUNTPOINT

Wenn das erledigt ist, kann man mit folgendem Befehl und dem Tool ms-sys den Master Boot Record anlegen:

sudo ms-sys -7 /dev/sdb
sudo sync
sudo unmount /USB_MOUNTPOINT

Jetzt kann man auch schon von dem Stick booten.

Links Und CreDit

https://www.cyberciti.biz/faq/create-a-bootable-windows-10-usb-in-linux/
https://sourceforge.net/projects/ms-sys/

Raspberry Pi als 3G/4G WLAN-Router mit OpenVPN-Verbindung

Vor einiger Zeit habe ich einmal versucht, einen Raspberry Pi 3 als 3G/4G WLAN-Router mit OpenVPN zu konfigurieren. Da ich damals keinen Artikel ausformuliert habe, hier meine nützlichen Links und mein damaliges Resümee:

  • Default-Routen können die Geduld auf die Probe stellen
  • wvdial funktioniert mit einem ZTE MF180 nicht so wirklich, NetworkManager funktioniert hier besser
  • NetworkManager kann auch ohne GUI konfiguriert werden, das funktioniert dann auch
  • Wenn man die Ethernet-Schnittstelle nicht verwenden möchte, sollte man sie auch nicht konfiguieren, (Default Routen sind eine Geduldsprobe).
  • Ein OpenVPN-Client mit der Option redirect-gateway def1 führt dazu, dass der gesamte Traffic über das VPN läuft.
Links und Credit

https://vpn-anbieter-vergleich-test.de/anleitung-raspberrypi-vpn-router/
https://hamy.io/post/0003/optimizing-openvpn-throughput/
https://thepi.io/how-to-use-your-raspberry-pi-as-a-vpn-router/
https://gist.github.com/superjamie/ac55b6d2c080582a3e64
https://stackoverflow.com/questions/43001223/how-to-ensure-that-there-is-a-delay-before-a-service-is-started-in-systemd
https://raspberrypi.stackexchange.com/questions/69866/wlan0-could-not-connect-to-kernel-driver
https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md
https://www.raspberrypi.org/forums/viewtopic.php?t=247225
https://filippobuletto.github.io/home-router-lte/#internet-connection
https://unix.stackexchange.com/questions/113975/configure-gsm-connection-using-nmcli/114006#114006
https://fedoraproject.org/wiki/Networking/CLI
https://askubuntu.com/questions/537406/configure-gsm-connection-using-shell-nmcli
https://www.tecmint.com/setup-linux-as-router/
https://unix.stackexchange.com/questions/365380/how-to-persist-ip-rule-and-route-whenever-server-rebooted
https://www.cyberciti.biz/faq/howto-linux-configuring-default-route-with-ipcommand/
https://www.digitalocean.com/community/tutorials/how-to-use-iproute2-tools-to-manage-network-configuration-on-a-linux-vpshttps://www.digitalocean.com/community/tutorials/how-to-use-iproute2-tools-to-manage-network-configuration-on-a-linux-vps
https://wiki.linuxfoundation.org/networking/iproute2
https://unix.stackexchange.com/questions/198554/3g-connection-with-wvdial-gets-no-ip-exits-with-code-16
https://www.raspberry-pi-geek.de/ausgaben/rpg/2015/06/der-raspberry-pi-als-3g-hotspot/2/

Zammad auf Debian mit externem NGINX Reverse-Proxy aufsetzen

Die Installation ist ziemlich einfach: Elasticsearch installieren, Zammad installieren, Elasticsearch konfigurieren, fertig (siehe Link unten).

Bei mir ist dann noch ein Problem mit HTTPS (Token-Error) aufgetreten, das ließ sich folgendermaßen lösen:

Bei jedem X-Forwarded-Proto statt $scheme https reinschreiben:

server {
        listen 80;
        server_name zammad.example.com;
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl;

        server_name zammad.example.com;

        # SSL
        ssl_certificate /etc/letsencrypt/live/zammad.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/zammad.example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/zammad.example.com/fullchain.pem;

    access_log /var/log/nginx/zammad.access.log;
    error_log  /var/log/nginx/zammad.error.log;

    client_max_body_size 50M;

    location ^~ / {
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header CLIENT_IP $remote_addr;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https; 
# siehe https://community.zammad.org/t/fresh-install-3-2-x-csrf-token-verification-failed/3080/32v
        proxy_read_timeout 300;
        proxy_pass http://IP.OF.ZAMMAD.MACHINE/;

    }
        include _general.conf;
}
Links und Credit

https://docs.zammad.org/en/latest/install/debian.html

standardnotes selbst hosten

Ich habe mir eine Standard-Notes-Instanz zuhause selbst aufgesetzt, so einfach wie das ist nur selten etwas: Einfach die Anleitungen (siehe unten) befolgen, einmal eine nginx-Instanz auf der Docker-VM, einmal eine nginx-Instanz auf dem Reverse-Proxy (falls ihr einen eigenen habt), und die Sache läuft.

Links und Credit

https://docs.standardnotes.org/self-hosting/docker
https://docs.standardnotes.org/self-hosting/https-support

Nützliche Windows Tools/Kommandos

Hier eine kurze Sammlung von nützlichen Befehlen und Tools für Windows-User und Admins (Tipps in den Kommentaren werden gerne aufgenommen, dieser Artikel wird ständig erweitert):

Commands (Win + R)

  • ncpa.cpl
    -> Netzwerkeinstellungen öffnen
  • appwiz.cpl
    -> Software deinstallieren
  • control
    -> Systemsteuerung öffnen
  • compmgmt.msc
    -> Computermanagement öffnen
  • wf.msc
    -> Windows Firewall öffnen
  • gpedit.msc
    -> Gruppenrichtlinien öffnen
  • regedit
    -> Registry öffnen
  • services.msc
    -> Windows Dienste (Services) öffnen
  • mstsc
    -> Remote Desktop Client
  • systempropertiesadvanced
    -> Name ist Programm
  • useraccountcontrolsettings
    -> Name ist wieder Programm
  • powershell
    -> Und nocheinmal Name Programm
  • cmd
    -> Command Prompt
  • winver
    -> Windows Version
Links und Credits:

Chris Titus Tech – 14 Windows Commands Every User Should Know
https://christitus.com/debloat-windows-10-2020/
https://christitus.com/ultimate-windows-setup-guide/
https://christitus.com/windows-10-scripts/
https://christitus.com/ultimate-windows-10-install-iso/
https://christitus.com/windows-10-optimization-guide/



ddclient als Daemon für DynDNS verwenden

Ich betreibe privat Server hinter dynamischen IP-Adressen. Mein Domain-Provider core-networks.de (kann ich sehr empfehlen), bietet für meine Domains auch einen DynDNS-Dienst an. Den nutze ich auf einer Debian-Maschine mit dem Tool ddclient.

Dieses Tool installiere und konfiguriere ich wie folgt:

  1. Installation mit dem Befehl apt update && apt install ddclient
  2. In der Datei /etc/ddclient.conf werden die Einstellungen für den DynDNS-Provider festgelegt, core-networks.de hat hier seine Config im FAQ stehen.
  3. In der Datei /etc/default/ddclient stelle ich folgende Optionen um:
    1. run_ipup auf false
    2. run_daemon auf true
  4. Mit dem Befehl systemctl start ddclient starte ich den ddclient als systemd-Dienst.
  5. Damit das ganze auch beim Neustart noch funktioniert, mache ich noch ein systemctl enable ddclient

Damit ist das ganze schon wieder erledigt, und meine IP-Adresse wird zuverlässig bei core-networks.de aktualisiert, sobald sie sich ändert.