Удельта

Пошаговая инструкция · Самостоятельная установка

Как установить Zulip на Ubuntu и настроить общение команды

Пошаговая инструкция для самостоятельной установки. Установим Zulip на отдельный сервер, подключим HTTPS и почту, создадим организацию и проверим переписку по темам. До приглашения команды настроим копии и восстановление.

Первая тема обсуждения объединяет связанные сообщения внутри отдельного командного потока

Что подготовить и как читать инструкцию #

Используем официальный инсталлятор Zulip Server 12.3. Он сам устанавливает и настраивает Nginx, PostgreSQL, кеш, очередь и обработчики приложения. Поэтому нужен чистый отдельный сервер или виртуальная машина. Не запускайте его на хосте с уже настроенным Nextcloud, сайтом или общей базой: установщик управляет системными компонентами для своих задач. Docker в этой схеме не требуется. Возможности общения по темам описаны на странице Zulip.

Ubuntu 26.04 явно включена в список ОС для production. Для небольшой команды начальная оценка — 4 vCPU, 8 ГБ RAM и SSD от 80 ГБ. Файлы и история постепенно увеличивают объём. Для другого масштаба воспользуйтесь руководством выбора сервера Zulip, а копии рассчитывайте и храните отдельно. Если памяти меньше 5 ГБ, официальный минимум дополнительно требует swap; в любом случае не заменяйте дисковым swap память для активных пользователей.

Команды выполняйте в терминале сервера после подключения по SSH, если шаг не указывает другое место. sudo даёт команде права администратора. Действия в браузере выполняйте на своём компьютере. Домены, IP-адреса и значения ВАШ_ПАРОЛЬ из примеров заменяйте своими до выполнения команды.

Двигайтесь по одному шагу и проверяйте результат перед следующим. Блок с <<EOF или другим именем завершения копируйте целиком: он записывает содержимое одного файла. При работе в nano сохраняйте файл клавишами Ctrl+O, Enter и выходите Ctrl+X. Если прервали SSH-сеанс, снова перейдите в указанный каталог; переменные предыдущего сеанса потребуется задать заново.

Шаг 1. Установите инструменты загрузки #

Добавим curl и источник universe, нужный зависимостям установщика. Эти команды относятся к серверу Ubuntu, а не к вашему компьютеру.

Установите инструменты загрузки
sudo apt update
sudo apt install curl ca-certificates software-properties-common
sudo add-apt-repository -y universe

Обновление списка и установка пакетов завершились без ошибок.

Шаг 2. Создайте каталог установщика #

Отдельная папка поможет не перепутать архив с другими загрузками. В неё будем скачивать релиз Zulip 12.3.

Создайте каталог установщика
mkdir -p "$HOME/zulip-install"
cd "$HOME/zulip-install"

Текущий каталог — ~/zulip-install.

Шаг 3. Скачайте архив и контрольные суммы #

curl сохраняет архив программы и список SHA256. Проверка обнаруживает повреждённый файл до установки.

Скачайте архив и контрольные суммы
curl -fLO https://download.zulip.com/server/zulip-server-12.3.tar.gz
curl -fLO https://download.zulip.com/server/SHA256SUMS.txt

Оба файла скачаны; ошибки HTTP отсутствуют.

Шаг 4. Проверьте архив #

Сравним скачанный архив со строкой его имени в официальном списке. Не распаковывайте файл до успешной проверки.

Проверьте архив
grep '  zulip-server-12.3.tar.gz$' SHA256SUMS.txt | sha256sum --check

Вывод содержит zulip-server-12.3.tar.gz: OK. При FAILED скачайте заново.

Шаг 5. Распакуйте установщик #

tar извлекает файлы в папку zulip-server-12.3 рядом с архивом. Это ещё не запускает установку.

Распакуйте установщик
tar -xzf zulip-server-12.3.tar.gz

Внутри папки есть scripts/setup/install.

Шаг 6. Запустите официальный установщик #

Замените домен и почту своими в параметрах. Установщик сам ставит приложение и зависимости на чистый сервер; домен уже должен указывать на его IP. Дождитесь завершения.

Запустите официальный установщик
cd "$HOME/zulip-install"
sudo ./zulip-server-12.3/scripts/setup/install \
  --hostname=zulip.example.com \
  --email=admin@example.com \
  --certbot \
  --postgresql-version=18 \
  --no-push-notifications

Установщик вывел адрес создания организации. Сохраните его: это доступ к первоначальной настройке.

Шаг 7. Создайте организацию #

Откройте выданную установщиком ссылку на своём компьютере. Введите название организации и реквизиты администратора. Ссылку первоначальной настройки не публикуйте.

