В инструкции меняем пользователя "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": "Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.",
"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