Как установить Zulip Chat Server в Debian 11

12 set 2022 6 min di lettura
Как установить Zulip Chat Server в Debian 11
Indice dei contenuti

Введение

Zulip — это чат-сервер с открытым исходным кодом, похожий на Microsoft Teams, Rocket Chat или Slack. Он написан на Python и использует Django, PostgreSQL и JavaScript. Он интегрируется с более чем 90 сторонними плагинами, включая Github, Jira, Stripe, Zendesk, Sentry и т. д. Вы можете расширить интеграции, связав их с Zapier и IFTTT. Он поставляется с такими функциями, как личные сообщения, групповой чат, многопотоковые беседы, настраиваемые каналы, видеозвонки, загрузка файлов с помощью перетаскивания, настраиваемые смайлики, интеграция Giphy, предварительный просмотр изображений и твитов и многое другое. Zulip поставляется с настольными и мобильными приложениями для каждой платформы, что делает его независимым от платформы.

В этом руководстве вы узнаете, как установить и настроить Zulip Chat на сервере под управлением Debian 11.

Если вы хотите установить Zulip Chat на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Предпосылки

  • Сервер под управлением Debian 11.
  • Не менее 2 ГБ оперативной памяти, если вы ожидаете менее 100 пользователей. Для более чем 100 пользователей вы получаете 4 ГБ ОЗУ и 2 сервера ЦП.
  • Пользователь без полномочий root с привилегиями sudo.
  • Доменное имя, настроенное так, чтобы оно указывало на сервер, zulip.example.com.

Обновите систему:

sudo apt update && sudo apt upgrade

Несколько пакетов, которые нужны вашей системе:

sudo apt install wget curl nano ufw software-properties-common apt-transport-https gnupg2 ca-certificates debian-archive-keyring -y

Некоторые из этих пакетов уже могут быть установлены в вашей системе.

Настроить брандмауэр

Первым шагом является настройка брандмауэра. Debian поставляется с ufw (простой брандмауэр).

Проверьте, работает ли брандмауэр:

sudo ufw status

Вы должны получить следующий результат:

Status: inactive

Разрешите SSH-порт, чтобы брандмауэр не прерывал текущее соединение при активации.

sudo ufw allow OpenSSH

Также разрешите порты HTTP и HTTPS:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Включите брандмауэр:

sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
 Firewall is active and enabled on system startup

Дважды проверьте состояние брандмауэра:

sudo ufw status

Вы должны увидеть аналогичный вывод:

Status: active

 To Action From
 -- ------ ----
 OpenSSH ALLOW Anywhere
 80/tcp ALLOW Anywhere
 443/tcp ALLOW Anywhere
 OpenSSH (v6) ALLOW Anywhere (v6)
 80/tcp (v6) ALLOW Anywhere (v6)
 443/tcp (v6) ALLOW Anywhere (v6)

Установить Зулип

Zulip поставляется со сценарием установки, который выполняет следующие действия:

  1. Создать пользователя zulip для запуска сервера Zulip.
  2. Создайте домашний каталог, используя пользователя zulip, который размещает весь общедоступный код в /home/zulip/deployments.
  3. Установите все зависимости, которые нужны Zulip.
  4. Установите базу данных PostgreSQL, веб-сервер Nginx, RabbitMQ, Redis Cache и Memcached.
  5. Инициализируйте базу данных Zulip.

Создайте временный каталог с помощью команды mktemp, чтобы загрузить установщик Zulip, и перейдите к нему:

cd $(mktemp -d)

Загрузите последнюю версию Zulip:

wget https://download.zulip.com/server/zulip-server-latest.tar.gz

Извлеките все файлы:

tar -xf zulip-server-latest.tar.gz

Запустите скрипт установки:

sudo./zulip-server-*/scripts/setup/install --certbot \
 --email=YOUR_EMAIL --hostname=YOUR_HOSTNAME

Флаг --certbot заставляет программу установки загрузить Certbot и автоматически установить SSL-сертификаты. Замените YOUR_EMAIL с вашим идентификатором электронной почты и YOUR_HOSTNAME с доменным именем Zulip ( zulip.example.com ).

Войдите в интерфейс Zulip

После завершения сценария установки вам будет предоставлен уникальный URL-адрес. Скопируйте этот URL-адрес:

