{{description>Описание простой установки и первоначальной настройки MeshCentral на CentOS Linux.}} ====== Установка MeshCentral в Centos 7+ ====== [[http://wiki.mihanik.net/doku.php?id=web-серверы_и_движки:meshcentral:установка_meshcentral_в_centos_7&do=export_pdf|Экспорт в PDF ]] ~~ODT~~ Дата создания: 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]] {{ :web-серверы_и_движки:meshcentral:meshcentral-01.png?direct&600 |}} Важно! При первом входе нужно создать учётную запись администратора, которая будет иметь полные права в этой системе. После успешного подключения к MeshCentral и создания учётной записи администратора можно остановить его работу переключившись в консоль и подав комбинацию клавишей **+** ===== Делаем минимальные настройки 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. [[#top| Наверх ]]