Menü Schließen

MeshCentral unter Debian installieren

MeshCentral Web Login

MeshCentral ist eine Open-Source Software für Remotesteuerungen und Remotemanagement von Client und Serversystemen. MeshCentral setzt auf einen NodeJS Server und MongoDB zum speichern einiger Daten. Der Managementserver kann ein Windows oder Linux System sein. Clients können mit oder ohne Software-Agent remote gesteuert werden. Intel kompatible IAM Systeme können zudem umfangreich kontrolliert werden.

Nachfolgend beschreibe ich die Installation von MeshCentral auf einem Debian 11 System. Wichtig hier ist, dass ich MeshCentral unter einem eigenen User laufen lasse und nicht unter root. Das erhöht die Sicherheit, bedeutet aber auch, dass Updates nicht über die WebUI sondern auf dem Server als root gemacht werden müssen.

Ich habe eine virtuelle Maschine mit 1x vCPU, 1GB RAM und 8GB Festplatte konfiguriert. Bei der CPU muss man aufpassen, da MongoDB in neueren Versionen den CPU Befehlssatz AVX benötigt, der ab Sandy Bridge verbaut wurde.

MeshCentral auf Github: https://github.com/Ylianst/MeshCentral

Installation NVM – Node Version Manager

Debian aktualisieren

apt update

Voraussetzung installieren

apt install sudo

NVM Repository hinzufügen und aktualisieren

sudo add-apt-repository universe
sudo apt update

NVM in der bis dato aktuellen Version 0.39.3 installieren

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

nvm Config Home setzen

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm ls-remote
nvm install v18.16.0

nvm Default Version setzen

nvm alias default v18.16.0
default -> v18.16.0

aktuelle Version installieren

npm install npm@latest -g
removed 3 packages, and changed 64 packages in 3s
27 packages are looking for funding
  run `npm fund` for details

installierte Node Version anzeigen

node -v
v18.16.0

installierte npm Version anzeigen

npm -v
9.7.1

MongoDB Community Edition installieren

Aritkel zur Installation von MongoDB ist hier zu finden: Debian Installation MongoDB

MeshCentral installieren

Die Vorbereitungen sind erledigt, sodass nun MeshCentral installiert werden kann.

sudo mkdir /opt/meshcentral
cd /opt/meshcentral
npm install meshcentral

MeshCentral von Hand in der Konsole starten und testen:

node ./node_modules/meshcentral

Beenden / Abbruch mit STRG+C

Die bestehende Default Konfig wie nachfolgend anpassen. Unterstriche / Underscore bedeuten deaktiviert. Ich habe MeshControl im lokalen Netzwerk als Test installiert, daher bleibt WANonly deaktiviert und LANonly ohne Bindestrich, also aktiviert.

sudo nano /opt/meshcentral/meshcentral-data/config.json
{
  "settings": {
    "MongoDb": "mongodb://127.0.0.1:27017/meshcentral",
    "_WANonly": true,
    "LANonly": true,
    "_Port": 443,
    "_RedirPort": 80,
    "_AllowLoginToken": true,
    "_AllowFraming": true,
    "_WebRTC": false,
    "_ClickOnce": false,
    "_UserAllowedIP" : "127.0.0.1,::1,192.168.0.100"
  },
  <...more stuff here...>
}

Überblick über mögliche Optionen unter: https://github.com/Ylianst/MeshCentral/blob/master/meshcentral-config-schema.json

Nun nochmal MeschCentral starten und mit STRG+C beenden und fortfahren

sudo -u meshcentral node ./node_modules/meshcentral

Berechtigungen anpassen

sudo chown -R meshcentral:meshcentral /opt/meshcentral
sudo chmod 755 /opt/meshcentral/meshcentral-*

User können Dateien über MeshCentral hochladen die in meshcentral-files gespeichert werden. Berechtigungen anpassen:

sudo chmod 755 /opt/meshcentral/meshcentral-files

Bei der Nutzung von Let’s Encrypt erfolgen weitere Anpassungen:

sudo mkdir /opt/meshcentral/meshcentral-data
sudo mkdir /opt/meshcentral/meshcentral-data/letsencrypt
sudo chmod 755 /opt/meshcentral/meshcentral-data/letsencrypt

MeshCentral automatisch starten:

# whereis node
node: /usr/bin/node

erstellen und obigen Pfad zu Node angeben

# sudo nano /etc/systemd/system/meshcentral.service
[Unit]
Description=MeshCentral Server

[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/node /opt/meshcentral/node_modules/meshcentral
WorkingDirectory=/opt/meshcentral
Environment=NODE_ENV=production
User=meshcentral
Group=meshcentral
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=10
# Set port permissions capability
AmbientCapabilities=cap_net_bind_service

[Install]
WantedBy=multi-user.target

MeshCentral neustarten

sudo systemctl enable meshcentral.service
sudo systemctl start meshcentral.service

MeshCentral und MongoDB Versionen anzeigen

# npm list
meshcentral@ /opt/meshcentral
├── meshcentral@1.1.5
├── mongodb@4.13.0

MeshCentral WebUI aufrufen

Die WebUI von MeshCentral kann nun per Browser aufgerufen werdne. Hierfür den Hostnamen oder die IP-Adresse des MeshCentral Servers verwenden. Es wird die Loginmaske angezeigt und darauf hingewiesen, dass noch kein User bekannt ist: „Sie haben kein Konto? Erstelle eins.“ <- drauf klicken 🙂

MEshCentral Web Login
MeshCentral Web Login

Es wird nun der erste Admin angelegt. Hierfür einen Namen, E-Mail und Passwort vergeben.

MeshCentral Install - First User
MeshCentral Install – First User

Danach kann man sich mit dem soeben erstellen Benutzer anmelden.

MeshCentral WebUI Login
MeshCentral WebUI Login

Thats it … Have Fun!

1 Kommentar

  1. Pingback:MeshCentral Bugfix Releases 1.1.17 und 1.1.18 und 1.1.19 veröffentlicht - TASTE-OF-IT

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert