Когда ставишь FreePBX первый раз, впечатляет — модулей десятки, вкладок в меню целый лес. Но через месяц ты понимаешь: из 80 модулей ты пользуешься десятью. Остальные — мертвый груз, который жрёт RAM, тормозит загрузку страниц и расширяет поверхность атаки.
В этом разберёмся, что реально можно выкинуть, что лучше оставить, и как это сделать правильно.
В этом разберёмся, что реально можно выкинуть, что лучше оставить, и как это сделать правильно.
Зачем отключать модули freepbx?
Производительность
Каждый модуль — это PHP-код, который грузится при каждом открытии страницы в веб-интерфейсе. FreePBX на слабом сервере (а для маленькой АТС обычно берут что-то вроде 1–2 ГБ RAM) с полным набором модулей тормозит заметно. После чистки:
На сервере с 1 ГБ RAM разница ощутима: FreePBX без лишних модулей потребляет на 200–400 МБ меньше.
- Загрузка страниц в веб-интерфейсе ускоряется
- fwconsole работает быстрее — меньше модулей, меньше проверок
- Меньше потребление RAM — каждый модуль держит свои процессы и хуки
- Меньше фоновых задач — крон-задачи, опросы сервисов, интеграции
На сервере с 1 ГБ RAM разница ощутима: FreePBX без лишних модулей потребляет на 200–400 МБ меньше.
Безопасность
Каждый модуль — это потенциальная точка атаки. Особенно опасны модули с веб-интерфейсом, API и интеграциями с внешними сервисами:
Sangoma CRM, Contact Manager — интеграции с внешними сервисами, которые могут быть скомпрометированы
Чем меньше модулей — тем меньше кода, который нужно поддерживать и обновлять. Меньше компонентов — меньше уязвимостей.
- UCP (User Control Panel) — отдельный веб-интерфейс для пользователей, дополнительная поверхность атаки
- REST Apps — REST API, который может быть использован для несанкционированного доступа
- WebRTC — веб-телефония, которая открывает порты для WebRTC-соединений
- XMPP — мессенджер с собственным протоколом, дополнительный сервис для обновления и патчинга
- IRC — кто вообще использует IRC в 2026?
Sangoma CRM, Contact Manager — интеграции с внешними сервисами, которые могут быть скомпрометированы
Чем меньше модулей — тем меньше кода, который нужно поддерживать и обновлять. Меньше компонентов — меньше уязвимостей.
Стабильность
Меньше модулей — меньше конфликтов. Каждое обновление FreePBX может сломать модуль, который ты не используешь, но который конфликтует с тем, который тебе нужен. После отключения проблем с обновлениями становится меньше.
Удобство администрирования
Без 40 ненужных вкладок в меню проще найти то, что нужно. Админка становится понятнее, особенно для тех, кто будет работать с ней после тебя.
Категории модулей
Никогда не отключай (ядро)
Эти модули — основа FreePBX. Без них система теряет критический функционал:
Можно смело удалить (90% установок)
Вот эти модули в 90% случаев маленькой/средней АТС не нужны:
Areminder
Broadcast
Callaccounting
Callerid
Calllimit
Callback
Cidlookup
Conferencespro
Configedit
Contactmanager
Cos
Cxpanel
Dahdiconfig
Daynight
Dictate
Digium_phones
Digiumaddoninstaller
Directory
Disa
Donotdisturb
Dundicheck
Endpoint
Extensionroutes
Fax
Faxpro
Freepbx_ha
Hotelwakeup
Irc
Iotserver
Missedcall
Motif
Oracle_connector
Pagingpro
Parkpro
Pbdirectory
Pbxmfa
Phonebook
Pinsetspro
Pms
Presencestate
Queuestats
Queuemetrics
Qxact_reports
Recording_report
Restapps
Sangomaconnect
Sangomacrm
Sipstation
Sms
Smsplus
Sng_mcu
Superfecta
Tts
Ttsengines
Vega
Vmblast
Vmnotify
Voicemail_report
Vqplus
Webcallback
Webrtc
Xmpp
ZuluСкрипт для автоматической очистки
У меня есть скрипт, который отключает большинство ненужных модулей автоматически:
Скопируйте скрипт на сервер:
curl -O https://raw.githubusercontent.com/rstayalive/setupmenu/master/src/disablemodules.sh
chmod +x disablemodules.shЗапустите скрипт:
./disablemodules.shПроверьте результат:
fwconsole ma listЕсли снова нужен один из удаленных модулей
# Установите модуль обратно
fwconsole ma install <имя_модуля>
# Перезагрузите
fwconsole reloadОтключение модулей через GUI
Если не хотите удалять, модули можно отключить:
Где: Admin → Module Admin
Найдите модуль
Нажмите Disable
Apply Config
Модуль остаётся на диске, но не грузится. Это безопаснее удаления.
Где: Admin → Module Admin
Найдите модуль
Нажмите Disable
Apply Config
Модуль остаётся на диске, но не грузится. Это безопаснее удаления.
Очистка кэша freepbx
После удаления модулей очистите кэш:
fwconsole chown
fwconsole reloadЧастые вопросы
Как узнать, какие модули установлены?
В cli
fwconsole ma list
Или в веб-интерфейсе: Admin → Module Admin
fwconsole ma list
Или в веб-интерфейсе: Admin → Module Admin
Мой сценарий — маленькая АТС на 5–10 человек. Какие модули точно нужны?
Минимальный набор:
- core + framework
- voicemail (если нужна голосовая почта)
- ringgroups (если есть группы вызова)
- queues (если есть очередь)
- timeconditions + timegroups (если есть график)
- ivr (если есть голосовое меню)
- featurecodeadmin
- backup
- dashboard
- logfiles
- cdr
- cel
Всё остальное — по потребностям.
Заключение
Отключение неиспользуемых модулей FreePBX — это не «паранойя», а здравый смысл. Вы получаете:
Скрипт для автоматической очистки: disablemodules.sh
- Быстрее работу веб-интерфейса
- Меньше потребление ресурсов сервера
- Меньше точек атаки
- Проще админку
- Меньше проблем при обновлениях
Скрипт для автоматической очистки: disablemodules.sh
Если нужна помощь с настройкой FreePBX — свяжитесь с нами.
Telephonization.ru — внедрение и поддержка корпоративной телефонии на Asterisk/FreePBX.