zum scannen neuer Files, die nicht über die Oberfläche hinzugefügt wurden.
Das hier ausführen
su -s /bin/bash www-data php occ files:scan --all
Quelle: hostflash.de
zum scannen neuer Files, die nicht über die Oberfläche hinzugefügt wurden.
Das hier ausführen
su -s /bin/bash www-data php occ files:scan --all
Quelle: hostflash.de
Es geistern mehrere Lösungen rum, die netdata mit basic auth und nginx abzusichern.
Es geht aber auch mit einer reinen Apache Lösung, die auch in der Doku von netdata beschrieben ist.
Hier meine Gedächtnisstütze.
ich verwende ISPconfig, entsprechend sind hier die notwendigen Einträge bei der Website in der Config.
Apache Direktiven:
RewriteEngine on RewriteRule ^/\.well-known/carddav /nextcloud/remote.php/dav [R=301,L] RewriteRule ^/\.well-known/caldav /nextcloud/remote.php/dav [R=301,L] RewriteRule ^/\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L] RewriteRule ^/\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L] Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" Require all granted # Local Netdata server accessed with '/netdata/', at localhost:19999 ProxyPass "/netdata/" "http://localhost:19999/" connectiontimeout=5 timeout=30 keepalive=on #ProxyPass "/netdata/" "unix:/var/run/netdata/netdata.sock|http://localhost:19999/" connectiontimeout=5 timeout=30 keepalive=on If ProxyPassReverse "/" "http://localhost:19999/" # if the user did not give the trailing /, add it # for HTTP (if the virtualhost is HTTP, use this) RewriteRule ^/netdata$ http://%{HTTP_HOST}/netdata/ [L,R=301] # for HTTPS (if the virtualhost is HTTPS, use this) #RewriteRule ^/netdata$ https://%{HTTP_HOST}/netdata/ [L,R=301] # add a section AuthType Basic AuthName "Protected site" AuthUserFile /etc/apache2/.htpasswd Require valid-user Order deny,allow Allow from all
Damit ist Let's Encrypt frei Haus, da die Hauptdomain bereits ssl enabled ist.
Jetzt nicht vergessen, mit
htpasswd -c /etc/apache2/.htpasswd monitoruser
einen user für die "basic auth" anzulegen.
und dann kann in /etc/netdata/netdata.conf bind auf localhost gestellt werden.
... und die vorhandende Firewall Freischaltung für Port 19999 kann dann auch gleich raus. Denn die Kommunikation damit findet nur jetzt nur lokal statt.
Nee, hier kommt jetzt kein Jammer Artikel, weil alles so fürchterlich ist, sondern einer, der beschreibt wie ich ein proprietäres Programm, dass leider nicht mehr upgedatet wird, auf den Bullseye Server zum laufen gebracht habe.
Dies ist für mich eine Dokumentation, damit ich bei update oder Problemen eine Gedankenstütze habe.
Worum geht es?
Seit etlichen Jahren tat eine Webanwendung eines Freundes ihren treuen Dienst.
Es handelt sich um eine Individualanwendung zur Kunden- und Auftragsverwaltung. Nennen wir sie cruzifix.
Nach einem Serverumzug auf eine neuere Hardware und Neuinstallation von Debian Bullseye wollte das Programm einfach nicht mehr fehlerfrei laufen.
Eingegrenzt hatte ich die Ursache auf eine zu neue mysql / MariaDB Version. Eigentlich war meine Analyse korrekt.
Wie sich aber später heraus stellen sollte, gäbe es eine Lösung, ohne den ganzen Aufwand den ich jetzt hoffentlich ohne zu große Lücken aus dem Gedächtnis und meinen Aufzeichnungen in meinem Desktop wiki darstelle.
Ich kam zu dem Schluss, dass ich eine Docker instanz, oder eine virtuelle Maschine verwenden wollte, um cruzifix eine neue Heimat zu geben.
Eine einfache Lösung wäre eine VM, mit einer extra IP Adresse, den entsprechenden DNS darauf setzen, fertig.
ich habe einigen Aufwand betrieben dies umzusetzen, scheiterte aber an der Erreichbarkeit der VM von außen. Klarer Fall von mangelndem Wissen der Netzwerk Struktur.
Na, dachte ich, dann ist eine Docker Lösung doch vielleicht die bessere Lösung, keine Extra IP, kein zusätzliches Ssytem, welches ja auch betreut werden will. Ausserdem ist das gewählte System ja auch aus dem Support raus und dann ist wieder großer Aufwand, so habe ich mir das schön geredet.
Kurz zuvor habe ich erfolglos mysql-sandbox und dbdeployer ausprobiert
Also frisch ans Werk.
Rudimentäres Wissen zu docker ist vorhanden, da dachte ich, "nimmste gleich was aktuelles"
also mit der neuesten Version.
Nur als Stütze, es stellte sich heraus, dass hello-world war nicht zum funktionieren zu bringen.
Also nicht verwenden ( lag wohl am nicht installierten apparmor, was aber nicht so aus dem Fehlerverhalten lesbar war.)
nano /etc/apt/sources.list.d/docker.list apt install docker-compose docker.io docker run hello-world
Dann also mit den Bullseye Bordmitteln...:
apt install docker-compose docker.io apparmor docker pull mariadb # offizielles image von https://hub.docker.com/_/mariadb
Der Name buster-mariadb ist ein Beispiel, er entstand wegen der Volume Testerei Geschichte, könnte man auch schlauer gewählt haben.
Die Option -v /var/backup/buster-mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mgeheimsql # stellt das Verzeichnis /var/lib/mysql dem Host auf /var/backup/buster-mysql und das mysql passwort auf mgeheimsql.
Bleibt die Option --sql_mode="" # Dadurch werden Sicherheitsfeatures der neueren MariaDB Version abgeschaltet, deshalb läuft dann cruzifix auch mit der mysql 5.7 und aktueller
docker run --name buster-mariadb -v /var/backup/buster-mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mgeheimsql -d a3871bf45d8a --sql_mode=""
Zu --sql_mode=""
Hiermit kann das Problem abgestellt werden, dass cruzifix viele Fehler wie z.:b no group by und so weiter wirft. set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
Indem ich --sql_mode=""
setze, habe ich das Problem für die einzelne "cruzifix"-Datenbank behoben.
In einem Satz ausgedrückt: Es ist auch möglich, ohne Docker zu arbeiten, aber dann müssten für alle DB-Anwendungen auf dem Server die Optionen gesetzt werden, was wahrscheinlich deutlich mehr Aufwand bedeutet als die Verwendung einer Docker-Instanz.
Ich habe mir noch einen Alias gebaut.
Alias DS='docker stats --no-stream'
Häufige docker commands:
docker ps docker update --restart unless-stopped buster-mariadb docker stop buster-mariadb docker exec -it buster-mariadb /bin/bash docker image ls docker container ls
Werde ich noch etwas ergänzen mit deteils zum Backup, zu den docker commandos ...
Ich habe es mir zur Gewohnheit gemacht, bei wichtigen emails an für mich neue Empfänger, immer den Übermittlungsstaus DSN anzufordern.
Klappt immer, außer in diesem Fall.
Eine mail an eine Geschäftsadresse kommt an, ich bekomme aber nicht die DSN.
Ist das denn optional?
Ziel war: mx01.hornetsecurity.com
Ich hatte bisher den Eindruck, dass das ein Pflichtattribut ist...
Aber nein,
Ich stelle immer wieder fest, das ich nach einer Neuinstallation nicht auf Anhieb an alle Helferlein und Tools denke, die mir in meinem Dasein als Debian Nutzer ans Herz gewachsen sind.
Deshalb hier die lose Zusammenstellung meiner Favoriten mit kurzer Erläuterung dazu.
Die Reihenfolge hat keine Bedeutung, sind mir halt so eingefallen.
Paketname | Paket Beschreibung | Bemerkung |
ncdu | ncurses disk usage viewer | Unentbehrlich, um die Platzverschwender zu orten und auch gleich ggfs. zu löschen |
dlocate | fast alternative to dpkg -L and dpkg -S |
Wenn man mal wieder nicht weiß zu welchem Paket eine Datei gehört. Das Paket muß natürlich auch installiert sein. |
mlocate | quickly find files on the filesystem based on their name | locate -i mitgliedschaft findet alle Dateien mit mit diesen Namen |
apt-file | search for files within Debian packages (command-line interface) | Gegenüber dlocate findet es auch Dateien in nicht installierten Pakteten. Erstellt dazu eine Datenbank |
localepurge | Reclaim disk space removing unneeded localizations |
Einmal konfiguriert, tut es zuverlässig seinen Dienst, allerdings verlangsamt es ein apt-get install bzw. upgrade.... |
htop | interactive processes viewer | Das bessere top |
iotop | interactive IO Viewer | Welcher Prozess macht am meisten IO? |
debian-goodies | Kleine Programmsammlung für Debian-Systeme | u.a. dpigs |
tlp | Save battery power on laptops | Wenn man einen Laptop hat, nützlich um die Ladeschwelle für den Akku einzustellen |
hdapsd | HDAPS daemon for various laptops with motion sensors | Fallschutz für Laptops |
smartmontools | control and monitor storage systems using S.M.A.R.T. | Gesundheit der Platten überwachen |
inxi | full featured system information script |
z.B. mit inxi -v6 eine Äbersicht gewinnen |
aha |
ANSI color to HTML converter |
z.B. inxi -v6|aha >t500.html |
shellcheck | Prüft ein Shell Script auf typische Fehler | z.B. shellcheck mein-script.sh |
wavemon | Überwachung von Wireless-Geräten | Mit Wavemon lassen sich Signal- und Rauschpegel, Paketstatistik, Gerätekonfiguration und Netzwerkparameter von Wireless-Netzwerkgeräten anzeigen |
tidy | html aufbereiten und formatieren | Bei HTML-Varianten erkennt, meldet und korrigiert es und korrigiert viele häufige Kodierungsfehler und in den meisten Browsern funktioniert für mich aber das wichtigste, es kann html output von mysql anständig formatieren und editierbar machen |
pastebinit | pastebin für die Console mit -P privat, ideal um längere Texte in Foren zu pasten |
z.B. pastebinit -P x.log |
Ja, ich hatte neugierigerweise Stadia gebucht und mal kurz ausprobiert. Damals gab es den Stadia Contoller als Bundle, das hatte ich mir geschnappt.
Nun ist Stadia beendet worden, den Controller kann man behalten, das Geld gab es zurück.
Spielen geht ja bei den Steam Spielen einwandfrei.
Nachteilig ist (besser: war) nur, dass man den Controller per USB verbinden musste.
Dann gab es Mitte Januar die Meldung, dass man den Controller zu einem bluetoothfähigen Controller zu machen.
Leider nur mit einem Windows Rechner.
Heute habe ich nochmal geschaut, jetzt wird auch Linux unterstützt. Und der Support bis Ende des Jahres 2023 verlängert.
Hat prima funktioniert, deshalb kurz die Notizen:
Beim Debian bookworm ging das einwandfrei, sudo natürlich weg gelassen, da ich das nicht installiert habe.
Dann Anleitung befolgt.
Fertig, klappt super. Danke Google!
Hier noch die Funktionen und Belegung des Controllers.
Lange war ich auf der Suche, wie man den Akku Füllstand des Controllers anzeigen kann.
Die Lösung: Das ist bereits vorhanden, nur mit den Vorgabeeinstellungen nicht so leicht zu erkennen.
Wie links dargestellt, habe ich nun für die shell das Transparent Theme ausgewählt, nun ist nicht nur der Akku Ladezustand deutlich besser lesbar!
Ich habe meinen Junk Ordner aufgeräumt und die Aufbewahrungszeit auf 60 Tage beschränkt.
Warum schreibe ich das?
Um es mir zu merken und darauf hinzuweisen, das auf dem rootserver ein Script läuft, welches die Spam/Junk Ordner scannt und mittels spamassisin den Bayes Filter füttert.
Leider war das Script seit einiger Zeit inaktiv, als mir das heute affiel habe ich das Script etwas angepasst und fiel über die Größe meines Junk Ordners, der war bei >1100 Messages. Den Mist braucht man ja nun wiklich nicht zu lange aufheben...
Ich bin Fritzbox Nutzer, ich verwende den integrierten DNS Server, (genauer wohl ein resolver Cache)
Da ich auch einige Domain mit DNS Robot von Hetzner betreue, kommt es nach IP Änderungeen dort zu merkwürdigen Seiteneffekten.
Wenn es Unterschiede in der DNS Auflösung zwischen dig, host und ping gibt, könnte es daran liegen, das in der FB ein Cache benutzt wird, den ping abfragt.
Die Lösung könnte sein, dass man einmal den DHCP-Server deaktivieren und gleich wieder aktivieren muß.
Wenn das hier einfach nicht klappen will:
ssh -X user@ipadresse rxvt urxvt: can't open display :0, aborting
Dann muss das nicht an Wayland liegen, sondern daran, dass auf beiden Seiten xauth installiert sein muß!
Puh!
Ich freue mich wie ein kleines Kind!
Wenn es soweit ist, muß ich unbedingt mal wieder eine Lan Party machen.
Zum Appetit holen, ein Blick auf die neuen Spiel Typen: new-game-types-for-world-of-padman/
ich habe mir ein weiteres Script für Nautilus gestrickt.
Ab- und zu braucht man mal die Namen einer Anzahl von Dateien, zur Weiterverwendung z.B. Dokumentation o.ä.
Das script macht das einfach, es kopiert die Dateinamen in das Clipboard und als Addon auch mit den Pfaden der Dateinamen.
Nach dem starten vom Script copy-filenames.sh
erscheint das Ergebnis augenblicklich im clipboard
Das Script:
#!/bin/bash
#
# Titel: copy_filenames.sh
# Autor: Bed [@] zockertown.de
# Web: zockertown.de/s9y/
# Version 0.4
# $Revision: 1.2 $
# Voraussetzung: Benötigt wird xsel
# Zweck: kopiert die Dateinamen als Liste zur weiteren Verarbeitung
# zum Clipboard
# eine weitere Variante enthält alle Fullpath namen in einem Rutsc
if [ ! -f /usr/bin/xsel ]
then
echo "Bitte xsel installieren."
exit 1
fi
TMP=/tmp/allin.txt
rm -f $TMP
for file in $NAUTILUS_SCRIPT_SELECTED_URIS
do
file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e 's/.*\///g')
file_folder=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g' -e "s/$file_name//g")
echo "$file_name"|xsel -ib
echo "$file_folder$file_name ">>$TMP
# sleep ist notwendig, weil ohne Verzögerung werden Einträge unterschlagen
sleep 0.1
done
cat $TMP|xsel -ib
rm $TMP
Dreh- und Angelpunkt ist das cmdline tool xsel. Es kann Einträge zum Clipboard hinzufügen.
Macht man zuviele Einträge hintereinander unterschlägt es einzelne Einträge, deshalb habe ich sleep 0.1 in der Schleife eingebaut.
Ich nutze gnome 42 als Desktop.
Bisher nahm ich immer clipman als Clipboard Manager, weil einfach keine andere extension funktionierte, bzw. vorhanden war.
Heute nun verschwand der clipman, einfach nicht mehr da.
auch ein install/enable mit
gnome-extensions enable gnome-clipboard@b00f.github.io
wollte nicht funktionieren.
in der WebGui https://extensions.gnome.org/local/ ist die Rede von Ihr nativer Host-Connector unterstützt die folgenden APIs nicht: v6.
Was mich zu allerlei Versuchen verleiteten, die allesamt nicht halfen.
Auch das nun vorhandene gnome-clipboard liess sich nicht einschalten.
und wenn, dann tauchte es als icon einfach nicht in der Leiste auf.
Irgendwann kam ich dann auf die Lösung. Die Extensions waren disabled!
Muss man erst mal drauf kommen, denn in der WebGui war das nicht zu erkennen
Eigentlich trivial.
Ich dokumentiere idas hier, weil ich eine Zeilennummerierung der Ausgabe sehr einfach realsiert habe und das mir merken möchte.
#!/bin/bash # roundcube-users.sh $Revision: 1.5 $ # changed wieder rausgenommen, fehlt der richtige dreh # Mit Zeilennummerierung echo "SELECT (@row := @row + 1) as Nr, username,created,last_login,failed_login,failed_login_counter \ from roundcube.users r, (SELECT @row := 0) row \ where username like '%$1%' \ order by last_login desc;"|\ mysql -S /var/run/mysqld/mysqld.sock --table if [ "$#" -ne "1" ] then bold=$(tput bold) normal=$(tput sgr0) #gelb=$(tput setaf 3) gruen=$(tput setaf 2) black=$(tput setaf 0) echo "---------------------------------------------------------------" echo "$bold Tipp:$normal" echo " Die Anzeige kann auch durch einen$gruen Teilstring$normal eingeschränkt werden. " echo "$bold Beispiel:$normal" echo "$0$gruen bik$normal" fi
Gefunden bei
https://www.askingbox.de/frage/mysql-reihen-im-ergebnis-nummerieren
Und ich benutze nun nicht mehr die Debian Spezialität --defaults-extra-file=/etc/mysql/debian.cnf,
sondern den Socket /var/run/mysqld/mysqld.sock
Auf einer lokalen Umgebung macht das Sinn, da der Socket ohnehin rootrechte hat.
Jetzt mit bookworm habe ich mein Mono Headset Jabra evolve 65
ohne Dongle connected.
Mikro wollte nicht gleich.
Es muß ein anderes Gerät als input gewählt werden,
dann geht's.
Update:
Das plugin/Addon Auto select headset
funktioniert prächtig.