Skip to content

NodeBB - Auf Debian Buster 10 umziehen

NodeBB
2 1 369
  • 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
    

  • Debian Bookworm 12 - Test

    Linux debian bookworm linux
    6
    4
    0 Stimmen
    6 Beiträge
    742 Aufrufe
    FrankMF
    Es scheint sich was zu tuen. Ein paar Probleme, gehören der Vergangenheit an. Bitte beachten, ich nutze fast ausschließlich Wayland! [image: 1699092052949-e0c00b53-8f25-4b52-97a3-6fd49a2c5638-grafik.png] Problem VLC Ich nutze zum TV schauen gerne die Listen der Fritzbox. Damit kann man einfach im VLC TV schauen und umschalten usw. Problem war, das sehr oft, das Umschalten nicht korrekt funktionierte. Das scheint mittlerweile gefixt zu sein. DANKE! [image: 1699092017630-56648116-4bbb-461c-b7fd-4a344cc12749-grafik.png] Problem KDE Desktop Der KDE Desktop konnte sich die Positionen der Icons nicht "merken". Ich sortiere die gerne, so das ich die TV-Listen z.B. immer unten rechts vorfinde. Das ging leider lange nicht. Mittlerweile scheint das nervige Problem gefixt zu sein. Ich habe eben sogar extra dafür neugestartet um zu sehen, das die Positionen erhalten bleiben. DANKE! [image: 1699091862623-63f71f34-c208-4b98-b0e9-54c94f3d19f2-grafik.png] Fazit Somit bleibt aktuell noch ein Problem, das wäre OBS. Dafür muss ich aktuell noch immer auf eine X11 Session umschalten. Bitte fixen! Es sieht auch so aus, das am KDE Plasma Desktop recht aktiv gearbeitet wird. Da kommen sehr oft, sehr viele neue Pakete rein. Nein, ich benutze kein Testing, ich bin aktuell auf dem Stable Zweig. So langsam wird der KDE Plasma Desktop - unter Wayland - rund! Bitte beachten, die Wayland Erfahrung hängt extrem von der GPU ab. Unter NVidia wird das auch heute keinen Spaß machen. Mit eingebauter AMD GPU und Intel GPU solltet ihr sehr wenige Probleme haben. Das dürfte auch der Grund sein, warum immer mehr Distributionen ankündigen, in Zukunft nur noch auf Wayland zus setzen. https://linuxiac.com/fedora-40-to-offer-plasma-6-drops-x11-entirely/
  • Let's Encrypt - acme.sh

    Verschoben Let's Encrypt letsencrypt
    6
    0 Stimmen
    6 Beiträge
    469 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
  • NodeBB - Upgrade v2.1.0

    NodeBB nodebb
    2
    1
    0 Stimmen
    2 Beiträge
    173 Aufrufe
    FrankMF
    Und so, wenn man beide 2FA Möglichkeiten aktiviert hat. [image: 1654683786232-552a3e23-bae3-4cfd-9c2e-26026ab63138-grafik.png]
  • Hetzner Cloud Server auf Debian 11 upgraden

    Linux bullseye debian
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    M
    @frankm Habe neulich auch einen meiner rockpro64 neu mit Debian 11 installiert, und dabei auch die festplatte (NVMe eigentlich) verschlüsselt. War mir erst unsicher das ich dann immer eine serielle Console brauch bei reboot. Man kann aber auch dropbear (SSH server) in die initram integrieren und dann während das booten den Server erreichen und die Passphrase für das Laufwerk eingeben. Diese 2 links waren hilfreich. https://salsa.debian.org/debian/dropbear/blob/debian/2018.76-5/debian/README.initramfs https://unix.stackexchange.com/questions/411945/luks-ssh-unlock-strange-behaviour-invalid-authorized-keys-file M
  • NodeBB - Upgrade auf v1.16.0

    NodeBB nodebb
    1
    0 Stimmen
    1 Beiträge
    191 Aufrufe
    Niemand hat geantwortet
  • NodeBB - nodebb-plugin-spam-be-gone

    NodeBB nodebb
    1
    1
    0 Stimmen
    1 Beiträge
    291 Aufrufe
    Niemand hat geantwortet
  • NodeBB - Update auf 1.13.1

    NodeBB nodebb
    2
    0 Stimmen
    2 Beiträge
    296 Aufrufe
    FrankMF
    Kurze Ergänzung, heute Morgen dieses Forum hier aktualisiert. Wie erwartet geht es jetzt einfach durch. Bis auf ein Plugin, was nicht kompatibel mit der Version 1.13.x ist. Das ist aber eine andere Baustelle. Für interessierte Leser, hänge ich den Log an. ~/nodebb$ ./nodebb upgrade Updating NodeBB... 1. Updating package.json file with defaults... OK 2. Bringing base dependencies up to date... started > sharp@0.23.4 install /home/user_nodebb/nodebb/node_modules/sharp > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy) info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.8.1/libvips-8.8.1-linux-x64.tar.gz internal/modules/cjs/loader.js:638 throw err; ^ Error: Cannot find module './index' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) at Function.Module._load (internal/modules/cjs/loader.js:562:25) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18) at Object.<anonymous> (/home/user_nodebb/nodebb/node_modules/.bin/rc:2:10) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) make: Entering directory '/home/user_nodebb/nodebb/node_modules/sharp/build' TOUCH Release/obj.target/libvips-cpp.stamp CXX(target) Release/obj.target/sharp/src/common.o CXX(target) Release/obj.target/sharp/src/metadata.o CXX(target) Release/obj.target/sharp/src/stats.o CXX(target) Release/obj.target/sharp/src/operations.o CXX(target) Release/obj.target/sharp/src/pipeline.o CXX(target) Release/obj.target/sharp/src/sharp.o CXX(target) Release/obj.target/sharp/src/utilities.o SOLINK_MODULE(target) Release/obj.target/sharp.node COPY Release/sharp.node make: Leaving directory '/home/user_nodebb/nodebb/node_modules/sharp/build' npm WARN nodebb-plugin-emoji-android@2.0.0 requires a peer of nodebb-plugin-emoji@^2.0.0 but none is installed. You must install peer dependencies yourself. npm WARN textcomplete.contenteditable@0.1.1 requires a peer of textcomplete@^0.14.2 but none is installed. You must install peer dependencies yourself. added 2 packages from 1 contributor, updated 13 packages and audited 3687 packages in 35.671s 4 packages are looking for funding run `npm fund` for details 3. Checking installed plugins for updates... OK A total of 1 package(s) can be upgraded: * nodebb-plugin-2factor (2.6.4 -> 2.6.5) Proceed with upgrade (y|n)? n Package upgrades skipped. Check for upgrades at any time by running "./nodebb upgrade -p". 4. Updating NodeBB data store schema... Parsing upgrade scripts... 2019-12-22T07:52:31.428Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-align-center`. Skipping. 2019-12-22T07:52:31.429Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-blog-comments`. Skipping. 2019-12-22T07:52:31.429Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-blog-comments2`. Skipping. 2019-12-22T07:52:31.430Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-contact-page`. Skipping. 2019-12-22T07:52:31.430Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-emoji-fontawesome`. Skipping. OK | 0 script(s) found, 84 skipped Schema update complete! 5. Rebuilding assets... started 2019-12-22T07:52:31.489Z [4567/11002] - info: [build] Building in parallel mode 2019-12-22T07:52:31.491Z [4567/11002] - info: [build] plugin static dirs build started 2019-12-22T07:52:31.500Z [4567/11002] - info: [build] requirejs modules build started 2019-12-22T07:52:31.501Z [4567/11002] - info: [build] client js bundle build started 2019-12-22T07:52:31.503Z [4567/11002] - info: [build] admin js bundle build started 2019-12-22T07:52:31.503Z [4567/11002] - info: [build] client side styles build started 2019-12-22T07:52:31.504Z [4567/11002] - info: [build] admin control panel styles build started 2019-12-22T07:52:31.504Z [4567/11002] - info: [build] templates build started 2019-12-22T07:52:31.505Z [4567/11002] - info: [build] languages build started 2019-12-22T07:52:31.505Z [4567/11002] - info: [build] sounds build started 2019-12-22T07:52:32.493Z [4567/11002] - info: [build] sounds build completed in 0.988sec 2019-12-22T07:52:41.512Z [4567/11002] - info: [build] client side styles build completed in 10.009sec 2019-12-22T07:52:41.939Z [4567/11002] - info: [build] admin control panel styles build completed in 10.435sec 2019-12-22T07:52:51.628Z [4567/11002] - info: [build] plugin static dirs build completed in 20.136sec 2019-12-22T07:52:52.192Z [4567/11002] - info: [build] client js bundle build completed in 20.691sec 2019-12-22T07:52:52.192Z [4567/11002] - info: [build] admin js bundle build completed in 20.689sec 2019-12-22T07:52:58.054Z [4567/11002] - info: [build] languages build completed in 26.549sec 2019-12-22T07:53:01.537Z [4567/11002] - info: [build] templates build completed in 30.033sec 2019-12-22T07:53:02.409Z [4567/11002] - info: [build] requirejs modules build completed in 30.909sec 2019-12-22T07:53:02.412Z [4567/11002] - info: [build] Asset compilation successful. Completed in 30.921sec. NodeBB Upgrade Complete! Auch hier sieht man schön, wie das o.g. Paket heruntergeladen wird und gebaut wird!
  • NGINX - www entfernen

    NGINX nginx
    2
    0 Stimmen
    2 Beiträge
    392 Aufrufe
    FrankMF
    Es geht noch eleganter. Für eine Domain wie frank-mankel.de z.B. so. Muss das mal hier parken, damit ich nicht immer wieder danach suchen muss. server { server_name www.example.com example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; ssl_certificate /path/to/server.cert; ssl_certificate_key /path/to/server.key; server_name www.example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; ssl_certificate /path/to/server.cert; ssl_certificate_key /path/to/server.key; server_name example.com; <locations for processing requests> } Quelle: https://serverfault.com/questions/258378/remove-www-and-redirect-to-https-with-nginx