1. Скачивание программы
Скачайте архив с программой с помощью утилиты wget
:
wget -O M2M24_Desktop_2.x.x.zip https://teleofis.ru/php/download.php?f=1311
2. Установка Java JDK
Для работы сервиса на ПК должен быть установлен Java JDK.
Установите JDK 21:
sudo apt install openjdk-21-jdk
3. Распаковка архива
Распакуйте архив в любую папку на вашем компьютере:
unzip ./M2M24_Desktop_2.x.x.zip
В архиве вы найдете три компонента:
- М2М24 Desktop Client (для Windows)
- М2М24 Desktop Client (для Linux)
- М2М24 Desktop Service (общий)
4. Настройка службы
Распакуйте архив со службой:
unzip 'M2M24 Desktop Server xxx.zip'
Создайте директорию для службы:
sudo mkdir /opt/m2m24service
Перенесите файлы службы в созданную директорию:
cd 'M2M24 Desktop Server xxx'/ sudo mv * /opt/m2m24service
5. Создание пользователя и группы
Создайте группу и пользователя для запуска службы:
sudo groupadd -r jvmgrp sudo useradd -r -s /bin/false -g jvmgrp jvmapps
Проверьте созданного пользователя:
sudo id jvmapps
Пример вывода:
uid=998(jvmapps) gid=998(jvmgrp) groups=998(jvmgrp)
6. Создание службы systemd
Создайте файл службы m2m24.service
:
sudo nano /etc/systemd/system/m2m24.service
Добавьте следующее содержимое:
[Unit] Description=M2M24Service After=network.target [Service] WorkingDirectory=/opt/m2m24service ExecStart=/usr/bin/java -Xms256m -Xmx4g -Djava.net.preferIPv4Stack=true -jar service-2.3.4-jar-with-dependencies.jar
User=jvmapps Type=simple Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
Чтобы сохранить файл, нажмите сочетание клавиш Ctrl + O
, затем клавишу Enter
, затем сочетание клавиш Ctrl+X
.
7. Настройка прав доступа
Назначьте права для директории службы:
sudo chown -R jvmapps:jvmgrp /opt/m2m24service/
8. Запуск службы
Обновите конфигурацию systemd:
sudo systemctl daemon-reload
Запустите службу:
sudo systemctl start m2m24.service
Добавьте службу в автозапуск:
sudo systemctl enable m2m24.service
Проверьте статус службы:
sudo systemctl status m2m24.service
Пример вывода:
m2m24.service - M2M24 Service Loaded: loaded (/etc/systemd/system/m2m24.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2024-02-26 13:59:08 MSK; 40s ago Main PID: 30946 (java) Tasks: 30 Memory: 278.7M CPU: 11.062s CGroup: /system.slice/m2m24.service └─30946 /usr/bin/java -Xms256m -Xmx4g -jar service-2.3.4-jar-with-dependencies.jar Feb 26 13:59:17 sevostyanov java[30946]: Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. Feb 26 13:59:17 sevostyanov java[30946]: NOT STARTED. Feb 26 13:59:17 sevostyanov java[30946]: Currently in standby mode. Feb 26 13:59:17 sevostyanov java[30946]: Number of jobs executed: 0 Feb 26 13:59:17 sevostyanov java[30946]: Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 2 threads. Feb 26 13:59:17 sevostyanov java[30946]: Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,184 INFO [StdSchedulerFactory.java:1374] Quartz scheduler 'M2M24Scheduler' initialized from default resource file in Quartz package: 'quartz.properties' Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,185 INFO [StdSchedulerFactory.java:1378] Quartz scheduler version: 2.3.2 Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,185 INFO [QuartzScheduler.java:547] Scheduler M2M24Scheduler_$_NON_CLUSTERED started. Feb 26 13:59:17 sevostyanov java[30946]: 2024-02-26 13:59:17,202 INFO [Application.java:151] Start OK