.......
 zulip-workers:zulip_deliver_scheduled_messages: started
 + set +x
 + su zulip -c '/home/zulip/deployments/current/manage.py generate_realm_creation_link'
 Please visit the following secure single-use link to register your

 new Zulip organization:


 https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46

Посетите https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46 в браузере и появится следующий экран:

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

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

После этого откроется панель инструментов Zulip, и вы сможете начать ее использовать.

Настройка исходящей электронной почты

Сервер Zulip должен регулярно отправлять электронные письма. Для этого вам необходимо настроить для него вашу исходящую почту. В нашем примере мы будем использовать сервис Amazon SES. Все электронные письма отправляются с идентификатора электронной почты, который использовался для создания организации на шаге 3.

Zulip хранит все свои настройки в файле /etc/zulip/settings.py. Откройте его для редактирования:

sudo nano /etc/zulip/settings.py

Раскомментируйте следующие переменные, удалив перед ними # и введя соответствующие значения:

## EMAIL_HOST and EMAIL_HOST_USER are generally required.
 EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
 EMAIL_HOST_USER = 'yoursmpt_username'

 ## Passwords and secrets are not stored in this file. The password
 ## for user EMAIL_HOST_USER goes in `/etc/zulip/zulip-secrets.conf`.
 ## In that file, set `email_password`. For example:
 # email_password = abcd1234

 ## EMAIL_USE_TLS and EMAIL_PORT are required for most SMTP providers.
 EMAIL_USE_TLS = True
 EMAIL_PORT = 587

Заполните следующие дополнительные переменные. Первый удаляет любой случайный токен с неотвеченного адреса электронной почты, а второй настраивает отправителя неотвеченного электронного письма для ваших электронных писем.

ADD_TOKENS_TO_NOREPLY_ADDRESS = False
 # TOKENIZED_NOREPLY_EMAIL_ADDRESS = "noreply-{token}@example.com"
 ## NOREPLY_EMAIL_ADDRESS is the sender for noreply emails that don't
 ## contain confirmation links (where the security problem fixed by
 ## ADD_TOKENS_TO_NOREPLY_ADDRESS does not exist), as well as for
 ## confirmation emails when ADD_TOKENS_TO_NOREPLY_ADDRESS=False.
 NOREPLY_EMAIL_ADDRESS = '[email protected]'

После этого сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.

Zulip сохраняет пароль электронной почты в другом файле. Откройте файл /etc/zulip/zulip-secrets.conf для редактирования.

sudo nano /etc/zulip/zulip-secrets.conf

Вставьте следующую строку в конец файла.

email_password = yoursmtp_password

Сохраните файл, нажав Ctrl + X и введя Y при появлении запроса.

Чтобы проверить настройку исходящей электронной почты, вы можете отправить тестовое письмо с помощью приведенной ниже команды.

sudo -u zulip /home/zulip/deployments/current/manage.py send_test_email [email protected]
If you run into any trouble, read:

 https://zulip.readthedocs.io/en/latest/production/email.html#troubleshooting

 The most common error is not setting `ADD_TOKENS_TO_NOREPLY_ADDRESS=False` when
 using an email provider that doesn't support that feature.

 Sending 2 test emails from:
 * [email protected]
 * [email protected]

 Successfully sent 2 emails to [email protected]

Перезапустите сервер:

sudo -u zulip /home/zulip/deployments/current/scripts/restart-server

Обратите внимание, что вы можете запускать или останавливать сервер Zulip только как пользователь zulip.

Команды сервера Zulip

Чтобы остановить сервер Zulip, используйте следующую команду:

sudo -u zulip /home/zulip/deployments/current/scripts/stop-server

Чтобы перезапустить сервер, используйте следующую команду:

sudo -u zulip /home/zulip/deployments/current/scripts/start-server

Аналогично перезагрузите сервер:

sudo -u zulip /home/zulip/deployments/current/scripts/restart-server

Существует множество задач управления, которые можно выполнить с помощью сценария, поставляемого с Zulip manage.py.

Вы можете запустить скрипт, используя следующую команду. Мы будем использовать подкоманду help, чтобы перечислить все возможные операции, которые можно выполнить:

