Canonical Multipass Volume vergrößern

Die Firma Canonical bietet eine Virtualisierung mit dem Namen Multipass in Snap Store an.

Die Installation ist sehr einfach.

sudo snap install multipass

Jetzt erstellen wir eine virtuelle Instanz mit 2 vCPU und 1GB RAM und 10GB Speicherplatz.

multipass launch --name myUbuntu --cpus 2 --mem 1G --disk 10G 20.04

Doch wir kann man nachträglich den Speicherplatz vergrößern?

Dazu müssen wir die QEMU Utils installieren.

sudo apt install qemu-utils

In diesem Verzeichniss befindet sich das Image für die virtuelle Maschine.

cd /var/snap/multipass/common/data/multipassd/vault/instances/myUbuntu/

Wir werden den Speicherplatz um zusätzlich 10GB vergrößern.

sudo qemu-img resize ubuntu-20.04-server-cloudimg-amd64.img +10G

Apache mit Zertifikat von Letsencrypt

Schon in seit Jahren gibt es kostenlose Zertifikate von Letsencrypt, jedoch gibt es seit Apache 2.4 ein Modul zum automatischen aktualisieren der Zertifikate. Zusätzliche Software wie der Certbot ist nicht mehr notwendig.

Die Installation von Apache erfolgt aus den Ubuntu Paketen.

sudo apt install apache2

Die notwendigen Modulle für SSL, OCSP Stapling und Modul „MD“ müssen aktiviert werden.

sudo a2enmod ssl md socache_shmcb

Weiterlesen

kostenlose Zertifikate von Letsencrypt

Schon in seit Jahren gibt es Kostenlose SSL Zertifikate von Letsencrypt und seit Ubuntu LTS 18.04 ist die Software in den Paketen enthalten.

Die Installation vom Certbot ist sehr einfach.

sudo apt install certbot

Das Zertifikate für die Domain example.com wird so erstellt.

certbot certonly --standalone --email name@example.com --agree-tos --rsa-key-size 2048 -d example.com -d www.example.com

Mit Hilfe eines Timer wird das Zertifikat automatisch aktualisiert.

systemctl status certbot.timer

Die Überprüfung der Domain (example.com) findet über Port 80 statt, welche frei sein muss. Läuft dort schon ein Webserver, so gibt es eine Fehlermeldungen.

Ubuntu Crash Report (Whoopsie)

Wenn Sie den Ubuntu Desktop installiert haben, könnte Ihnen vielleicht nach dem Start ein Dialogfenster auffallen mit dem Inhalt „Es wurde ein Problem mit einer Systemanwendung festgestellt“ und „Möchten Sie das Problem jetzt melden?“. Es gibt zwei Möglichkeiten „Abbrechen“ und „Problem melden“.

Woher kommt die Meldung?

Die Anwendung „/usr/bin/whoopsie“ erzeugt bei einem Fehler einen Report und sende Ihn an Ubuntu. Dieser Report liegt im Verzeichnis /var/crash/.

Deaktivieren kann man die Übertragung mit einer Konfiguration.

sudo vim /etc/default/whoopsie

[General]
report_crashes=false

Whoopsie läuft als Dienst.

systemctl status whoopsie.service

Die De-Installation gelingt hiermit.

sudo apt purge whoopsie whoopsie-preferences

Quelle: Ubuntu ErrorTracker

Docker Compose als Container verwenden

Docker Compose kann man auf unterschiedlichen Wegen installieren.

Seit Ubuntu 16.04 (xenial) ist das Paket enthalten und kann direkt installiert werden.

sudo apt install docker-compose

Es gibt jedoch auch ein Docker Image von Compose.

docker pull docker/compose

Gestartet wird Compose im dem Parameter version.

docker run docker/compose version

Der Start von docker-compose up von Datei docker-compose.yml ist so nicht möglich.

Dazu braucht es noch eine Mount zum Docker Socket und zum aktuellen Verzeichnis.

docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v "$PWD:$PWD" \
    -w="$PWD" \
    docker/compose up

Mit einem Alias kann man docker-compose up normal verwenden.

echo alias docker-compose="'"'docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v "$PWD:$PWD" \
    -w="$PWD" \
    docker/compose'"'" >> ~/.bash_aliases