Вы вошли в созданную организацию и видите интерфейс сообщений.

Шаг 8. Заполните обычные SMTP-параметры #

Откройте sudo nano /etc/zulip/settings.py. Измените поля по образцу ниже, сохранив прочие параметры. STARTTLS на 587 и SSL на 465 — разные режимы: пример использует 587, оба одновременно включать нельзя.

Заполните обычные SMTP-параметры
EMAIL_HOST = 'smtp.example.com'
EMAIL_HOST_USER = 'zulip@example.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False

Сохранены адрес и логин вашего почтового сервиса; пароль сюда не добавлен.

Шаг 9. Сохраните пароль SMTP #

Откройте sudo nano /etc/zulip/zulip-secrets.conf. В существующей секции [secrets] добавьте или измените email_password = ваш_пароль. Не создавайте вторую секцию и не меняйте ключи базы.

Сохраните пароль SMTP
sudo nano /etc/zulip/zulip-secrets.conf

Пароль находится только в файле секретов; сохраните его права и владельца.

Шаг 10. Примените почтовые настройки #

Штатный скрипт перезапустит Zulip. Выполняем его от пользователя zulip, которому принадлежат файлы приложения.

Примените почтовые настройки
sudo -u zulip /home/zulip/deployments/current/scripts/restart-server

Перезапуск завершился без ошибки чтения settings.py.

Шаг 11. Отправьте тестовое письмо #

Замените admin@example.com своим ящиком. Проверка подтверждает подключение к SMTP, но доставку нужно увидеть в почтовом клиенте.

Отправьте тестовое письмо
sudo -u zulip /home/zulip/deployments/current/manage.py send_test_email admin@example.com

Письмо получено; проверьте также папку спама.

Шаг 12. Пригласите второго пользователя #

Через интерфейс организации отправьте приглашение другому своему ящику или коллеге. Войдите по нему в отдельном браузере.

Второй пользователь входит; восстановление пароля также доставляет письмо.

Шаг 13. Создайте канал с темой #

Создайте тестовый канал, затем тему внутри него и отправьте сообщение. Канал объединяет участников, тема отделяет обсуждения. Добавьте второго пользователя.

Оба участника видят сообщение в нужной теме.

Шаг 14. Проверьте закрытый канал #

Создайте отдельный приватный канал и пригласите только нужную учётную запись. Проверьте, что пользователь вне канала не видит его содержимое.

Доступ соответствует участникам; публичная регистрация ограничена выбранными настройками организации.

Шаг 15. Проверьте службы и HTTPS #

Supervisor управляет процессами Zulip. Посмотрим их состояние, проверим Nginx и внешний адрес; журнал errors.log нужен для диагностики конкретной ошибки.

Проверьте службы и HTTPS
sudo supervisorctl status
sudo nginx -t
curl -I https://zulip.example.com/
sudo tail -n 50 /var/log/zulip/errors.log

Нужные процессы RUNNING, nginx -t успешен и HTTPS открывается без предупреждения.

Шаг 16. Проверьте продление сертификата #

Пробное продление не заменяет текущий сертификат, но выявляет проблемы с проверкой домена.

Проверьте продление сертификата
sudo certbot renew --dry-run

Dry-run успешен. При отказе проверьте DNS и доступ к порту 80.

Шаг 17. Создайте штатную копию #

Команда backup сохраняет данные Zulip и выводит путь результата. Перенесите копию на другую машину в закрытое хранилище. Восстанавливайте по штатной инструкции той же версии на изолированном сервере.

Создайте штатную копию
sudo -u zulip /home/zulip/deployments/current/manage.py backup

Копия создана без ошибки; тест восстановления должен показать старую тему, сообщение и вложение.

Если результат шага отличается #

Вернитесь к проверке того шага, на котором появилась ошибка. Первая ошибка в выводе обычно полезнее последних строк: последующие команды могли не получить нужный файл или работающую службу. Не повторяйте установку целиком поверх частично настроенного приложения.

Если страница не открывается, сначала проверьте домен и входящие порты, затем состояние приложения и его журнал. Если сайт открывается, но отдельное действие не работает, проверьте связанные компоненты — обработчик фоновых задач, почту или права пользователя. Официальные источники в конце статьи относятся к выбранному способу установки.

Обсудить установку и настройку

Материал был полезен?

Сообщить об ошибке или задать вопрос редакции

Сообщение увидит редакция. Не указывайте пароли и личные данные. Текст удаляется через 180 дней.

О материале

ИнфраструктураРуководствоЗадача: установитьУровень: практикаZulip

Последнее обновление:

Обсуждение

Комментарии проходят подтверждение адреса и проверку редакцией.