Linux
-
HTTPS Setup für eine Flask Anwendung – Teil 2
Im ersten Teil habe ich die Einrichtung des Ubuntu Servers für meine kleine Webanwendung für den isländisch Kurs beschrieben. Im zweiten Teil möchte ich kurz auf die HTTPS Einrichtung eingehen. Die DigitalOcean Anleitung für Ubuntu 18.04 funktioniert nicht unter Ubunt 20.x. Bitte darauf achren, die Anleitung für das eingesetzte Ubuntu Release (hier 20.04) zu verwenden, falls vorhanden. Das verwendete Repository ppa:certbot/certbot ist im Status DEPRECATED. Daher wird der Certbot für die Let’s Encrypt Zertifikate apt install python3-certbot-apache Ein Apache Virtual Host ist Vorausssetzung für die nächsten Schritte. Die Einrichung habe ich in Teil 1 beschrieben. HTTPS Zugriff durch die Firewall Der aktuelle Status der Firewall wird mit ufw abgefragt: sudo…
-
Digitalocean Setup für eine Flask Anwendung – Teil 1
Dieser Blog wird Teil einer Serie für eine Web Anwendung in Python auf einer Cloud Instanz. Ich habe mich für DigialOcean entschieden. Linode, Azure, GCP, … wären alle genau so gut für diesen Zweck. Die Anwendung wird aus einer Liste von Vokabeln ein Wort in Deutsch heraussuchen und anzeigen. Auf einer zweiten Seite wird die Übersetzung des Worts und die Deklination angezeigt. Im ersten Teil werde ich die Einrichtung des Servers beschreiben. Teil 2 wird die HTTPS Konfiguration behandeln. Teil 3 schliesslich beschreibt die Python Flask Anwendung und deren Deployment mit Github Actions. Teil 4 wird die Einrichtung der Subdomain is.hslomka.de und die Umleitung auf meinen Server beinhalten. Das Ergebnis…
-
Prozess zu einem offenen Port ermitteln
Um den Prozess zu einem offenen Port zu finden gibt es verschiedene Möglichkeiten. Als Beispiel wollen wir für einen Port 5000 in Erfahrung bringen, welcher Prozess dahinter läuft. Der erste Versuch könnte ein grep auf den Port mit ps -ef sein. Dieser Ansatz ist nur ergfolgreich, wenn ein Prozess den Port als Argument übergeben bekommt. Das ist nur in wenigen Fällen so. LSOF lsof mit der Option -i gefolgt von :<PORT> werden die Prozess angezeigt, die diesen Port offen halten.❗ Wenn man nicht der technische Benutzer ist, unter dem der Prozess läuft, sieht man keine Ausgabe: Mit sudo oder als Benutzer, dem der Prozess gehört, wird der Prozessnamen und die…
-
Essentielle systemd Befehle
Zur Verwaltung und Überwachung der Systemd Dienste sind hauptsächlich zwei Befehle zuständig: systemctl journalctl Systemctl systemctl dient zur Verwaltung von Systemd Services (Starten, Stoppen, Neustart, Status Abfragen): systemctl [stop|start|restart|reload|status] rsyslog.service Service de-/aktivieren (permanent) systemctl enable rsyslog.service systemctl disable rsyslog.service Abfrage, ob ein Service aktiviert ist: systemctl is-enabled rsyslog.service; echo $? Anzeige einer Service Definition systemctl cat rsyslog.service --no-pager /usr/lib/systemd/system/rsyslog.service [Unit] Description=System Logging Service ;Requires=syslog.socket Wants=network.target network-online.target After=network.target network-online.target Documentation=man:rsyslogd(8) Anzeige der fehlgeschlagenen Dienste systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION ● pctl.service loaded failed failed LSB: Start the perfd daemon LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of…
-
Welcher Prozess belegt wieviel Swap?
Wenn die Kommandos (in den Linux Varianten Debian, Ubuntu, RedHat und ähnlich) free cat /proc/swaps swapon -s eine hohe Auslastung des Swap Spaces anzeigen, kommt die Frage nach dem Verbraucher des Swap hoch. Folgendes Miniskript gibt die Liste der Prozesse nach Größe des belegten Swap an. Mit der Variable THRESHOLD kann man die Liste auf die Verbraucher eingrenzen, die mehr als diesen Wert in kB an Swap belegen. THRESHOLD=5000 for pid in `ls /proc`; do vmswap=`awk '/VmSwa/{print $2}' /proc/${pid}/status 2>/dev/null`; if [ ${vmswap} -gt ${THRESHOLD} ];then pName=`ps -ef|awk '$2=="'"${pid}"'" {print $8}'`; echo "PID ${pid}: ${vmswap} kB (${pName})"; fi; done 2>/dev/null|sort -un -k3 Die Ausgabe sieht wie folgt aus: PID 123857:…