freebees-club / freebees-hm
Freebees hardware monitor
Requires
- php: ^7.1.3
- ext-iconv: *
- friendsofsymfony/rest-bundle: ^2.3
- jms/serializer-bundle: ^2.3
- lexik/jwt-authentication-bundle: ^2.4
- nelmio/cors-bundle: ^1.5
- sensio/framework-extra-bundle: ^5.1
- symfony/apache-pack: ^1.0
- symfony/console: ^4.0
- symfony/flex: ^1.0
- symfony/framework-bundle: ^4.0
- symfony/lts: ^4@dev
- symfony/maker-bundle: ^1.4
- symfony/monolog-bundle: ^3.2
- symfony/orm-pack: ^1.0
- symfony/security-bundle: ^4.0
- symfony/twig-bundle: ^4.0
- symfony/yaml: ^4.0
Requires (Dev)
- doctrine/doctrine-fixtures-bundle: ^3.0
- symfony/dotenv: ^4.0
- symfony/profiler-pack: ^1.0
Conflicts
This package is not auto-updated.
Last update: 2024-11-14 18:19:41 UTC
README
Это проект инвентаризации компьютеров на базе ОС в на базе ОС Windows 7, 8, 10 с возможностью мониторинга некоторых критичных параметров. Принцип работы проекта заключается в следующем: клиенский компьютер с установленным клиентским сервисом (с заданнной периодичностью) отчитывается системе о своем состоянии и параметрах. Если клинтский компьютер не зарегистрирован в системе, то происходит автоматическая регистрация компьютера. Если компьютер уже есть в системе, то в систему записываются его обновленные параметры и состояние.
Проект предоставляет следующую информацию о клиентских компьютерах:
Текущий авторизированный пользователь системы
Описание компьютера
Версию ОС
Сетевое подключение (MAC адрес, адрес ipv4, ipv6, название сетевого адаптера)
Модель процессора
Модель видеокарты
Модель материнской платы
Модель жестккого диска
Модель монитора
Число, имя, полное имя, описание пользователей компьютера
Название принтеров, установленных в системе, их драйвер, порт, является ли принтер сетевым, а так же информацию о адресе ресураса, если принтер является сетевым
Тома компьютера, название тома, свободное место на томе, размер тома, файловая система
Реестр программ, установленнх на компьютере, название пронраммы, издатель, версия программы
Возможности мониторинга:
Мониторинг свободного места на томах
Мониторинг температуры процессора
Мониторинг температуры видеокарты
Мониторинг температуры жестких дисков
Заряд батарейки БИОС
Так же для удобства пристутствует возможность распределять компьютеры по группам, система поиска по всем параметрам компьютера, фильтрация по таблицам с событиями и реестром программного обеспечения компьютера, отчеты по параметрам компьютеров.
Проект состоит из 3-х частей. Бэкэнд на Symfony 4, сервис Node.js для сервера и сервис для клиентских устройств
Требования к окружению:
Apache >= 2.4
PHP >= 7.2
MySQL >= 5.7
Node.js >= 8.10
Свободные порты 80, 8080 и 3000
Изменения в версиях
0.0.2
Исправлены некоторые ошибки
Добавлены отчеты по операционным системам, процессорам, видеокартам, мат. платам, жеским дискам, мониторам, оперативной памяти
Добавлена возможность массового удаления компьютеров
Изменения в ленте. Добавлена панель с журналом событий системы
Установка
Проект можно установить двумя способами. Оба способа показаны на примере Ubuntu 18.04 LTS
Способ № 1 - для разумных
Создать папку /usr/freebees-hm/mysql
Создать папку /usr/freebees-hm/environments
и создать в ней файл environment.json
со следующим содержанием
{
"name": "prod",
"production": true,
"settings": {
"apiUrl": "http://localhost:8080/api/v1/",
"apiLoginUrl": "http://localhost:8080/api/",
"serviceUrl": "ws://localhost:3000/"
}
}
Здесь вместо localhost необходимо указать имя сервера, на который устанавливается проект
Запустить установку Docker командой
$sudo apt install docker.io
Скачать docker образ
$sudo docker pull freebees/freebees-hm
Запустить образ командой
docker run -d -v /usr/freebees-hm/mysql:/var/lib/mysql -v /usr/freebees-hm/environments:/var/www/freebees-hm/public/bundles/frbshm/assets/environments -p 80:80 -p 8080:8080 -p 3000:3000 -it freebees/freebees-hm
Способ № 2 - для смелых
Установка фронтэнда
Для удобства в дальнейшем рекомендуется установить Midnight Commander
$sudo apt install mc
Установка MariaDB сервера
Для установки необходимо обновить список пакетов командой
$sudo apt update
Затем установить MariaDB сервер командой
$sudo apt install mariadb-server
Добавить немножечко костыльной магии
$mysql -u root
use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';
Установка веб-сервера Apache
При установке apache никаких дополнительных операций не требуется
$sudo apt install apache2
Установка PHP
Перед установкой PHP необходимо добавить репозиторий для получения актуальной версии PHP
$sudo apt install software-properties-common
$sudo add-apt-repository ppa:ondrej/php
$sudo apt update
Затем установить PHP версии 7.2 коммандой
$sudo apt install php7.2 libapache2-mod-php7.2 php7.2-cli php7.2-mysql php7.2-xml php7.2-zip
И перезагрузить веб-сервер коммандой
$sudo systemctl restart apache2.service
Включить необходимые моды
$sudo a2enmod headers
$sudo a2enmod rewrite
Установка Composer
Это менеджер зависимостей PHP. Он поможет скачать и установить фронтэнд и бэкэнд часть проекта.
$sudo apt install composer
Установка фронтэнд и бэкэнд части проекта
Запускаем, установленный ранее Midnight Commander командой mc
и переходим в папку /var/www/
. Нажимаем CTRL+O, в командной строке указываем команду
$sudo composer create-project freebees-club/freebees-hm
этим запускаем установку.
Затем последовательно вводим команды для создания базы даннных, схемы и загрузки начальных данных
$sudo php bin/console doctrine:database:create
$sudo php bin/console doctrine:schema:create
$sudo php bin/console doctrine:fixtures:load --append
Минимальная конфигурация веб-сервера
Веб-сервер должен прослушивать 2 порта, 80 для фронтэнда, 8080 для api запросов. Так же важно правильно указать папки, в которых находится проект.Необходимая конфигурация веб-сервера apache в ОС Ubuntu находится в файле /etc/apache2/sites-available/000-default.conf
. Файл должен содержать следующие строки:
Listen 8080
ServerName localhost
<Directory "/var/www">
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
<VirtualHost *:80>
DocumentRoot "/var/www/html/freebees-hm/public/bundles/frbshm"
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "/var/www/html/freebees-hm/public"
</VirtualHost>
Установка Node.js сервиса
Перед загрузкой сервиса необходимо установить Node.js следующими командами
$sudo apt install nodejs
$sudo apt install build-essential
$sudo apt install npm
Затем при помощи Midnight Commander перейти в папку, в которую вы желаете установить сервис. Например, /home/<имя пользователя>
. Командой
$sudo git clone https://freebees-club@bitbucket.org/freebees-club/freebees-hm-service.git
$sudo npm install
скачать и установить сервис.
Для удобства использования сервисом желательно установить PM2. Это удобный менеджер процессов Node.js, который перезагружает сервис в случае сбоя, а так же запускает сервис при загрузке сервера.
Чтобы начать установку PM2, введите в командную строку:
$sudo npm install pm2 -g
Для запуска сервиса при помощи PM2 используте следующую команду
$sudo pm2 start service
при этом необходится в папке с ранее установленным сервисом
Установка сервиса на клиентские устройства
Клиентский сервис можно скачать тут - [http://freebees.ru/downloads][client]
Установка производится традиционным способом от имени администратора, либо в режиме тихой установки командой
msiexec.exe /i "<путь к MSI файлу установки>" /qn hostname="ws://localhost:3000"
где /qn это параметр тихой установки, а hostname="ws://localhost:3000" это имя сервера и порт сервера, на котором установлен Node.js сервис.Тихая установка так же должна производится от имени пользователя с повышенными привелегиями. [client]: http://freebees.ru/downloads