Skip to content

NodeBB - Auf Debian Buster 10 umziehen

NodeBB
  • Da ich ja meine Server am Umstellen bin , hier mal meine Schritte um eine vorhandene NodeBB Installation umzuziehen.

    Grundlage

    Redis Installation

    apt install redis-server
    

    In /etc/redis/redis.conf die Konfiguration einstellen. Wichtig Passwort einstellen!!

    Unter /var/libs/redis die Datenbank dump.rdb aus der Sicherung hin kopieren.

    Kopieren der DB

    service redis stop
    scp -r root@8.8.8.8:/home/frank/dump.rdb /home/frank
    mv /home/frank/dump.rdb /var/lib/redis
    chown redis:redis /var/lib/redis/dump.rdb
    service redis start
    

    Benutzerrechte auf redis anpassen! Wichtig!!!

    Pakete installieren

    apt install curl
    apt install sudo
    

    node.js installieren

    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
    sudo apt-get install -y git
    

    User für NodeBB anlegen

    adduser user
    

    NodeBB muss mit einem eigenen User laufen. Auch wichtig, alle Befehle die ihr ausführt, müssen mit diesem User ausgeführt werden. Sonst gibt das ordentlich durcheinander 😉

    Solche Befehle meine ich

    ./nodebb start
    ./nodebb build
    

    NodeBB installieren

    cd /home/user
    git clone -b v1.12.x https://github.com/NodeBB/NodeBB.git nodebb
    
    ./nodebb setup
    

    Den Public Ordner nicht vergessen umzuziehen. Dort liegen alle Bilder usw.

    Nginx installieren

    apt install nginx
    

    Ich habe nach dieser Anleitung installiert.
    http://nginx.org/en/linux_packages.html#Debian

    Die Konfig liegt unter /etc/nginx/conf.d/
    Der Webordner wäre /usr/share/nginx/

    Certbot installieren

    Für https brauchen wir auch ein vernünftiges Zertifikat. Dafür installieren wir den Certbot von LetsEncrypt.

    apt install certbot
    

    Für SSL brauchen wir noch folgendes

    openssl dhparam -out /etc/ssl/nginx/dhparam-2048.pem 2048
    

    Nachdem man den DNS-Eintrag umgestellt hat, dauert es unterschiedlich lang, bis das erledigt ist. Man kann mit dem Certbot folgendes machen.

    certbot certonly --dry-run -d forum.frank-mankel.org
    

    So probiert er nur "trocken". Also ein Testlauf. Wenn das klappt dann richtig.

    certbot certonly -d forum.frank-mankel.org
    

    Evt. Fehler bekommt man angezeigt.

    Das sollte es gewesen sein, Daumen drücken und hoffen das es startet 🙂

    Die Zertifikate müssen auch regelmäßig erneuert werden, dazu legt man einen Cronjob an. Schöne Anleitung
    https://goneuland.de/certbot-lets-encrypt-zertifikate-automatisch-erneuern-unter-debian-9-stretch/

    Wenn alles läuft, unbedingt nachsehen ob alle Dienste mit dem entsprechenden User läuft.

    • Redis- Server User:redis
    • NodeBB User:"den ihr angelegt habt"
    • Nginx user:nginx

    Server Ports

    frank@debian:~$ nmap 148.251.198.219
    Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-25 14:01 CEST
    Nmap scan report for webserver2.frank-mankel.org (148.251.198.219)
    Host is up (0.027s latency).
    Not shown: 996 filtered ports
    PORT     STATE  SERVICE
    80/tcp   open   http
    111/tcp  closed rpcbind
    443/tcp  open   https
    4567/tcp open   tram
    
    Nmap done: 1 IP address (1 host up) scanned in 7.85 seconds
    
  • Durch meinen Umzug zu einem neuen Proxmox, habe ich die Gelegenheit genutzt und meine Server alle auf Debian 11 Bullseye neu installiert. So konnte ich das alles noch mal testen und meine Doku anpassen.

    Zu dem obigen Beitrag gibt es nur folgendes zu ergänzen. Ja, wir wollen ja auch was Aktuelles haben 😉

    NodeJS

    curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
    

    NodeBB

    git clone -b v1.18.x https://github.com/NodeBB/NodeBB.git nodebb
    

  • Firefox mit .deb Paket

    Linux
    3
    0 Stimmen
    3 Beiträge
    143 Aufrufe
    FrankMF

    Wer auch wie ich das Problem hat, das manche Webseiten keinen Text mehr anzeigen. Ich habe da was gefunden.

    Link Preview Image Flatpak Firefox 112 not showing (some? bitmap?) fonts in Debian

    I don’t know why I’m struggling with flatpak’d software so much.

    favicon

    (neilzone.co.uk)

  • Let's Encrypt - acme.sh

    Verschoben Let's Encrypt
    6
    0 Stimmen
    6 Beiträge
    323 Aufrufe
    FrankMF

    Der Monat ist um, es war Zertifikatsmonat. Und nichts lief mehr..... 😞

    Was war passiert?

    Sonntags mache ich von meinem Haupt-PC ein Backup (per Hand) mittels Restic auf meinen Rest-Server. Doch ich bekam eine Fehlermeldung, blabla Zertifikat usw.

    Ok, ab auf den Server und mit der Fehlersuche gestartet. Das Zertifikat war erneuert worden, aber der Restart Command versuchte immer eine server.service zu starten, die es gar nicht gab!?

    Da musste ich doch beim @Nico mal kurz nachfragen. Und das kam dann dabei raus.

    Fehlerursache

    Der ReloadCmd versuchte einen server.service zu restarten, den es gar nicht gibt.

    Suche

    Im acme Pfad liegen die Ordner für die Domains. In diesem Ordner liegt eine Datei DOMAIN.conf

    In dieser Datei werden bei der Installation des Zertfikiates eine Reihe von Dingen eingetragen.

    Le_Domain='DOMAIN' Le_Alt='no' Le_Webroot='no' Le_PreHook='' Le_PostHook='' Le_RenewHook='' Le_API='https://acme-v02.api.letsencrypt.org/directory' Le_Keylength='2048' Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/<ID>' Le_LinkOrder='https://acme-v02.api.letsencrypt.org/acme/order/<ID>' Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/>ID>' Le_CertCreateTime='1680440374' Le_CertCreateTimeStr='2023-04-02T12:59:34Z' Le_NextRenewTimeStr='2023-05-31T12:59:34Z' Le_NextRenewTime='1685537974' Le_RealCertPath='/mnt/rest-server/DOMAIN/cert.pem' Le_RealCACertPath='' Le_RealKeyPath='/mnt/rest-server/DOMAIN/key.pem' Le_ReloadCmd='__ACME_BASE64__START_c3lzdGVtY3RsIHJlc3RhcnQgc2VydmVyLnNlcnZpY2U=__ACME_BASE64__END_' Le_RealFullChainPath='/mnt/rest-server/DOMAIN/fullchain.pem'

    Ok, da ist der ReloadCmd, aber der ist base64 kodiert!? Was machen.

    # echo c3lzdGVtY3RsIHJlc3RhcnQgc2VydmVyLnNlcnZpY2U= | base64 -d systemctl restart server.service

    Ok, hier sehen wir die fehlerhafte Eintragung, die genau meinem Beispiel oben entspricht (unter Installation Zertifikat) Man könnte jetzt die Installation des Zertifikates mit dem korrigierten EIntrag durchführen, oder diese Base64 Zeile korrigieren. Ok, wie geht das?

    # echo systemctl restart rest-server.service | base64 c3lzdGVtY3RsIHJlc3RhcnQgcmVzdC1zZXJ2ZXIuc2VydmljZQo=

    Diese Ausgabe kopieren wir dann in die Konfigurationsdatei. Kurze Kontrolle

    # echo c3lzdGVtY3RsIHJlc3RhcnQgcmVzdC1zZXJ2ZXIuc2VydmljZQo= | base64 -d systemctl restart rest-server.service

    Passt 😊 Und wieder jede Menge gelernt. Danke @Nico

  • Debian 11.4 released

    Linux
    1
    0 Stimmen
    1 Beiträge
    84 Aufrufe
    Niemand hat geantwortet
  • Debian 11.2 veröffentlicht

    Linux
    1
    0 Stimmen
    1 Beiträge
    91 Aufrufe
    Niemand hat geantwortet
  • Debian 11 Bullseye released!

    Linux
    4
    0 Stimmen
    4 Beiträge
    304 Aufrufe
    FrankMF

    Mein Systemadmin auf der Arbeit meinte heute, angesprochen auf das Problem, läuft der Network-Manager? Ok, gute Frage...... Schauen wir mal.

    Ich bin mir leider nicht 100% sicher, ob er vor meinem Eingreifen lief, ich denke aber schon. Warum ich unsicher bin?

    root@debian:~# systemctl enable systemd-networkd.service Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service → /lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /lib/systemd/system/systemd-networkd.socket. Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /lib/systemd/system/systemd-networkd-wait-online.service.

    Ok, danach

    root@debian:~# systemctl start systemd-networkd.service root@debian:~# systemctl status systemd-networkd.service ● systemd-networkd.service - Network Service Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; ven> Active: active (running) since Tue 2021-08-17 17:36:38 CEST; 6s ago TriggeredBy: ● systemd-networkd.socket Docs: man:systemd-networkd.service(8) Main PID: 1288 (systemd-network) Status: "Processing requests..." Tasks: 1 (limit: 19087) Memory: 3.9M CPU: 39ms CGroup: /system.slice/systemd-networkd.service └─1288 /lib/systemd/systemd-networkd Aug 17 17:36:38 debian systemd[1]: Starting Network Service... Aug 17 17:36:38 debian systemd-networkd[1288]: enp25s0: Gained IPv6LL Aug 17 17:36:38 debian systemd-networkd[1288]: Enumeration completed Aug 17 17:36:38 debian systemd[1]: Started Network Service.

    Danach ging immer noch nix.

    root@debian:/etc/network# ^C root@debian:/etc/network# nmcli device show GENERAL.DEVICE: wlx7cdd907cbec2 GENERAL.TYPE: wifi GENERAL.HWADDR: BA:59:C0:76:C7:F5 GENERAL.MTU: 1500 GENERAL.STATE: 20 (nicht verfügbar) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- GENERAL.DEVICE: enp25s0 GENERAL.TYPE: ethernet GENERAL.HWADDR: 30:9C:23:60:C6:8E GENERAL.MTU: 1500 GENERAL.STATE: 10 (nicht verwaltet) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- WIRED-PROPERTIES.CARRIER: an IP4.ADDRESS[1]: 192.168.3.169/24 IP4.GATEWAY: 192.168.3.1 IP4.ROUTE[1]: dst = 192.168.3.0/24, nh = 0.0.0.0, mt = 0 IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.3.1, mt = 0 IP6.ADDRESS[1]: 2a02:908:1260:13bc:329c:23ff:xxxx:xxxx/64 IP6.ADDRESS[2]: fd8a:6ff:2880:0:329c:23ff:fe60:c68e/64 IP6.ADDRESS[3]: fe80::329c:23ff:fe60:c68e/64 IP6.GATEWAY: fe80::e4d3:f0ff:fe8f:2354 IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 256 IP6.ROUTE[2]: dst = ::/0, nh = fe80::e4d3:f0ff:fe8f:2354, mt = 1024 IP6.ROUTE[3]: dst = 2a02:908:xxxx:xxxx::/64, nh = ::, mt = 256 IP6.ROUTE[4]: dst = fd8a:6ff:2880::/64, nh = ::, mt = 256

    Jetzt hatte ich das erste Mal einen Ansatz, wonach ich suchen musste.

    GENERAL.STATE: 10 (nicht verwaltet)

    Etwas Suche im Netz und dann das

    nano /etc/NetworkManager/NetworkManager.conf

    Inhalt der Datei

    [main] plugins=ifupdown,keyfile [ifupdown] managed=false

    Das false in true geändert. Danach ein

    systemctl restart NetworkManager

    und ich konnte den Network-Manager auf dem Desktop benutzen!?!?!?

    Bildschirmfoto vom 2021-08-17 18-07-25.png

    Irgendwas ist da durcheinander im Bullseye 😳

  • Node.js Paketmanager npm Sicherheitsproblem!

    Linux
    1
    0 Stimmen
    1 Beiträge
    242 Aufrufe
    Niemand hat geantwortet
  • Upgrade auf NodeBB 1.11.0

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    384 Aufrufe
    Niemand hat geantwortet
  • Let's Encrypt installieren

    Verschoben Let's Encrypt
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    FrankMF

    Wenn ihr alles richtig gemacht habt, dann könnt ihr Euer Zertifikat überprüfen lassen. Sollte dann so aussehen.

    0_1538314120455_index.jpeg