Установка драйвера АТОЛ-30ф на Ubuntu 24.04
Приветствую вас друзья! Переношу свое программно-техническое оснащение на новые сервера под управлением Ubuntu 24.04(26.04), в виду чего публикую небольшой пост заметку по установке и настройке драйверов для ККТ АТОЛ-30ф. Ранее я публиковал небольшой пост-заметку по настройке для CentOS 7(более не актуальна). Напомню, подключение АТОЛ-30ф к серверу позволяет использовать данную ККТ как облачную онлайн кассу с отправкой чеков в ОФД и экономить на аренде облачных ККТ у сторонних провайдеров(до 100т.р./в год), помимо экономии это также добавляет ряд других интересных возможностей (написание своего софта для создания отчетов, аналитики или КУДиР — об этом расскажу позже).
Установка драйверов
Скачиваем архив драйверов версии 10.10.8.0 (или новее) тут, в зависимости от разрядности операционной системы 32 или 64 бит, устанавливаем нужный набор deb-пакетов, я буду ставить amd64.
Заметка! В моем случае именно версия 10.10.8.0, потому что у меня вечная лицензия на Web Requests именно для этой версии драйверов (более старшие версии не поддерживаются).
Из архива \10.10.8.0\installer\deb\ получаем список DEB пакетов:
- libfptr10_10.10.8.0_amd64_uem.deb
- libfptr10_10.10.8.0_amd64.deb
- fptr10-test-util_10.10.8.0_amd64.deb
- fptr10-web-requests_1.0.4.0_amd64.deb
Затем поочередно(очередность имеет значение, т.к. пакеты имеют зависимость друг от друга) устанавливаем пакеты командой:
sudo apt install ./fptr10-web-requests_1.0.4.0_amd64.deb |
Установка EoT (Ethernet Over Transport)
Подробно описано тут.
Для целостности инструкции, далее перепечатаю часть инструкции ранее написанной мною для CentOS.
Настройка Web Request
Тест доступа Web Request по http
wget 127.0.0.1:16732 |
Как задать логин и пароль для доступа указано ниже
Создание пользователя
atol-fptr-web-requests-users add admin Password |
Где логин — admin, пароль — Password.
Список пользователей
atol-fptr-web-requests-users list |
Удалить пользователя
atol-fptr-web-requests-users del admin |
Для доступа к Web Request с разных IP
Web Request ограничивает доступ, позволяя отправлять к нему запросы только с одного IP, с возможностью смены его раз в сутки. Поэтому, можно перед Web Request установить проксирующий сервер, это может быть Apache или nGinx, в случае с Windows, на локальном ПК можно использовать XAMMP и Apache входящий в его пакет. Я в своих решения использую nGginx + Apache(можно было бы обойтись и чем-то одним, но из-за особенностей доступа к открытым портам такая конфигурация):
/etc/nginx/conf.d/domains/atol.conf
server {
listen 80;
server_name atol.localhost;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
access_log /var/log/nginx/atol.localhost.log combined;
access_log /var/log/nginx/atol.localhost.bytes bytes;
expires max;
}
} |
/etc/apache2/conf.d/domains/atol.conf
<VirtualHost 10.0.0.101:8080>
ServerName atol.localhost
ProxyRequests Off
ProxyPreserveHost On
# for windows
ProxyPass / http://10.0.0.101:16732/
ProxyPassReverse / http://10.0.0.101:16732/
RequestHeader unset X-Forwarded-For
RequestHeader unset X-Forwarded-Host
RequestHeader unset X-Forwarded-Proto
# Этот ваш IP будет видеть Wed Request
RequestHeader set X-Forwarded-For "10.0.0.149"
<Proxy *>
Require all granted
</Proxy>
ErrorLog "/var/log/apache2/atol-proxy-error.log"
CustomLog "/var/log/apache2/atol-proxy-access.log" common
</VirtualHost> |
Теперь для всех клиентов, Web Request будет доступен по адресу http://atol.localhost:80, при этом каким бы ни был IP-адрес клиента, Web Request будет видеть всегда один IP (в примере конфигурации это 10.0.0.149) и ограничивать запросы не будет.
Для доступа к локальному домену, можно также прописать настройку в файле хоста ОС (для Windows это C:\Windows\System32\drivers\etc\hosts), связав домен с неконкретным IP в локальной сети:
10.0.0.101 atol.localhost |
Дополнительно
Может потребоваться настройка Apache, а именно включение модуля прокси:
# Включить модули sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_connect # Проверить загрузку apache2ctl -M | grep proxy # Должны быть: # proxy_module (shared) # proxy_http_module (shared) # proxy_connect_module (shared) |
Также может потребовать открыть порт 16732:
sudo iptables -A INPUT -p tcp --dport 16732 -j ACCEPT |
Пример запроса на PHP с помощью CURL
$ch = curl_init(); // URL запроса curl_setopt($ch, CURLOPT_URL, 'http://atol.localhost:8080'); // Возвращать результат в переменную, а не выводить в браузер curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Basic авторизация curl_setopt($ch, CURLOPT_USERPWD, 'username:password'); # логин и пароль доступа к АТОЛ Web Request // Заголовки curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Accept: application/json', 'User-Agent: MyApp/1.0', 'Host: atol.localhost' # название хоста указанного в Apache ]); // Выполняем запрос $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // Проверяем на ошибки if (curl_error($ch)) { echo 'Ошибка cURL: ' . curl_error($ch); } curl_close($ch); echo "HTTP код: " . $httpCode . "\n"; echo "Ответ: " . $response; |
Похожие записи
Оставить комментарий
Full Stack
Senior, Architect
предложить оффер
- Главная (новая)
- jQuery: как получить значение атрибута?
- PHP работа с изображением, класс SimpleImage
- PHP date() — вывод русского месяца
- Комментарии на PHP, Ajax, mySQL
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- к записи Обзор Insurance CMS — платформы для сайтов по страхованию
- к записи Консольный скрипт(JavaScript) для автоматических заказов на OZON
- к записи Консольный скрипт(JavaScript) для автоматических заказов на OZON
- к записи Как создать Telegram-бота с авторизацией через сайт
- к записи PHP скрипт: каталог закладок на сайты
- к записи Валидация на PHP
- к записи Сколько зарабатывают в бизнесе на совместных покупках
Archive
- +2026 (4)
- Июль 2026 (1)
- Июнь 2026 (1)
- Февраль 2026 (1)
- Январь 2026 (1)
- +2025 (28)
- Июль 2025 (1)
- Май 2025 (1)
- Апрель 2025 (7)
- Март 2025 (4)
- Февраль 2025 (9)
- Январь 2025 (6)
- +2024 (35)
- Декабрь 2024 (7)
- Ноябрь 2024 (13)
- Октябрь 2024 (8)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Установка драйвера АТОЛ-30ф на Ubuntu 24.04 18.07.2026
- Распознавание QR-кодов 01.06.2026
- Подключение АТОЛ-30ф к серверу на Linux 14.02.2026
- Запрет пробуждения ПК от различных устройств в Windows 10/11 31.01.2026
- Список всех BIN российский банков в JSON 10.07.2025