如何在 Debian 11 上安装 Zulip 聊天服务器如何在 Debian 11 上安装 Zulip 聊天服务器如何在 Debian 11 上安装 Zulip 聊天服务器如何在 Debian 11 上安装 Zulip 聊天服务器
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Debian 11 上安装 Zulip 聊天服务器

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Zulip 是一个开源聊天服务器,类似于 Microsoft Teams、Rocket Chat 或 Slack。它是用 Python 编写的,并使用 Django、PostgreSQL 和 JavaScript。它与 90 多个第三方插件集成,包括 Github、Jira、Stripe、Zendesk、Sentry 等。您可以通过将它们与 Zapier 和 IFTTT 连接来扩展集成。它具有私人消息、群聊、线程对话、自定义频道、视频通话、拖放文件上传、自定义表情符号、Giphy 集成、图像和推文预览等功能。 Zulip 为每个平台提供了桌面和移动应用程序,使其与平台无关。

在本教程中,您将学习如何在基于 Debian 11 的服务器上安装和配置 Zulip Chat。

先决条件

    运行 Debian 11 的服务器。

    如果您预计用户数量少于 100 个,则至少需要 2GB RAM。对于 100 名以上的用户,请获取 4GB RAM 和 2 个 CPU 的服务器。

    具有 sudo 权限的非 root 用户。

    配置为指向服务器 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
    

    其中一些软件包可能已经安装在您的系统上。

第 1 步 - 配置防火墙

第一步是配置防火墙。 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)

第 2 步 - 安装 Zulip

Zulip 附带一个安装程序脚本,该脚本执行以下操作:

  1. 创建用户 zulip 来运行 Zulip 服务器。
  2. 使用 zulip 用户创建一个主目录,其中包含目录 /home/zulip/deployments 下的所有公共代码。
  3. 安装 Zulip 需要的所有依赖项。
  4. 安装 PostgreSQL 数据库、Nginx Web 服务器、RabbitMQ、Redis 缓存和 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 替换为您的电子邮件 ID,将 YOUR_HOSTNAME 替换为 Zulip 的域名 (zulip.example.com)。

第 3 步 - 访问 Zulip 界面

安装程序脚本完成后,您将获得一个唯一的 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,将出现以下屏幕。

输入您的电子邮件 ID 以开始创建您的组织。系统将要求您在下一个屏幕上设置帐户。

输入您的组织名称和您的姓名,选择登录密码,然后单击注册按钮继续。

完成后,Zulip 仪表板将打开,您可以开始使用它。

第 4 步 - 配置外发电子邮件

Zulip服务器需要定期发送电子邮件。为此,您应该为其设置外发邮件。对于我们的示例,我们将使用 Amazon 的 SES 服务。所有邮件均从您在步骤 3 中创建组织时使用的电子邮件 ID 发送。

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 '

完成后,按 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 
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 
  * [email 

Successfully sent 2 emails to [email 

重新启动服务器。

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

请注意,您只能以 zulip 用户身份启动或停止 Zulip 服务器。

第 5 步 - 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

第 6 步 - 升级 Zulip

要升级 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 update来升级系统。
  2. 安装新版本的 Zulip 依赖项。
  3. 关闭 Zulip 服务器。
  4. 运行puppet apply命令。
  5. 如果需要,执行数据库迁移。
  6. 重新启动 Zulip 服务器。

第 7 步 - 备份和恢复 Zulip

由于内置脚本可以处理所有事情,因此支持和恢复 Zulip 非常简单。

要对 Zulip 进行完整备份,请运行以下命令。

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

上述命令将在 ~/backups 目录中创建一个 zulip-backup.tar.gz 文件。其中包含传输或恢复 Zulip 所需的一切。

要恢复现有备份,请执行步骤 2 安装 Zulip。

完成后,运行以下命令完成恢复。

$ sudo -u zulip /home/zulip/deployments/current/scripts/setup/restore-backup ~/backups/zulip-backup.tar.gz

如果要更改域,可以更改文件 /etc/zulip/settings.py 中的变量 EXTERNAL_HOST,然后使用以下命令重新启动服务器。

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

结论

关于在基于 Debian 11 的系统上安装和配置 Zulip Chat 服务器的教程到此结束。您可以按照Zulip的官方文档进行详细探索。如果您有任何疑问,请在下面的评论中发表。

©2015-2025 Norria support@norria.com