<a name="top"></a>

Установка MeshCentral в Centos 7+

Экспорт в PDF

Дата создания: 2022/12/05 13:13 (C) mihanik

<a href='javascript:history.back();'><img src=/lib/exe/fetch.php/level_up.png height=35 width=50></a>

Определяем имя и адрес сервера в файле hosts

Добавляем информацию об имени и IP нашего сервера в файл /etc/hosts.

Для этого узнаём имя сервера

hostname
У меня имя сервера получилось такое: meshcentral.mihanik.net

и его адрес в локальной сети

ifconfig
В моём случае адрес оказался таким: 192.168.69.94

Теперь добавляем информацию о нашем сервере непосредственно в файл /etc/hosts

echo 192.168.69.94 meshcentral meshcentral.mihanik.net >> /etc/hosts
Важно! Если этого не сделать, то чуть позже мы можем получить проблемы при запуске MeshCentral
Заметьте, что в файл /etc/hosts имя сервера вносится в двух видах: просто имя сервера, имя сервера с указанием его домена!

Если предположить, что адресация в вашей сети начинается с триады 192., и у вас есть виртуальная сеть 192.168.122.0/24, которую не нужно брать в расчёт, то можно всё автоматизировать одной командой

echo `ifconfig | grep '192\.[0-9]*\.[0-9]*\.[0-9]*' -o | grep -v .255 | grep -v .122.` `hostname` >> /etc/hosts

Устанавливаем зависимости

Для работы MeshCentral необходимы пакеты nodejs и npm.

yum -y install nodejs npm

Настроим межсетевой экран

Откроем порты 80 (HTTP) и 443 (HTTPS)

firewall-cmd --add-port=80/tcp --permanent firewall-cmd --add-port=443/tcp --permanent firewall-cmd --reload

Установим MeshCentral

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

Делаем пробный запуск MeshCentral

cd /opt/meshcentral node node_modules/meshcentral

Проверяем работу MeshCentral

Для проверки работы MeshCentral достаточно подключиться к нему с помощью браузера. В моём случае я открываю в браузере адрес https://meshcentral.mihanik.net

Важно! При первом входе нужно создать учётную запись администратора, которая будет иметь полные права в этой системе.

После успешного подключения к MeshCentral и создания учётной записи администратора можно остановить его работу переключившись в консоль и подав комбинацию клавишей <ctrl>+<c>

Делаем минимальные настройки MeshCentral

Открываем вашим любимым текстовым редактором файл /opt/meshcentral/meshcentral-data/config.json. Мне нравится mcedit, поэтому я подаю команду

Важно! Файл с именем /opt/meshcentral/meshcentral-data/config.json создается ТОЛЬКО ПОСЛЕ ТЕСТОВОГО ЗАПУСКА!!! Если вы не делали тестовый запуск, то этого файла вы не найдёте!!!
mcedit /opt/meshcentral/meshcentral-data/config.json

Ищем в файле раздел domains и указываем там значение title

В моём случае получилось так:

"domains": { "": { "title": "meshcentral.mihanik.net", "_title2": "Servername", "_minify": true, "_newAccounts": true, "_userNameIsEmail": true }

После этого в разделе settings устанавливаем значение cert.

В моём случае получилось так:

"settings": { "cert": "meshcentral.mihanik.net", "_WANonly": true, "_LANonly": true, "_sessionKey": "MySuperSycretPassw0rd", "_port": 443, "_aliasPort": 443, "_redirPort": 80, "_redirAliasPort": 80, "ignoreagenthashcheck": true },
Важно! Если не установить значение cert, то MeshCentral будет работать только в LAN-mode, т.е. сервер и агенты MeshCentral будут друг друга искать ТОЛЬКО с помощью широковещательных запросов, что возможно только в локальной сети. Если же у вас несколько подсетей и между ними не настроен обмен широковещательными пакетами, то агенты MeshCentral из соседних сетей НЕ СМОГУТ найти сервер MeshCentral и, соответственно, зарегистрироваться на нём.

Настроим автозапуск MeshCentral в качестве демона

cat > /usr/lib/systemd/system/meshcentral.service <<_EOF_ [Unit] Description=My MeshCentral Server After=network.target remote-fs.target nss-lookup.target syslog.target [Service] Type=simple LimitNOFILE=1000000 ExecStart=/usr/bin/node node_modules/meshcentral WorkingDirectory=/opt/meshcentral Environment=NODE_ENV=production User=root Group=root Restart=always # Restart service after 10 seconds if node service crashes RestartSec=10 # Set port permissions capability AmbientCapabilities=cap_net_bind_service ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID TimeoutSec=300 KillSignal=SIGINT PrivateTmp=true [Install] WantedBy=multi-user.target _EOF_ systemctl daemon-reload systemctl enable meshcentral.service systemctl start meshcentral.service

Все команды одним куском

# Устанавливаем зависимости yum -y install nodejs npm # Настраиваем межсетевой экран firewall-cmd --add-port=80/tcp --permanent firewall-cmd --add-port=443/tcp --permanent firewall-cmd --reload # Устанавливаем meshcentral mkdir /opt/meshcentral cd /opt/meshcentral npm install meshcentral # Тестовый запуск node node_modules/meshcentral # Делаем настройки meshcentral mcedit /opt/meshcentral/meshcentral-data/config.json # Настраиваем запуск meshcentral в качестве демона, а потом его запускаем cat > /usr/lib/systemd/system/meshcentral.service <<_EOF_ [Unit] Description=My MeshCentral Server After=network.target remote-fs.target nss-lookup.target syslog.target [Service] Type=simple LimitNOFILE=1000000 ExecStart=/usr/bin/node node_modules/meshcentral WorkingDirectory=/opt/meshcentral Environment=NODE_ENV=production User=root Group=root Restart=always # Restart service after 10 seconds if node service crashes RestartSec=10 # Set port permissions capability AmbientCapabilities=cap_net_bind_service ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID TimeoutSec=300 KillSignal=SIGINT PrivateTmp=true [Install] WantedBy=multi-user.target _EOF_ systemctl daemon-reload systemctl enable meshcentral.service systemctl start meshcentral.service

Всё

Как видим, всё устанавливается очень просто.

UPD

С недавнего времени рекомендую устанавливать Meshcentral на Centos 8, т.к разработчик перешёл на использование более новой версии npm, которая по умолчанию отсутствует в Centos 7.

Наверх

В моей WIKI постоянно ведётся какая-то работа со статьями. Если у вас возникли вопросы или замечания, можете их отправлять на почту support@mihanik.net