sudo -u zulip /home/zulip/deployments/current/manage.py help
Type 'manage.py help <subcommand>' for help on a specific subcommand.

 Available subcommands:

 [analytics]
 check_analytics_state
 clear_analytics_tables
 clear_single_stat
 populate_analytics_db
 stream_stats
 update_analytics_counts

 [auth]
 changepassword
 createsuperuser

 [contenttypes]
 remove_stale_contenttypes

 [django]
 check
 createcachetable
 dbshell
 diffsettings
 dumpdata
 flush
 inspectdb
 loaddata
 makemigrations
 migrate
 sendtestemail
 shell
 showmigrations
 sqlflush
 sqlmigrate
 sqlsequencereset
 squashmigrations
 startapp
 startproject
 test
 testserver

 [otp_static]
 addstatictoken

 [sessions]
 clearsessions

 [social_django]
 clearsocial

 [staticfiles]
 collectstatic
 findstatic
 runserver

 [two_factor]
 two_factor_disable
 two_factor_status

 [zerver]
 add_users_to_streams
 archive_messages
 audit_fts_indexes
 backup
 bulk_change_user_name
 change_password
 change_realm_subdomain
 change_user_email
 change_user_role
 check_redis
 checkconfig
 compilemessages
 convert_gitter_data
 convert_mattermost_data
 convert_slack_data
 create_default_stream_groups
 create_large_indexes
 create_realm_internal_bots
 create_stream
 create_user
 deactivate_realm
 deactivate_user
 delete_old_unclaimed_attachments
 delete_realm
 delete_user
 deliver_scheduled_emails
 deliver_scheduled_messages
 dump_messages
 edit_linkifiers
 email_mirror
 enqueue_digest_emails
 enqueue_file
 export
 export_single_user
 export_usermessage_batch
 fill_memcached_caches
 fix_unreads
 generate_invite_links
 generate_multiuse_invite_link
 generate_realm_creation_link
 get_migration_status
 import
 list_realms
 logout_all_users
 makemessages
 merge_streams
 print_email_delivery_backlog
 process_queue
 purge_queue
 query_ldap
 rate_limit
 reactivate_realm
 realm_domain
 register_server
 remove_users_from_stream
 rename_stream
 reset_authentication_attempt_count
 restore_messages
 runtornado
 scrub_realm
 send_custom_email
 send_password_reset_email
 send_realm_reactivation_email
 send_stats
 send_test_email
 send_to_email_mirror
 send_webhook_fixture_message
 set_message_flags
 show_admins
 soft_deactivate_users
 sync_ldap_user_data
 transfer_uploads_to_s3
 turn_off_digests

Обновить Зулип

Чтобы обновить Zulip, загрузите последнюю версию с сервера:

curl -fLO https://download.zulip.com/server/zulip-server-latest.tar.gz

Выполните следующую команду для обновления:

sudo /home/zulip/deployments/current/scripts/upgrade-zulip ~/zulip-server-latest.tar.gz

Скрипт будет выполнять следующие функции_

  1. Запустить apt upgrade для обновления системы.
  2. Установите новую версию зависимостей Zulip.
  3. Остановите сервер Zulip.
  4. Запускает команду puppet apply.
  5. При необходимости выполните миграцию базы данных.
  6. Перезапустите сервер Zulip.

Zulip резервное копирование и восстановление

Резервное копирование и восстановление Zulip легко благодаря встроенным сценариям, которые позаботятся обо всем.

Чтобы выполнить полное резервное копирование Zulip, выполните следующую команду:

sudo -u zulip /home/zulip/deployments/current/manage.py backup --output=~/backups/zulip-backup.tar.gz

Приведенная выше команда создаст файл zulip-backup.tar.gz в каталоге ~/backups backups. Он содержит все, что вам нужно для переноса или восстановления Zulip.

Чтобы восстановить существующую резервную копию, установите Zulip, выполнив шаг 2.

Когда закончите, выполните следующую команду, чтобы завершить восстановление:

sudo -u zulip /home/zulip/deployments/current/manage.py backup --output=~/backups/zulip-backup.tar.gz

Если вы хотите изменить домен, вы можете изменить переменную EXTERNAL_HOST в файле /etc/zulip/settings.py а затем перезапустите сервер с помощью следующей команды:

sudo -u zulip /home/zulip/deployments/current/scripts/restart-server

Вывод

На этом мы завершаем наше руководство по установке и настройке сервера чата Zulip в системе на базе Debian 11. Вы можете следовать официальной документации Zulip, чтобы изучить ее более подробно. Если у вас есть какие-либо вопросы, задайте их в комментариях ниже.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.