fwconsole — утилита командной строки FreePBX для управления АТС без веб-интерфейса. Через неё можно перезагружать конфигурацию, устанавливать модули, делать бэкапы, управлять пользователями и решать проблемы.
Оглавление
Основные команды
fwconsole reload (r)
Перезагружает конфигурацию Asterisk без перезапуска сервиса. Самая частая команда — вызывается после любого изменения настроек. Аналогично apply config в веб интерфейсе freepbx.
fwconsole reloadКогда использовать:
Алиас: fwconsole r
- После изменения настроек через веб-интерфейс (если не нажали Apply Config)
- После ручного редактирования конфигов
- После установки или обновления модуля
- Долгое применение конфигурации в веб интерфейсе
Алиас: fwconsole r
fwconsole start / stop / restart
Управление службой Asterisk.
fwconsole start # Запустить Asterisk
fwconsole stop # Остановить Asterisk
fwconsole restart # Перезапустить Asterisk + Apply Configfwconsole restart — это stop + start + reload в одном вызове. Используйте, когда reload не помогает.
fwconsole moduleadmin (ma)
Управление модулями FreePBX — установка, обновление, удаление, проверка.
fwconsole ma [действие] [модуль]Флаги:
-f — FORCE (принудительное выполнение)
-R <repo> — указать репозиторий
-f — FORCE (принудительное выполнение)
-R <repo> — указать репозиторий
Действия с модулями:
Групповые действия:
Репозитории:
Примеры fwconsole ma:
# Обновить все модули
fwconsole ma upgradeall
# Установить модуль записей
fwconsole ma install recordings
# Посмотреть, какие модули нуждаются в обновлении
fwconsole ma showupgrades
# Установить модуль из URL
fwconsole ma downloadinstall https://example.com/mymod-1.0.tar.gz
# Удалить модуль с диска
fwconsole ma delete superfectamodule
# Принудительно обновить конкретный модуль
fwconsole ma -f upgrade corefwconsole backup (ba)
Создание и восстановление бэкапов.
fwconsole backup --backup [backup-id] # Создать бэкап
fwconsole backup --restore [/path/to/restore.tar.gz] # Восстановить
fwconsole backup --list # Список бэкапов
fwconsole backup --dumpextern [backup-id] # Dump remote backup string
fwconsole backup --externbackup [Base64String] # Бэкап по remote string
fwconsole backup --backupsingle [modulename] --singlesaveto [path] # Бэкап одного модуля
fwconsole backup --restoresingle [filename] # Восстановление модуляПримеры fwconsole backup (ba):
# Создать бэкап
fwconsole backup --backup --id=my_backup_20260728
# Посмотреть все бэкапы
fwconsole backup --listfwconsole backup --restore
Восстановление конфигурации из бэкапа
fwconsole backup --restore [/path/to/restore-xxxxxx.tar.gz]Когда использовать: когда нужно быстро восстановить конфигурацию из конкретного файла бэкапа.
Где хранятся бэкапы freepbx:
/var/www/html/admin/backup/
fwconsole setting (set)
Просмотр и изменение системных настроек FreePBX.
fwconsole setting <keyword> # Показать значение
fwconsole setting <keyword> <newvalue> # Установить значение
fwconsole setting --export <file> # Экспорт настроек в JSON
fwconsole setting --import <file> # Импорт настроек из JSONПопулярные ключи fwconsole setting:
Примеры fwconsole setting:
# Узнать имя базы данных
fwconsole setting AMPDBNAME
# Вывод: Setting of "AMPDBNAME" is (string)[asterisk]
# Отключить рекламу
fwconsole setting FREEPBX_BROWSER_ADS false
# Экспортировать все настройки
fwconsole setting --export /tmp/freepbx_settings.jsonКоманды для диагностики
fwconsole validate
Проверка конфигурации FreePBX на ошибки и уязвимости.
fwconsole validateЧто проверяет:
Когда использовать:
- Целостность файлов конфигурации
- Права доступа к файлам
- Наличие подозрительных изменений
- Соответствие структуры БД
Когда использовать:
- После обновления FreePBX
- При подозрении на взлом
- При нестандартном поведении АТС
fwconsole context (cx)
Просмотр контекста в dialplan.
fwconsole context <имя_контекста>Пример fwconsole context:
fwconsole context from-trunkКогда использовать: при отладке маршрутизации звонков — если звонок не проходит или идёт не по тому маршруту.
fwconsole cdr
Модуль CDR (Call Detail Records) — работа с таблицей звонков.
fwconsole cdr --purnedata # Удалить данные старше retention daysКогда использовать: когда CDR-таблица разрослась и нужно очистить старые записи.
fwconsole debug (dbug)
Потоковая передача файлов для отладки.
fwconsole debugКогда использовать: при глубокой отладке проблем со звонками или конфигурацией.
Команды для управления пользователями и транками
fwconsole userman
Управление пользователями FreePBX (UCP).
Что можно делать:
- Просматривать список пользователей
- Создавать и удалять пользователей
- Управлять правами доступа
fwconsole trunks
Включение и отключение транков из командной строки.
fwconsole trunks # выбрать цифрой транк для отключения/включения
fwconsole reload # для применения конфигаКогда использовать: когда нужно быстро отключить транк (например, при проблемах с провайдером) без доступа к веб-интерфейсу.
fwconsole certificates (cert)
Управление SSL-сертификатами
fwconsole cert --list # Список всех сертификатов
fwconsole certificates --details=<id> # Детали по ID или hostname
fwconsole cert --updateall # обновить сертификаты
fwconsole cert --updateall --force # Обновить, даже если до истечения > 30 дней
fwconsole certificates --import # Импортировать сертификаты из /etc/asterisk/keys
fwconsole certificates --delete=<id> # Удалить сертификат
fwconsole certificates --default=<id> # Сделать сертификат основнымГенерация Let's Encrypt:
fwconsole certificates --generate \
--type=le \
--hostname=pbx.example.ru \
--country-code=RU \
--state=Moscow \
--email=admin@example.ru \
--san=pbx.example.ru \
--san=www.example.ruКогда использовать:
- При настройке HTTPS для веб-интерфейса
- При истечении SSL-сертификата
- При смене домена
- При настройке SIP-TLS
- При невозможности обновить сертификат из вебморды
Часто на старых freepbx сертификаты let's encrypt не обновляются без каких либо ошибок, при ручном обновлении в веб морде, он все так же остается просроченным.
fwconsole cert --updateall --force Помогает в этом случае обновить сертификат.
Системные команды
fwconsole sysadmin (sa)
Системные функции — обновление ОС, управление сервисами.
fwconsole sa info # Информация об активации
fwconsole sa activate # Активировать систему (Deployment ID)
fwconsole sa deactivate # Деактивировать систему
fwconsole sa update # Обновить информацию активацииSSL-сертификаты и HTTPS:
fwconsole sa updatecert # Обновить SSL-сертификат Apache
fwconsole sa ports # Показать порты HTTP/HTTPS
fwconsole sa cf # Отключить принудительный HTTPS в GUI
fwconsole sa ssp # Показать текущие SSL-протоколы
fwconsole sa wsp --set='all -TLSv1 -TLSv1.1' # Установить SSL-протоколы
fwconsole sa rsp # Сбросить SSL на default (+TLSv1.2)
fwconsole sa ihc --set='pbx.example.ru' # Установить SSL-сертификат для Apache
fwconsole sa ihc default # Установить сертификат по умолчаниюPostfix (почта):
fwconsole sa showpostfix # Показать кастомные настройки Postfix
fwconsole sa addpostfix --set='smtp_use_tls = yes' # Добавить настройку
fwconsole sa cleanpostfix # Удалить все кастомные настройки
fwconsole sa custompostfix yes # Включить кастомные настройки
fwconsole sa custompostfix no # Выключить кастомные настройки
fwconsole sa savepostfix # Применить настройки (restart Postfix)HAproxy:
fwconsole sa rebuildhaproxy # Пересобрать конфиг HAproxy (restart сервиса)Примеры fwconsole sysadmin:
# Обновить SSL-сертификат
fwconsole sa updatecert
# Включить только TLSv1.2 и TLSv1.3
fwconsole sa wsp --set='all -TLSv1 -TLSv1.1'
# Настроить отправку почты через TLS
fwconsole sa addpostfix --set='smtp_use_tls = yes'
fwconsole sa savepostfix
# Посмотреть порты
fwconsole sa ports
Когда использовать:
- При истечении SSL-сертификата Apache
- При настройке HTTPS для веб-интерфейса
- При настройке отправки уведомлений по почте
- При проблемах с HAproxy (когда звонки срываются из-за рестарта)
fwconsole system
Обновление системы FreePBX.
fwconsole system # Информация о системе
fwconsole sysup # Обновить систему
fwconsole systemupdate # Полное обновление системыКогда использовать: когда модули не обновляются или менеджер обновлений завис.
fwconsole chown
Выставляет права и владельца всем используемым файлам/каталогам freepbx
fwconsole chownКогда использовать: после ручного копирования файлов на сервер — чтобы FreePBX мог их прочитать.
fwconsole unlock
Разблокировка сессии FreePBX.
Заходите браузером на IP freepbx, нажимаете ctrl+a выделится весь текст на странице. Под freepbx administration увидите выделенную строчку типа faododpivsaemjqvdi7627dnl, ее копируете и потом в cli выполняете команду ниже. После разблокировки сессии, можете зайти в freepbx не вводя никакие учетные данные, на запрос логина и пароля просто нажмите OK
Заходите браузером на IP freepbx, нажимаете ctrl+a выделится весь текст на странице. Под freepbx administration увидите выделенную строчку типа faododpivsaemjqvdi7627dnl, ее копируете и потом в cli выполняете команду ниже. После разблокировки сессии, можете зайти в freepbx не вводя никакие учетные данные, на запрос логина и пароля просто нажмите OK
fwconsole unlock faododpivsaemjqvdi7627dnlКогда использовать: Забыли пароль от веб интерфейса
fwconsole sounds
Модуль sounds управляет языковыми пакетами звуков IVR, приветствий и системных сообщений Asterisk/FreePBX. Каждый пакет — это набор аудиофайлов на определённом языке (русский, английский, немецкий и т.д.).
Просмотр доступных пакетов sounds
fwconsole sounds --listВыводит полный список пакетов, доступных для скачивания с сервера FreePBX:
Просмотр установленных пакетов
fwconsole sounds --listglobalПоказывает, какие пакеты уже установлены локально и какой из них назначен по умолчанию:
Package: en
Language: English (United States)
Version: 14.0.1
Status: Installed
* Default
Package: ru
Language: Russian
Version: 14.0.1
Status: InstalledЗвёздочка * указывает на текущий пакет по умолчанию — именно он используется в системных сообщениях (приветствие на «добро пожаловать», «абонент не отвечает» и т.д.).
Установка языкового пакета
fwconsole sounds --install=ruСкачивает и устанавливает русский пакет звуков. После установки файлы попадают в /var/lib/asterisk/sounds/.
Установить несколько пакетов за раз:
fwconsole sounds --install=ru --install=de --install=frУдаление языкового пакета
fwconsole sounds --uninstall=deУдаляет немецкий пакет. Файлы звуков удаляются из /var/lib/asterisk/sounds/.
Назначение языка по умолчанию
fwconsole sounds --global=ruПереключает системные звуки на русский. После выполнения все стандартные сообщения Asterisk (IVR, автоответчик, ожидание на линии) будут воспроизводиться на русском.
Если нужно вернуть английский:
Если нужно вернуть английский:
fwconsole sounds --global=enОбновление информации о пакетах
fwconsole sounds --syncОбновляет каталог пакетов с удалённого сервера FreePBX. Сам полезно запускать перед установкой, если не уверены, что локальный список актуален:
Типичный сценарий
Русскоязычная АТС — установка полного набора за три команды:
fwconsole sounds --sync
fwconsole sounds --install=ru
fwconsole sounds --global=ru
fwconsole reloadПосле reload Asterisk подхватит новые звуки без перезапуска.
fwconsole localization
Модуль localization управляет интерфейсами модулей FreePBX — переводит веб-интерфейс, письма, звонковые меню и прочие текстовые ресурсы на нужный язык. В отличие от sounds (аудиофайлы), здесь речь о строках интерфейса и шаблонах сообщений.
Получение токена авторизации
Все запросы к серверу локализаций Sangoma/Weblate лимитированы — без токена дают 100 запросов в день. Для продакшена токен обязателен. Получить токен: https://weblate.sangoma.com/accounts/profile/#api Передавать его можно двумя способами — через переменную окружения:
Все запросы к серверу локализаций Sangoma/Weblate лимитированы — без токена дают 100 запросов в день. Для продакшена токен обязателен. Получить токен: https://weblate.sangoma.com/accounts/profile/#api Передавать его можно двумя способами — через переменную окружения:
export FREEPBX_AUTH_TOKEN="ваш_токен"
fwconsole localization --list
#или
fwconsole localization --authorization=ваш_токен --listОсновной состав команд localization
#Просмотр модулей с локализациями
fwconsole localization --list
#Обновление локализаций
fwconsole localization --update
#Обновить конкретный модуль
fwconsole localization --update --module=core
#Обновить конкретный язык
fwconsole localization --update --language=ru
#Принудительное обновление без учёта даты
fwconsole localization --update --module=core --language=ru --ignorechangeТипичный сценарий
Русификация интерфейса FreePBX после установки. В принципе для freepbx 15-17 это уже не актуально.
export FREEPBX_AUTH_TOKEN="ваш_токен"
fwconsole localization --list
fwconsole localization --update --language=ru
fwconsole reloadПосле reload веб-интерфейс и системные шаблоны переключатся на русский.
fwconsole kvstore
Управление хранилищем ключ-значение FreePBX.
# Посмотреть все хранилища
fwconsole kvstore --list
# Получить значение ключа
fwconsole kvstore --get admin_email
# Установить значение
fwconsole kvstore --set admin_email admin@example.com
# Удалить ключ
fwconsole kvstore --delete old_settingfwconsole mysql (m)
Выполнение SQL-запросов к базе данных FreePBX.
fwconsole mysql -e "ЗАПРОС"
# Посмотреть таблицы БД
fwconsole mysql -e "SHOW TABLES"
# Посмотреть пользователей
fwconsole mysql -e "SELECT id, displayname, default_extension FROM users"
# Подсчитать количество расширений
fwconsole mysql -e "SELECT COUNT(*) as total FROM extensions"⚠️ Важно: неправильный запрос может повредить данные. Всегда делайте бэкап перед ручными запросами:
fwconsole doctrine
Команды Doctrine ORM для работы с миграциями и структурой базы данных.
fwconsole doctrineКогда использовать: при проблемах со структурой БД после обновлений FreePBX.
Сеть и безопасность
fwconsole firewall
Управление встроенным файрволом FreePBX.
fwconsole firewall [действие] [аргументы...]Действия:
fwconsole extip (externalip)
Получение внешнего IP-адреса сервера.
Зачем: проверить, видит ли Asterisk ваш внешний IP (важно для NAT и SIP-транков). Проверить через какой интернет канал сейчас работает freepbx.
Зачем: проверить, видит ли Asterisk ваш внешний IP (важно для NAT и SIP-транков). Проверить через какой интернет канал сейчас работает freepbx.
Управление процессами
fwconsole pm2
Управление фоновыми процессами FreePBX (Node.js-сервисы, веб-интерфейс, API).
fwconsole pm2 [опции]Примеры fwconsole pm2:
# Посмотреть запущенные процессы
fwconsole pm2 --list
# Перезапустить конкретный процесс
fwconsole pm2 --restart fw-ipc
# Остановить процесс
fwconsole pm2 --stop fw-notify
# Посмотреть логи (последние 50 строк)
fwconsole pm2 --log fw-ipc --lines 50
# Обновить все процессы
fwconsole pm2 --update
Когда использовать: завис веб-интерфейс, проблемы с API, неработающие уведомления.
fwconsole session
Управление сессиями пользователей FreePBX (веб-интерфей).
# Посмотреть активные сессии
fwconsole session --list
# Удалить зависшую сессию
fwconsole session --destroy abc123def456
# Разблокировать всех пользователей
fwconsole session --killall
Когда использовать: пользователь заблокирован в веб-интерфейсе, «зависшая» сессия не даёт войти.
fwconsole job
Централизованное управление фоновыми задачами FreePBX (cron-задачи модулей).
# Посмотреть запланированные задачи
fwconsole job --list
# Удалить конкретную задачу
fwconsole job --destroy 5
# Удалить все фоновые задачи
fwconsole job --killall
Когда использовать: когда «застряла» cron-задача, нужно остановить автоматические процессы или проверить расписание задач модулей.
fwconsole notifications (not)
Управление уведомлениями FreePBX. Это, те уведомление что вы видите в веб интерфейсе на dashboard.
#fwconsole notification --ключ модуль id
fwconsole notifications --delete core swap #удалит уведомление о swap
Когда использовать: когда в веб-интерфейсе горит красное уведомление, которое не исчезает после исправления проблемы.
Шпаргалка по fwconsole
Telephonization.ru — внедрение и поддержка корпоративной телефонии на Asterisk/FreePBX.