Установка Chatwoot на Debian 11
TL;DR
Chatwoot — бесплатная платформа для онлайн‑чата и поддержки клиентов, которую можно быстро развернуть на Debian 11. В этом руководстве показана по шагам установка из репозитория, настройка Nginx и Let’s Encrypt, проверка сервисов и советы по отладке и безопасности.
Что такое Chatwoot?
Chatwoot — это open‑source платформа для реального времени (онлайн‑чат), объединяющая общение с клиентами через веб‑виджет и социальные каналы (Facebook, WhatsApp, Twitter). Кратко: self‑hosted альтернатива коммерческим продуктам для поддержки клиентов.
Требования
- Сервер с Debian 11.
- Домен, указывающий на IP сервера (A/AAAA запись).
- Доступ root или пользователь с правами sudo.
Перед установкой — полезные определения
- Nginx: обратный прокси и веб‑сервер.
- Let’s Encrypt: служба получения бесплатных SSL‑сертификатов.
- Postgres, Redis: рекомендуемые сервисы для Chatwoot.
Быстрая инструкция по установке
Ниже приведён последовательный набор команд и примеров вывода, который показывает процесс установки из официального репозитория Chatwoot.
- Установите git:
apt-get install git -y- Склонируйте репозиторий Chatwoot:
git clone https://github.com/chatwoot/chatwoot.git- Перейдите в каталог и запустите скрипт установки:
cd chatwoot/deployment/
bash setup_20.04.sh -O setup.shВ ходе работы скрипта вас попросят указать домен и разрешить генерацию SSL через Let’s Encrypt:
Would you like to configure a domain and SSL for Chatwoot?(yes or no): yes
Enter your sub-domain to be used for Chatwoot (chatwoot.domain.com for example) : chatwoot.linuxbuz.com
This script will try to generate SSL certificates via LetsEncrypt and serve chatwoot at
https://chatwoot.linuxbuz.com. Proceed further once you have pointed your DNS to the IP of the instance.
Do you wish to proceed? (yes or no): yes
Would you like to install postgres and redis?(Answer no if you plan to use external services): yesПример диалога certbot и выводов при выдаче сертификата (часть интерактивного вывода):
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): [email protected]
(Y)es/(N)o: Y
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for chatwoot.linuxbuz.com
Performing the following challenges:
http-01 challenge for chatwoot.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Subscribe to the EFF mailing list (email: [email protected]).
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/chatwoot.linuxbuz.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/chatwoot.linuxbuz.com/privkey.pem
Your certificate will expire on 2022-06-04. To obtain a new or
tweaked version of this certificate in the future, simply run certbot renew
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Job for nginx.service failed because the control process exited with error code.
See systemctl status nginx.service and journalctl -xe for details.
*************************************************************************
Woot! Woot!! Chatwoot server installation is complete
The server will be accessible at https://chatwoot.linuxbuz.com
*************************************************************************Важно: ошибка запуска nginx в выводе не всегда критична — иногда это временная проблема конфигурации, см. раздел «Устранение неисправностей».
Проверка статуса сервисов
Проверить статус Chatwoot (systemd target):
systemctl status chatwoot.targetОжидаемый фрагмент вывода:
? chatwoot.target
Loaded: loaded (/etc/systemd/system/chatwoot.target; enabled; vendor preset: enabled)
Active: active since Sun 2022-03-06 06:07:21 UTC; 1min 36s ago
Mar 06 06:07:21 debian11 systemd[1]: Reached target chatwoot.target.По умолчанию Chatwoot «слушает» порт 3000. Проверка:
ss -antpl | grep 3000Фрагмент вывода, где процесс ruby прослушивает порт:
LISTEN 0 1024 0.0.0.0:3000 0.0.0.0:* users:(("ruby",pid=38128,fd=8))Проверка статуса Nginx:
systemctl status nginxПример ожидаемого вывода:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-03-06 06:09:48 UTC; 10s ago
Docs: man:nginx(8)
Process: 38376 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 38377 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 38378 (nginx)
Tasks: 3 (limit: 4679)
Memory: 3.5M
CPU: 61ms
CGroup: /system.slice/nginx.service
??38378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??38379 nginx: worker process
??38380 nginx: worker process
Mar 06 06:09:48 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Mar 06 06:09:48 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.Доступ к веб‑интерфейсу
Откройте в браузере URL вашего домена (например, https://chatwoot.linuxbuz.com). При первом входе заполните форму: имя, email, название компании, пароль и нажмите Finish Setup, затем выполните вход.





Alt‑тексты изображений адаптированы для понятного поиска и доступности.
Типичные проблемы и их решения
- Nginx не запускается после установки: выполните systemctl status nginx и journalctl -xe, проверьте корректность конфигурации в /etc/nginx/sites-enabled и наличие сертификатов в /etc/letsencrypt/live/<ваш_домен>.
- Сертификат Let’s Encrypt не выдаётся: убедитесь, что DNS‑запись A/AAAA указывает на IP сервера и что порт 80 открыт для внешних запросов.
- Chatwoot слушает 3000, но Nginx не проксирует: проверьте конфигурацию upstream в файле nginx и что systemd‑юнит chatwoot.target активен.
Безопасность и обслуживание
- Настройте автоматическое продление сертификатов: certbot renew (обычно systemd timer уже настроен).
- Отключите прямой доступ к приложению на порту 3000 из публичной сети — используйте firewall (ufw/iptables), разрешив трафик только к 80/443.
- Храните резервные копии базы данных Postgres и конфигураций Nginx.
Рекомендации по интеграции и расширению
- Интегрируйте внешние каналы (Facebook, WhatsApp, Twitter) в разделе Inboxes → Channels.
- Для промышленной эксплуатации рассмотрите отдельные хосты/контейнеры для Postgres и Redis.
Быстрый чек‑лист после установки
- DNS указывает на сервер
- SSL сертификат в /etc/letsencrypt/live/<домен>
- chatwoot.target активен
- Nginx проксирует HTTPS на приложение
- Резервная стратегия для Postgres и Redis
Критерии приёмки
- Доступ к панели по HTTPS и корректный сертификат.
- Вход в систему под администраторским аккаунтом.
- Возможность создания Inboxes и подключения хотя бы одного канала.
Альтернативные подходы
- Docker / Docker Compose: быстрое изолированное развёртывание (вместо установки сервисов на хост).
- Kubernetes: для масштабируемых продакшен‑инсталляций.
- Использование облачной managed БД/Redis, если вы не хотите управлять сервисами самостоятельно.
Мини‑методология обновления и отката
- Перед обновлением сделайте бэкап базы данных и конфигов.
- На тестовом стенде прогоните обновление пакета/репозитория.
- Если апдейт приводит к ошибкам, восстановите бэкап и откатите изменения конфигурации.
Миграция с коммерческих сервисов
Экспорт данных зависит от источника; обычно требуется CSV/JSON экспорта бесед и пользователей, затем импорт через API Chatwoot.
Итоги
Chatwoot можно быстро установить на Debian 11, используя официальный скрипт и Let’s Encrypt для HTTPS. После установки проверьте Nginx, сертификаты и работу chatwoot.target. Для продакшена рекомендуются отдельные сервисы для Postgres и Redis, резервное копирование и ограничение доступа к порту 3000.
Примечание: если нужны примеры конфигураций nginx, systemd‑юнитов или шаблоны бэкапа — напишите, и я подготовлю.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента