Proxmox VM von Anfang an sehen

Wenn man bei Proxmox eine VM startet, dauert es meist, bis man mittels NoVNC ein Bild bekommt. Um dennoch eventuelle Startoptionen (BIOS etc.) drücken zu können, gibt es einen Trick:

Unter den VM-Optionen gibt es die Option „Freece CPU at startup„, diese setzt man auf „Yes„, danach fährt man die VM herunter.

Nun geht man in Shell von Proxmox (am besten in einem anderen Fenster mittels SSH) und gibt folgendes ein:

qm monitor VM_ID

Nun kommt man in die Monitor-Option von QEMU. Anschließend kann man die VM ohne Stress starten, NoVNC öffnen (Hier steht nun „VM has not initialized graphics“ oder ähnliches), und wenn man sich alles schön angeordnet hat, kann man im Terminal ein „c“ schreiben, und die VM beginnt zu booten.

Sobald man alles erledigt hat, sollte man nicht vergessen, die Option wieder raus-zunehmen, ansonsten wundert man sich das nächste Mal, wenn keine Maschine mehr hochkommt.

Links und Credit

https://forum.proxmox.com/threads/how-to-enter-safe-mode-in-windows-2003-f8-does-not-work.20031/
https://docs.ansible.com/ansible/latest/modules/proxmox_kvm_module.html
https://en.wikibooks.org/wiki/QEMU/Monitor

Nextcloud-CalDav mit Thunderbird 60.x

Update: Der einfachere Weg ist, auf Thunderbird 67 mit der neueren Lightning-Version upzudaten, welche die untenstehenden Probleme behebt.

Leider gibt es nach wie vor Probleme mit Thunderbird 60 beim Synchronisieren der Nextcloud-Kalender. Diese äußern sich dadurch, das sich der Kalender zwar ohne Probleme hinzufügen lässt, aber ohne irgendeine Fehlermeldung einfach keine EInträge synchronisiert. Es gibt zum Glück einen Workarround:

  • Thunderbird-Einstellungen öffnen
  • Auf Erweitert/Advanced drücken
  • Den Konfigurations-Editor/Config-Editor öffnen
  • Den Parameter „network.cookie.same-site.enabled“ auf „false“ setzen.
  • Neu synchronisieren, nun sollte es funktionieren.
Links Und Credit

https://github.com/nextcloud/server/issues/10134#issuecomment-411315059

Nützliche Kommandozeilen-Programme

Als Server-Administrator ist man naturgemäß viel in der Kommandozeile unterwegs. Der gute Martin Leyrer vom C3W hat in den letzten Jahren mehrere Vorträge gehalten, in der er nützliche Tools zeigt, die auch mit der UNIX-Philosophie übereinstimmen. Hier sind die Links:

Easterhegg 2018 – Moderne Kommandozeilen Werkzeuge

GPN18 – Moderne Kommandozeilen Werkzeuge

GPN19 – Moderne Kommandozeilen-Werkzeuge (endgültig_letzte_Version)

Wer eine eigene Vorstellung zu tmux, dem Terminal-Multiplexer, sehen will, dem empfehle ich dieses Video:

GPN18 – tmux – Warum ein schwarzes Fenster am Bildschirm reicht

Links und Credit

https://github.com/leyrer

WordPress aus dem Wartungsmodus befreien

Gerade hatte ich den Fall, das WordPress nach einem Gutenberg-Update im Wartungsmodus festhing. Dies äußert sich dadurch, dass die Website nur mehr anzeigt: „Wegen Wartungsarbeiten ist diese Website kurzzeitig nicht verfügbar“

Die Lösung dafür ist denkbar einfach: Einfach aus dem Webserver-Verzeichnis die Datei „.maintenance“ löschen.

Links und Credit

https://www.sir-apfelot.de/wordpress-meldung-wartungsarbeiten-22862/

mariadb in unprivileged LXC-Container nach Debian 10 (buster) Upgrade wieder lauffähig bekommen

Gestern habe ich testweise eine Test-Nextcloud in einem unprivileged LXC-Container auf Debian 10 upgegraded. Leider wollte danach die Cloud nur mehr einen weißen Bildschirm zeigen. Die Lösung: Die mariadb-server Instanz wollte nicht mehr starten. Hier nun ein Workarround, wie das ganze fürs erste wieder lauffähig wird. Leider handelt es sich nämlich um einen Bug in LXC oder apparmor mit Debian 10, siehe hier.

Um den Fehler zu beheben, entfernt man folgende Zeilen:

ProtectSystem=full
PrivateDevices=true
ProtectHome=true

In folgender Datei:

/lib/systemd/system/mariadb.service

Danach noch den Befehl

systemctl daemon-reload

ausführen, und den Service neustarten, damit funktioniert das ganze wieder.

Links und Credit

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920643

Bookstack mit nginx Reverse-Proxy betreiben & E-Mail konfigurieren

Bei Bookstack handelt es sich um eine Anwendung, die eine Dokumentenverwaltung bereitstellt. Leider ist die Doku sehr spärlich ausgeführt, warum ich hier nun kurz zusammenfasse, wie die Applikation hinter einem nginx Reverse-Proxy betreibbar ist.

Die Applikation selbst habe ich mit dem Installationsscript für Ubuntu-Server installiert.

