Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:manual:sender:browser [2017/06/29 12:30]
anton [Возможные проблемы]
abills:docs:manual:sender:browser [2017/07/19 12:53] (текущий)
anton [Abills::Sender::Browser API]
Строка 4: Строка 4:
 Сервер websoket_backend реализован асинхронно на AnyEvent. Сервер websoket_backend реализован асинхронно на AnyEvent.
  
-==== Установка сервера WebSocket ==== +[[abills:docs:manual:websocket_backend|Установка сервера ​WebSocket]] \\
-Установить perl модули: +
-  * AnyEvent::Socket +
-  * AnyEvent::​Handle +
-  * Protocol::​WebSocket +
- +
-Установить и включить модули ​апача: +
-  * mod_proxy +
-  * mod_proxy_wstunnel +
- +
-Прописать в конфигурацию apache2 ''​abills_httpd''​ в секцию VirtualHost биллинга +
-<​code>​ +
-  ProxyPass "/​admin/​wss/"​ "​ws://​127.0.0.1:​19443/​wss/​admin/"​ retry=1 +
-</​code>​ +
- +
-Установить и включить ​сервер ​вебсокетов +
-  ln -s /​usr/​abills/​misc/​websocket_backend.pl /​usr/​abills/​libexec/​websocket_backend.pl +
-  chmod +x /​usr/​abills/​libexec/​websocket_backend.pl +
-  iptables -I INPUT 1 -p tcp --dport 19443 -j ACCEPT +
-   +
-**Включать при загрузке** +
- +
-=== FreeBSD === +
-  # fetch -o /​etc/​rc.d/​abills_websocket http://​abills.net.ua/​misc/​abills_websocket_rc.d +
-  # chmod +x /​etc/​rc.d/​abills_websocket +
- +
-=== Debian/​Ubuntu/​CentOS === +
-**/​etc/​systemd/​system/​abills-backend.service** +
-<​code>​ +
-[Unit] +
-Description=ABillS Websocket Server +
-After=network.target +
-After=mysql.service +
-Requires=mysql.service +
- +
-[Service] +
-Type=forking +
- +
-PIDFile=/​usr/​abills/​var/​log/​websocket_backend.pid +
- +
-ExecStartPre=/​bin/​chown -R nobody /​usr/​abills/​var/​ +
-ExecStart=/​usr/​abills/​libexec/​websocket_backend.pl -d +
-ExecReload=/​usr/​abills/​libexec/​websocket_backend.pl stop +
- +
-[Install] +
-WantedBy=multi-user.target +
-</​code>​ +
-Включить службу +
-<​code>​ +
-systemctl enable abills-backend.service +
-</​code>​ +
- +
-====Возможные проблемы==== +
-**Не установлен systemd**\\ +
-Решения:​ +
-  * установить ''​systemd''​ +
-  * Использовать ''​rc.d''​ скрипт +
- +
-**Ошибки с mysql.service**\\ +
-Если в системе есть ''​systemd'',​ а вместо **mysql**, установлена **mariadb**,​ служба может называться **mariadb.service**,​ переименуйте зависимую службу.\\ +
-Если система не поддерживает запуск mysql через systemd, используйте init.d скрипт. +
-\\+
  
 ** Конфигурация ** ** Конфигурация **
Строка 101: Строка 40:
 </​code>​ </​code>​
  
-Пример запуска внешней команды с уведомлением+==== Запуск внешней команды с уведомлением ​====
 <​code>​ <​code>​
   use Abills::​Sender::​Browser; ​   use Abills::​Sender::​Browser; ​
Строка 110: Строка 49:
       TYPE    => '​COMMAND',​       TYPE    => '​COMMAND',​
       AID     => $admin->​{AID}, ​                       # Кому придёт уведомление       AID     => $admin->​{AID}, ​                       # Кому придёт уведомление
-      PROGRAM => '/​usr/​bin/​ping', ​                     # Имя програмы +      PROGRAM => '/​usr/​bin/​ping', ​                     # Имя программы 
-      PROGRAM_ARGS => [ '-c 3', '​-q',​ '​192.168.1.1'​ ], # Масив аргументов для програмы+      PROGRAM_ARGS => [ '-c 3', '​-q',​ '​192.168.1.1'​ ], # Массив аргументов для программы
       ARGS    => {                                     # Аргументы для Abills::​Base::​cmd       ARGS    => {                                     # Аргументы для Abills::​Base::​cmd
         timeout => 5         timeout => 5