Это старая версия документа.


Установка сервера WebSocket

Установить perl модули:

  • AnyEvent::Socket
  • AnyEvent::Handle
  • Protocol::WebSocket

Установить и включить модули апача:

  • mod_proxy
  • mod_proxy_wstunnel

Прописать в конфигурацию apache2 abills_httpd в секцию VirtualHost биллинга

  ProxyPass "/admin/wss/" "ws://127.0.0.1:19443/wss/admin/" retry=1

Установить и включить сервер вебсокетов

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

[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

Включить службу

systemctl enable abills-backend.service