Linux

  • Apache HTTPD,  DevOps,  Ubuntu

    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 Ein Apache Virtual Host ist Vorausssetzung für die nächsten Schritte. Die Einrichtung habe ich in Teil 1 beschrieben. HTTPS Zugriff durch die Firewall Der aktuelle Status der Firewall wird mit ufw abgefragt: Um eingehende HTTPS Anfragen…

  • Apache HTTPD,  DevOps,  Github,  Ubuntu

    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…

  • Debian,  Linux,  RedHat,  Ubuntu

    Identifying the Process on an Open Port

    There are several ways to find the process on an open port. As an example, let’s find out which process is running on port 5000. The first attempt could be to use `grep` on the port with ps -ef. This approach is only successful if a process receives the port as an argument. This is only the case in a few instances. LSOF The lsof command with the -i option followed by :<PORT> displays the processes that are keeping this port open. 💡If you are not the technical user under which the process is running, you will not see any output. Using sudo or as the user who owns the…

  • Linux,  SystemD

    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…

  • Debian,  Korn Shell / Bash,  Linux,  RedHat,  Ubuntu

    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:…