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 🙂
Es wird nun der erste Admin angelegt. Hierfür einen Namen, E-Mail und Passwort vergeben.
Danach kann man sich mit dem soeben erstellen Benutzer anmelden.
Thats it … Have Fun!
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.
Pingback:MeshCentral Bugfix Releases 1.1.17 und 1.1.18 und 1.1.19 veröffentlicht - TASTE-OF-IT