Um E-Mail erfolgreich zu konfigurieren, muss man die Datei „/var/www/bookstack/.env“ bearbeiten, damit sie folgende Einträge enthält:

# Application key
# Used for encryption where needed.
# Run `php artisan key:generate` to generate a valid key.
APP_KEY=censored

# Application URL
# Remove the hash below and set a URL if using BookStack behind
# a proxy, if using a third-party authentication option.
# This must be the root URL that you want to host BookStack on.
# All URL's in BookStack will be generated using this value.
APP_URL=https://your.domain.net

# Database details
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=censored

# Mail system to use
# Can be 'smtp', 'mail' or 'sendmail'
MAIL_DRIVER=smtp

MAIL_FROM=test@test.at
MAIL_FROM_NAME=Your Bookstack Server

# SMTP mail options
MAIL_HOST=test.mail.at
MAIL_PORT=465
MAIL_USERNAME=test@test.at
MAIL_PASSWORD=censored
MAIL_ENCRYPTION=ssl


# A full list of options can be found in the '.env.example.complete' file.

Im Reverse-Proxy muss die Config folgendermaßen aussehen:

server {
    listen 80;
    server_name your.domain.net; 
    return 301 https://$server_name$request_uri;
}

# BLOG SITE
server {
 listen 443 ssl http2;
 server_name your.domain.net;

## Source: https://github.com/1activegeek/nginx-config-collection
## READ THE COMMENT ON add_header X-Frame-Options AND add_header Content-Security-Policy IF YOU USE THIS ON A SUBDOMAIN YOU WANT TO IFRAME!

## Certificates from LE container placement
ssl_certificate /etc/letsencrypt/live/your.domain.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.net/privkey.pem;

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_timeout  10m;

## NOTE: The add_header Content-Security-Policy won't work with duckdns since you don't own the root domain. Just buy a domain. It's cheap
## Settings to add strong security profile (A+ on securityheaders.io/ssllabs.com)

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none; #SET THIS TO index IF YOU WANT GOOGLE TO INDEX YOU SITE!
add_header Referrer-Policy "strict-origin-when-cross-origin";
proxy_cookie_path / "/; HTTPOnly; Secure"; ##NOTE: This may cause issues with unifi. Remove HTTPOnly; or create another ssl config for unifi.
#more_set_headers "Server: Classified";
#more_clear_headers 'X-Powered-By';
 
 client_max_body_size 0; 
 
  
location / {
    proxy_pass http://DOMAIN.OF.YOUR.BOOKSTACK/;
    } 
}

LUKS (LVM-Volume) verkleinern

Ich habe mir einen neuen Laptop gekauft, ein ThinkPad T495s. Da ich gerne Dual-Boot Kubuntu 19.04 und Windows 10 fahren will, aber auf eine voll-verschlüsselte Festplatte nicht verzichten will, habe ich den harten Weg auf mich genommen, und die LUKS-Partition, die der Ubuntu-Installer nur über die ganze Festplatte machen kann, manuell verkleinert. Leider liegt das ganze schon eine Zeit lang zurück, und ich habe mir nur unterstehende Links als nützlich markiert. Aber soviel sei gesagt, es ist nicht trivial, und erfordert einiges an umrechnen von verschiedenen Speichergrößen. Ganz wichtig dabei zu beachten:
Alle diese Tools verwenden keine echten zB Gigabyte, sondern Gibibyte, das bedeutet, keine 1000, sondern 1024 als Umrechnungsfaktor.

Eine kurze Auflistung/Erklärung:

1 Tebibyte = 1024 Gibibyte
1 Gibibyte = 1024 Mebibyte
1 Mebibyte = 1024 Kibibyte
1 Kibibyte = 1024 Byte
1 Byte = 8 Bit

Als ganzes:

1 Tebibyte = 1024 Gibibyte = 1048576 Mebibyte = 1073741824 Kibibyte = 1099511627776 Byte = 8796093022208 Bit

Würde man das jetzt mit 1000 als Umrechnungsfaktor berechnen würde (Kilobyte, Megabyte, Gigabyte, Terabyte), kämen wir auf folgende Ergebnisse:

8796093022208 Bit = 1099511627776 Byte = 1099511627,776 Kilobyte = 1099511,627776 Megabyte = 1099,511627776 Gigabyte = 1,099511627776 Terabyte

Oder gerundet auf das Komma:

8796093022208 Bit = 1099511627776 Byte = 1099511628 Kilobyte = 1099512 Megabyte = 1100 Gigabyte = 1 Terabyte

Das ist auch der Grund, warum im System meist weniger Speicher angezeigt wird, als auf der Verpackung steht:

1 Terabyte = 0,9 Tebibyte = 931 Gibibyte

Und die Systeme arbeiten IMMER mit 1024 als Umrechnungsfaktor, weil das eine 2er Potenz ist (2^10, sprich „2 hoch 10“)

Man merke sich also:

1 Byte = 8 Bit (dividiert durch 8)
1 Kibibyte = 1024 Byte (dividiert durch 1024)
ABER:
1 Kilobyte = 1000 Byte (dividiert durch 1000)

Links Und Credit

https://superuser.com/questions/1296301/lvm-complaining-about-device-smaller-than-logical-volume
https://help.ubuntu.com/community/ResizeEncryptedPartitions
https://wiki.archlinux.org/index.php/Resizing_LVM-on-LUKS
https://www.christitus.com/lvm-guide/