MeshCentral2

Ставлю на Debian 11

В инструкции меняем пользователя "grif" на своего.

su && apt update && apt dist-upgrade -y && apt install ssh htop mc vim sudo net-tools -y && \
timedatectl set-timezone Europe/Moscow && timedatectl set-ntp on && /usr/sbin/usermod -aG sudo grif && exit

sudo apt install -y nodejs npm && sudo setcap cap_net_bind_service=+ep /usr/bin/node

Выполняем установку MeshCentral

$ npm install meshcentral && node ./node_modules/meshcentral

Вывод должен быть примерно таким

Installing archiver@4.0.2...
Installing otplib@10.2.3...
MeshCentral HTTP redirection server running on port 80.
Generating certificates, may take a few minutes...
Generating root certificate...
Generating HTTPS certificate...
Generating MeshAgent certificate...
Generating Intel AMT MPS certificate...
MeshCentral v0.9.62, LAN mode.
Server has no users, next new account will be site administrator.
MeshCentral HTTPS server running on port 443.

Проверяем переходом по IP-адресу сервера

В данном варианте для хранения настроек используется база данных NeDB.
Однако разработчики рекомендуют использовать сервер баз данных MongoDB.
Что ж, ставим )

В терминале нажимаем Ctrl+C для остановки MEshCentral. Далее в терминале.

sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common -y && \
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse' && \
sudo apt update && sudo apt install -y mongodb-org  && sudo systemctl start mongod && sudo systemctl enable mongod && nano ~/meshcentral-data/config.json

Приводим файл к такому виду если что-то меняли.
в параметрах «settings» добавляем строку

"MongoDb": "mongodb://127.0.0.1:27017/meshcentral",


{
  "$schema": "http://info.meshcentral.com/downloads/meshcentral-config-schema.json",
  "__comment1__": "This is a simple configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
  "__comment2__": "See node_modules/meshcentral/sample-config-advanced.json for a more advanced example.",
  "settings": {
    "MongoDb": "mongodb://127.0.0.1:27017/meshcentral",
    "_cert": "myserver.mydomain.com",
    "_WANonly": true,
    "_LANonly": true,
    "_sessionKey": "MyReallySecretPassword1",
    "_port": 443,
    "_aliasPort": 443,
    "_redirPort": 80,
    "_redirAliasPort": 80
  },
  "domains": {
    "": {
      "_title": "MyServer",
      "_title2": "Servername",
      "_minify": true,
      "_newAccounts": true,
      "_userNameIsEmail": true
    }
  },
  "_letsencrypt": {
    "__comment__": "Requires NodeJS 8.x or better, Go to https://letsdebug.net/ first before trying Let's Encrypt.",
    "email": "myemail@mydomain.com",
    "names": "myserver.mydomain.com",
    "production": false
  }
}

Запускаем Mesh

node ./node_modules/meshcentral

Проверяем переходом по IP-адресу сервера.
Создаем пользователя.
Возвращаемся.
Добавляем в автозагрузку.

sudo touch /etc/systemd/system/meshcentral.service

Приводим к виду ("grif" меняем на имя своего пользователя):

[Unit]
Description=MeshCentral Server
[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/node /home/grif/node_modules/meshcentral
WorkingDirectory=/home/grif
Environment=NODE_ENV=production
User=grif
Group=grif
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

Разрешаем и стартуем сервис.

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

Перезагружаем и после перезагрузки проверяем и радуемся )

sudo /usr/sbin/shutdown -r now

IT-Admins. 2020