Zulip là một máy chủ trò chuyện mã nguồn mở, tương tự như Microsoft Teams, Rocket Chat hoặc Slack. Nó được viết bằng Python và sử dụng Django, PostgreSQL và JavaScript. Nó tích hợp với hơn 90 plugin của bên thứ ba, bao gồm Github, Jira, Stripe, Zendesk, Sentry, v.v. Bạn có thể mở rộng các tích hợp bằng cách kết nối chúng với Zapier và IFTTT. Nó đi kèm với các tính năng như nhắn tin riêng tư, trò chuyện nhóm, hội thoại theo chủ đề, kênh tùy chỉnh, cuộc gọi video, tải tệp kéo và thả, biểu tượng cảm xúc tùy chỉnh, tích hợp Giphy, xem trước hình ảnh và Tweet và nhiều tính năng khác. Zulip đi kèm với các ứng dụng dành cho máy tính để bàn và thiết bị di động cho mọi nền tảng, khiến nó không phụ thuộc vào nền tảng nào.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và cấu hình Zulip Chat trên máy chủ chạy Debian 11.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Kiểm tra xem tường lửa có đang chạy không.
Bạn sẽ nhận được kết quả sau.
Cho phép cổng SSH để tường lửa không làm gián đoạn kết nối hiện tại khi bật nó.
Cũng cho phép các cổng HTTP và HTTPS.
Bật Tường lửa
Kiểm tra lại trạng thái của tường lửa.
Bạn sẽ thấy đầu ra tương tự.
Tải xuống phiên bản Zulip mới nhất.
Giải nén tất cả các tệp.
Chạy tập lệnh cài đặt.
Cờ --certbot khiến trình cài đặt tải xuống Certbot và tự động cài đặt chứng chỉ SSL. Thay thế YOUR_EMAIL bằng id email của bạn và YOUR_HOSTNAME bằng tên miền của Zulip (zulip.example.com).
Truy cập https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46 trong trình duyệt của bạn và màn hình sau sẽ xuất hiện.
Nhập ID email của bạn để bắt đầu tạo tổ chức của bạn. Bạn sẽ được yêu cầu thiết lập một tài khoản trên màn hình tiếp theo.
Nhập tên tổ chức của bạn và tên của bạn và chọn mật khẩu để đăng nhập và nhấp vào nút Đăng ký để tiếp tục.
Sau khi hoàn tất, bảng điều khiển Zulip sẽ mở ra và bạn có thể bắt đầu sử dụng.
Zulip lưu trữ tất cả các thiết lập của mình trong tệp /etc/zulip/settings.py. Mở tệp để chỉnh sửa.
Bỏ chú thích các biến sau bằng cách xóa # trước chúng và nhập các giá trị tương ứng.
Điền các biến bổ sung sau. Đầu tiên, xóa bất kỳ mã thông báo ngẫu nhiên nào khỏi địa chỉ email không trả lời và thứ hai, cấu hình người gửi email không trả lời cho email của bạn.
Sau khi hoàn tất, hãy lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Zulip lưu mật khẩu Email vào một tệp khác. Mở tệp /etc/zulip/zulip-secrets.conf để chỉnh sửa.
Dán dòng sau vào cuối tệp.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Để kiểm tra cấu hình email gửi đi của bạn, bạn có thể gửi thư thử nghiệm bằng lệnh sau.
Khởi động lại máy chủ.
Lưu ý rằng bạn chỉ có thể khởi động hoặc dừng máy chủ Zulip với tư cách là người dùng zulip.
Để khởi động lại máy chủ, hãy sử dụng lệnh sau.
Khởi động lại máy chủ theo cách tương tự.
Có rất nhiều tác vụ quản lý mà bạn có thể thực hiện bằng cách sử dụng tập lệnh manage.py đi kèm với Zulip.
Bạn có thể chạy tập lệnh bằng lệnh sau. Chúng tôi sẽ sử dụng lệnh phụ help để liệt kê tất cả các thao tác có thể thực hiện.
Chạy lệnh sau để thực hiện nâng cấp.
Tập lệnh sẽ thực hiện các chức năng sau.
Để sao lưu toàn bộ Zulip, hãy chạy lệnh sau.
Lệnh trên sẽ tạo tệp zulip-backup.tar.gz trong thư mục ~/backups. Lệnh này chứa mọi thứ bạn cần để chuyển hoặc khôi phục Zulip.
Để khôi phục bản sao lưu hiện có, hãy cài đặt Zulip bằng cách thực hiện bước 2.
Sau khi hoàn tất, hãy chạy lệnh sau để hoàn tất quá trình khôi phục.
Nếu bạn muốn thay đổi tên miền, bạn có thể thay đổi biến EXTERNAL_HOST trong tệp /etc/zulip/settings.py rồi khởi động lại máy chủ bằng lệnh sau.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và cấu hình Zulip Chat trên máy chủ chạy Debian 11.
Điều kiện tiên quyết
-
Máy chủ chạy Debian 11.
-
Ít nhất 2GB RAM nếu bạn dự kiến có ít hơn 100 người dùng. Đối với 100+ người dùng, hãy mua máy chủ có RAM 4GB và 2 CPU.
-
Người dùng không phải root có quyền sudo.
-
Tên miền được định cấu hình để trỏ đến máy chủ, zulip.example.com.
-
Mọi thứ đều được cập nhật.
Mã:
$ sudo apt update && sudo apt upgrade
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo apt install wget curl nano ufw software-properties-common apt-transport-https gnupg2 ca-certificates debian-archive-keyring -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Debian đi kèm với ufw (Tường lửa đơn giản).Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo ufw status
Mã:
Trạng thái: không hoạt động
Mã:
$ sudo ufw allow OpenSSH
Mã:
$ sudo ufw allow 80/tcp$ sudo ufw allow 443/tcp
Mã:
$ sudo ufw enableLệnh có thể làm gián đoạn các kết nối ssh hiện có. Tiến hành thao tác (y|n)? yTường lửa đang hoạt động và được bật khi khởi động hệ thống
Mã:
$ sudo ufw status
Mã:
Trạng thái: đang hoạt độngĐến Hành động Từ-- ------ ----OpenSSH ALLOW Anywhere80/tcp ALLOW Anywhere443/tcp ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)80/tcp (v6) ALLOW Anywhere (v6)443/tcp (v6) ALLOW Anywhere (v6)
Bước 2 - Cài đặt Zulip
Zulip đi kèm với một tập lệnh cài đặt thực hiện các thao tác sau:- Tạo người dùng zulip để chạy máy chủ Zulip.
- Tạo thư mục gốc bằng cách sử dụng zulip người dùng lưu trữ tất cả mã công khai trong thư mục /home/zulip/deployments.
- Cài đặt tất cả các phụ thuộc mà Zulip cần.
- Cài đặt cơ sở dữ liệu PostgreSQL, máy chủ web Nginx, RabbitMQ, Redis Cache và Memcached.
- Khởi tạo cơ sở dữ liệu Zulip.
Mã:
$ cd $(mktemp -d)
Mã:
$ wget https://download.zulip.com/server/zulip-server-latest.tar.gz
Mã:
$ tar -xf zulip-server-latest.tar.gz
Mã:
$ sudo ./zulip-server-*/scripts/setup/install --certbot \ --email=YOUR_EMAIL --hostname=YOUR_HOSTNAME
Bước 3 - Truy cập Giao diện Zulip
Sau khi tập lệnh cài đặt hoàn tất, bạn sẽ được cung cấp một URL duy nhất. Sao chép URL này.
Mã:
.......zulip-workers:zulip_deliver_scheduled_messages: started+ set +x+ su zulip -c '/home/zulip/deployments/current/manage.py generate_realm_creation_link'Vui lòng truy cập liên kết sử dụng một lần an toàn sau để đăng kýtổ chức Zulip mới của bạn: https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46
Nhập ID email của bạn để bắt đầu tạo tổ chức của bạn. Bạn sẽ được yêu cầu thiết lập một tài khoản trên màn hình tiếp theo.
Nhập tên tổ chức của bạn và tên của bạn và chọn mật khẩu để đăng nhập và nhấp vào nút Đăng ký để tiếp tục.
Sau khi hoàn tất, bảng điều khiển Zulip sẽ mở ra và bạn có thể bắt đầu sử dụng.
Bước 4 - Cấu hình Email gửi đi
Máy chủ Zulip cần gửi email thường xuyên. Để thực hiện việc này, bạn nên thiết lập email gửi đi cho máy chủ. Trong ví dụ của chúng tôi, chúng tôi sẽ sử dụng dịch vụ SES của Amazon. Tất cả các email được gửi từ ID email mà bạn đã sử dụng để tạo tổ chức ở bước 3.Zulip lưu trữ tất cả các thiết lập của mình trong tệp /etc/zulip/settings.py. Mở tệp để chỉnh sửa.
Mã:
$ sudo nano /etc/zulip/settings.py
Mã:
## EMAIL_HOST và EMAIL_HOST_USER thường là bắt buộc.EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'EMAIL_HOST_USER = 'yoursmpt_username'## Mật khẩu và bí mật không được lưu trữ trong tệp này. Mật khẩu## cho người dùng EMAIL_HOST_USER nằm trong `/etc/zulip/zulip-secrets.conf`.## Trong tệp đó, hãy đặt `email_password`. Ví dụ:# email_password = abcd1234## EMAIL_USE_TLS và EMAIL_PORT là bắt buộc đối với hầu hết các nhà cung cấp SMTP.EMAIL_USE_TLS = TrueEMAIL_PORT = 587
Mã:
ADD_TOKENS_TO_NOREPLY_ADDRESS = False# TOKENIZED_NOREPLY_EMAIL_ADDRESS = "noreply-{token}@example.com"## NOREPLY_EMAIL_ADDRESS là người gửi cho các email không trả lời không## chứa liên kết xác nhận (khi sự cố bảo mật được khắc phục bởi## ADD_TOKENS_TO_NOREPLY_ADDRESS không tồn tại), cũng như cho## email xác nhận khi ADD_TOKENS_TO_NOREPLY_ADDRESS=False.NOREPLY_EMAIL_ADDRESS = '[emailprotected]'
Zulip lưu mật khẩu Email vào một tệp khác. Mở tệp /etc/zulip/zulip-secrets.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/zulip/zulip-secrets.conf
Mã:
email_password = yoursmtp_password
Để kiểm tra cấu hình email gửi đi của bạn, bạn có thể gửi thư thử nghiệm bằng lệnh sau.
Mã:
$ sudo -u zulip /home/zulip/deployments/current/manage.py send_test_email [emailprotected]Nếu bạn gặp bất kỳ sự cố nào, hãy đọc: https://zulip.readthedocs.io/en/latest/production/email.html#troubleshootingLỗi phổ biến nhất là không thiết lập `ADD_TOKENS_TO_NOREPLY_ADDRESS=False` khisử dụng nhà cung cấp email không hỗ trợ tính năng đó.Gửi 2 email thử nghiệm từ: * [emailprotected] * [emailprotected]Đã gửi thành công 2 email đến [emailprotected]
Mã:
$ sudo -u zulip /home/zulip/deployments/current/scripts/restart-server
Bước 5 - Lệnh máy chủ Zulip
Để dừng máy chủ Zulip, hãy sử dụng lệnh sau.
Mã:
$ sudo -u zulip /home/zulip/deployments/current/scripts/stop-server
Mã:
$ sudo -u zulip /home/zulip/deployments/current/scripts/start-server
Mã:
$ sudo -u zulip /home/zulip/deployments/current/scripts/restart-server
Bạn có thể chạy tập lệnh bằng lệnh sau. Chúng tôi sẽ sử dụng lệnh phụ help để liệt kê tất cả các thao tác có thể thực hiện.
Mã:
$ sudo -u zulip /home/zulip/deployments/current/manage.py helpNhập 'manage.py help ' để được trợ giúp về một lệnh phụ cụ thể.Các lệnh con có sẵn:[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
Bước 6 - Nâng cấp Zulip
Để nâng cấp Zulip, hãy tải xuống bản phát hành mới nhất từ máy chủ.
Mã:
$ curl -fLO https://download.zulip.com/server/zulip-server-latest.tar.gz
Mã:
$ sudo /home/zulip/deployments/current/scripts/upgrade-zulip ~/zulip-server-latest.tar.gz
- Chạy apt upgrade để nâng cấp hệ thống.
- Cài đặt phiên bản mới của các phụ thuộc của Zulip.
- Tắt máy chủ Zulip.
- Chạy lệnh puppet apply.
- Thực hiện di chuyển cơ sở dữ liệu nếu cần.
- Khởi động lại máy chủ Zulip.
Bước 7 - Sao lưu và khôi phục Zulip
Sao lưu và khôi phục Zulip rất dễ sử dụng, nhờ các tập lệnh tích hợp có thể xử lý mọi thứ.Để sao lưu toàn bộ Zulip, hãy chạy lệnh sau.
Mã:
$ sudo -u zulip /home/zulip/deployments/current/manage.py backup --output=~/backups/zulip-backup.tar.gz
Để khôi phục bản sao lưu hiện có, hãy cài đặt Zulip bằng cách thực hiện bước 2.
Sau khi hoàn tất, hãy chạy lệnh sau để hoàn tất quá trình khôi phục.
Mã:
$ sudo -u zulip /home/zulip/deployments/current/scripts/setup/restore-backup ~/backups/zulip-backup.tar.gz
Mã:
$ sudo -u zulip /home/zulip/deployments/current/scripts/restart-server