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