Quelle: Docker Compose Install

Grub Update per Linux Rescue-System

Sollte es eine Fehler beim starten vom Bootmanager Grub geben, so muss man ein Linux Rettungssystem starten. Der Boot-Manager mit dem Defekt befindet sich auf einer Festplatte (/dev/sda1).

1. Mount der Festplatte im Rettungssystem

sudo mount /dev/sda1 /mnt

2. Mounten der Systemverzeichnisse

sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /proc /mnt/proc
sudo mount -o bind /sys /mnt/sys

oder so…

for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt/$dir; done

3. Rooten von Festplatte

sudo chroot /mnt

4. Grub neu schreiben

Die Einstellungen von Grub sind in /etc/default/grub gespeichert oder im Verzeichnis /etc/default/grub.d/.

sudo update-grub

Quelle: Debian Grub

MongoDB Passwort erstellen

MongoDB erstellt keine Benutzeranmeldung nach der Installation.

Wir legen also einen Benutzer „admin“ mit einem Passwort „new_password_here“ als Root in der Datenbank „admin“ an.

use admin
db.createUser({user:"admin", pwd:"new_password_here", roles:[{role:"root", db:"admin"}]})
db.auth("admin", "new_password_here")

Dem Service müssen wir die Anmeldung über den Parameter „auth“ mitteilen.

sudo nano /lib/systemd/system/mongod.service

ExecStart=/usr/bin/mongod --auth --config /etc/mongod.conf

Oder wir setzen den Wert „authorization“ in der Konfiguration.

sudo nano /etc/mongod.conf

security:
  authorization: enabled

In der Kommandozeile ist der Aufruf per Parameter möglich.

mongo -u admin -p new_password_here --authenticationDatabase admin

Quellen: Mongodb Handbuch

Webserver per LTE Mobilfunk über SSH Tunnel bereitstellen

In diesem Artikel wollen wir einen Web-Server ohne öffentliche IP Adresse mit einem LTE Stick im Internet betreiben. Dazu brauchen wir zusätzlichen einen virtuellen Server mit einer festen öffentlichen IP Adresse. Ein virtuellen Server (1 vCPU + RAM 512MB + SSD 10G) gibt es ab 1,- EUR pro Monat. Der vServer sollte eine feste IPv4 und IPv6 Adresse haben.

+=============================+          +=========+         +==========+
| Privater Server + LTE Stick |--dyn.IP--| vServer |-fixe IP-| Internet |
+=============================+          +=========+         +==========+

Bei einer Verbindung mit dem Mobilfunknetz per LTE Stick wird dem Teilnehmer eine private IPv4 (10.xx.xx.xx) dynamisch zugewiesen. Diese IP wird per NAT mit einer öffentlichen IPv4 Adresse verbunden. Nur einige Mobilfunkanbieter verteilen schon IPv6 Adressen, jedoch kein Anbieter bietet eine feste IP Adresse an. Der private Server soll jedoch immer unter der gleichen Adresse erreichbar sein.

Auf die Einrichtung vom LTS Stick, Mobil- und SSH-Verbindung werde ich nicht weiter eingehen. Es soll hier nur kurz und kompakt die Einrichtung eine SSH Tunnel beschrieben werden.

Weiterlesen

VPN Wireguard mit Ubuntu 20.04 in drei Schritten

Mit Ubuntu LTS 20.04 wird das Kernel Modul für Wireguard ausgeliefert. Eigentlich ist Wiregaurd erst in Kernel 5.6 enthalten, jedoch verwendet Ubuntu 20.04 den Long Term Kernel 5.4. Das Kernel Modul für Wireguard wurde extra von Kernel 5.6 in 5.4 zurück portiert und ist somit sofort nutzbar.

In diesem Artikel beschreibe ich die Einrichtung von Wireguard für den Client und Server.

Wir installieren die Wiregard Tools und einen Programm zur Erzeugung von QR-Codes.

sudo apt-get install wireguard-tools qrencode

Für die Konfiguration legen wir zwei Verzeichnisse an.

sudo mkdir -p /etc/wireguard /root/wireguard

Weiterlesen