МихаНическая Wiki!

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

Экспорт в PDF Преобразовать страницу в формат Open Document

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

Определяем имя и адрес сервера в файле 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

Всё

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

;-)

Наверх

В моей WIKI постоянно ведётся какая-то работа со статьями.
Если у вас возникли вопросы или замечания,
можете их отправлять на почту support@mihanik.net
Только авторизованные участники могут оставлять комментарии.
web-серверы_и_движки/meshcentral/установка_meshcentral_в_centos_7.txt · Последнее изменение: 2023/01/07 10:24 — mihanik
GNU Free Documentation License 1.3
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5 Яндекс.Метрика