GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie den Zulip-Chat-Server unter Debian 11

Zulip ist ein Open-Source-Chatserver, ähnlich wie Microsoft Teams, Rocket Chat oder Slack. Es ist in Python geschrieben und verwendet Django, PostgreSQL und JavaScript. Es lässt sich in über 90 Plug-ins von Drittanbietern integrieren, darunter Github, Jira, Stripe, Zendesk, Sentry usw. Sie können die Integrationen erweitern, indem Sie sie mit Zapier und IFTTT verbinden. Es bietet Funktionen wie privates Messaging, Gruppenchats, Thread-Konversationen, benutzerdefinierte Kanäle, Videoanrufe, Datei-Uploads per Drag-and-Drop, benutzerdefinierte Emojis, Giphy-Integration, Vorschau von Bildern und Tweets und vieles mehr. Zulip wird mit Desktop- und mobilen Apps für jede Plattform geliefert, wodurch es plattformunabhängig ist.

In diesem Tutorial erfahren Sie, wie Sie Zulip Chat auf einem Debian 11-basierten Server installieren und konfigurieren.

Voraussetzungen

  • Ein Server mit Debian 11.

  • Mindestens 2 GB RAM, wenn Sie weniger als 100 Benutzer erwarten. Holen Sie sich für mehr als 100 Benutzer einen Server mit 4 GB RAM und 2 CPUs.

  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

  • Ein Domänenname, der so konfiguriert ist, dass er auf den Server zulip.example.com verweist .

  • Alles ist aktualisiert.

    $ sudo apt update &&sudo apt upgrade
  • Einige Pakete, die Ihr System benötigt.

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

    Einige dieser Pakete sind möglicherweise bereits auf Ihrem System installiert.

Schritt 1 – Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Debian kommt mit ufw (Uncomplicated Firewall).

Überprüfen Sie, ob die Firewall ausgeführt wird.

$ sudo ufw-Status

Sie sollten die folgende Ausgabe erhalten.

Status:inaktiv

SSH-Port zulassen, damit die Firewall die aktuelle Verbindung beim Aktivieren nicht unterbricht.

$ sudo ufw OpenSSH zulassen

Lassen Sie auch HTTP- und HTTPS-Ports zu.

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

Aktivieren Sie die Firewall

$ sudo ufw enableCommand kann bestehende SSH-Verbindungen unterbrechen. Vorgang fortsetzen (y|n)? yFirewall ist aktiv und wird beim Systemstart aktiviert

Überprüfen Sie den Status der Firewall erneut.

$ sudo ufw-Status

Sie sollten eine ähnliche Ausgabe sehen.

Status:activeTo Aktion From-- ------ ----OpenSSH ALLOW Anywhere80/tcp ALLOW Anywhere443/tcp ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ERLAUBEN überall (v6)

Schritt 2 - Installieren Sie Zulip

Zulip wird mit einem Installationsskript geliefert, das Folgendes tut:

  1. Erzeugt einen Benutzer zulip um den Zulip-Server auszuführen.
  2. Erzeugt ein Home-Verzeichnis mit dem zulip Benutzer, der den gesamten öffentlichen Code im Verzeichnis /home/zulip/deployments enthält .
  3. Installiert alle Abhängigkeiten, die Zulip benötigt.
  4. Installiert die PostgreSQL-Datenbank, den Nginx-Webserver, RabbitMQ, Redis Cache und Memcached.
  5. Initialisiert die Datenbank von Zulip.

Erstellen Sie mithilfe von mktemp ein temporäres Verzeichnis Befehl, um das Installationsprogramm von Zulip herunterzuladen und zu ihm zu wechseln.

$ cd $(mktemp -d)

Laden Sie die neueste Version von Zulip herunter.

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

Extrahieren Sie alle Dateien.

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

Führen Sie das Installationsskript aus.

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

Der --certbot Flag veranlasst das Installationsprogramm, Certbot herunterzuladen und SSL-Zertifikate automatisch zu installieren. Ersetzen Sie YOUR_EMAIL mit Ihrer E-Mail-ID und YOUR_HOSTNAME mit dem Domainnamen für Zulip (zulip.example.com ).

Schritt 3 – Zugriff auf die Zulip-Schnittstelle

Sobald das Installationsskript abgeschlossen ist, erhalten Sie eine eindeutige URL. Kopieren Sie diese URL.

.......zulip-workers:zulip_deliver_scheduled_messages:started+ set +x+ su zulip -c '/home/zulip/deployments/current/manage.py generate_realm_creation_link'Besuchen Sie bitte den folgenden sicheren Link zur einmaligen Verwendung, um sich zu registrieren Ihre neue Zulip-Organisation:https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46

Besuchen Sie https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46 in Ihrem Browser, und der folgende Bildschirm wird angezeigt.

Geben Sie Ihre E-Mail-ID ein, um mit der Erstellung Ihrer Organisation zu beginnen. Auf dem nächsten Bildschirm werden Sie aufgefordert, ein Konto einzurichten.

Geben Sie den Namen Ihrer Organisation und Ihren Namen ein und wählen Sie ein Passwort für die Anmeldung und klicken Sie auf Anmelden Schaltfläche, um fortzufahren.

Sobald Sie fertig sind, öffnet sich das Zulip-Dashboard und Sie können es verwenden.

Schritt 4 – Konfigurieren der ausgehenden E-Mail

Der Zulip-Server muss regelmäßig E-Mails senden. Dafür sollten Sie den Postausgang dafür einrichten. In unserem Beispiel verwenden wir den SES-Dienst von Amazon. Alle E-Mails werden von der E-Mail-ID gesendet, die Sie zum Erstellen der Organisation in Schritt 3 verwendet haben.

Zulip speichert alle seine Einstellungen in /etc/zulip/settings.py Datei. Zum Bearbeiten öffnen.

$ sudo nano /etc/zulip/settings.py

Entkommentieren Sie die folgenden Variablen, indem Sie # entfernen davor und tragen Sie die entsprechenden Werte ein.

## EMAIL_HOST und EMAIL_HOST_USER sind im Allgemeinen erforderlich. EMAIL_HOST ='email-smtp.us-west-2.amazonaws.com'EMAIL_HOST_USER ='yoursmpt_username'## Passwörter und Geheimnisse werden in dieser Datei nicht gespeichert. Das Passwort## für den Benutzer EMAIL_HOST_USER kommt in `/etc/zulip/zulip-secrets.conf`.## Setzen Sie in dieser Datei `email_password`. Beispiel:# email_password =abcd1234## EMAIL_USE_TLS und EMAIL_PORT sind für die meisten SMTP-Anbieter erforderlich. EMAIL_USE_TLS =TrueEMAIL_PORT =587

Füllen Sie die folgenden zusätzlichen Variablen aus. Der erste entfernt alle zufälligen Token für die No-Reply-E-Mail-Adresse und der zweite konfiguriert den No-Reply-E-Mail-Absender für Ihre E-Mails.

ADD_TOKENS_TO_NOREPLY_ADDRESS =Falsch# TOKENIZED_NOREPLY_EMAIL_ADDRESS ="noreply-{token}@example.com"## NOREPLY_EMAIL_ADDRESS ist der Absender für noreply-E-Mails, die keine## Bestätigungslinks enthalten (wobei das durch ## ADD_TOKENS_TO_NOREPLY_ADDRESS behobene Sicherheitsproblem dies nicht tut existieren), sowie für## Bestätigungs-E-Mails, wenn ADD_TOKENS_TO_NOREPLY_ADDRESS=False.NOREPLY_EMAIL_ADDRESS ='[email protected]'

Wenn Sie fertig sind, speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Zulip speichert das E-Mail-Passwort in einer anderen Datei. Öffnen Sie die Datei /etc/zulip/zulip-secrets.conf zum Bearbeiten.

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

Fügen Sie die folgende Zeile am Ende der Datei ein.

email_password =yoursmtp_password

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Um Ihre ausgehende E-Mail-Konfiguration zu testen, können Sie mit dem folgenden Befehl eine Test-E-Mail senden.

$ sudo -u zulip /home/zulip/deployments/current/manage.py send_test_email [email protected]Wenn Sie auf Probleme stoßen, lesen Sie:https://zulip.readthedocs.io/en/latest/production/ email.html#troubleshootingDer häufigste Fehler besteht darin, dass „ADD_TOKENS_TO_NOREPLY_ADDRESS=False“ nicht gesetzt wird, wenn ein E-Mail-Anbieter verwendet wird, der diese Funktion nicht unterstützt. Zwei Test-E-Mails werden gesendet von:* [email protected] * [email protected] Zwei E-Mails erfolgreich gesendet an [ E-Mail-geschützt]

Starten Sie den Server neu.

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

Beachten Sie, dass Sie den Zulip-Server nur als zulip starten oder stoppen können Benutzer.

Schritt 5 - Zulip Server-Befehle

Verwenden Sie den folgenden Befehl, um den Zulip-Server zu stoppen.

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

Verwenden Sie den folgenden Befehl, um den Server erneut zu starten.

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

Starten Sie den Server auf ähnliche Weise neu.

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

Es gibt viele Verwaltungsaufgaben, die Sie mit manage.py erledigen können Skript, das mit Zulip geliefert wird.

Sie können das Skript mit dem folgenden Befehl ausführen. Wir werden die help verwenden Unterbefehl, um alle möglichen Operationen aufzulisten, die man ausführen kann.

$ sudo -u zulip /home/zulip/deployments/current/manage.py helpType 'manage.py help ' für Hilfe zu einem bestimmten Unterbefehl. Verfügbare Unterbefehle:[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 migrieren sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver[otp_static] addstatictoken[sessions] clearsessions[social_django] clearstatic findstatic runserver collect [two_factor] two_factor_disable two_factor_status[zerver] add_users_to_streams archive_messages audit_fts_indexes backup bulk_change_user_name e 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_dom ain 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 turnoff_todiges_up3 

Schritt 6 – Aktualisieren von Zulip

Um Zulip zu aktualisieren, laden Sie die neueste Version vom Server herunter.

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

Führen Sie den folgenden Befehl aus, um das Upgrade durchzuführen.

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

Das Skript führt die folgenden Funktionen aus.

  1. Führen Sie apt upgrade aus um das System zu aktualisieren.
  2. Installieren Sie die neue Version von Zulips Abhängigkeiten.
  3. Fahrt den Zulip-Server herunter.
  4. Führt die puppet apply aus Befehl.
  5. Führen Sie bei Bedarf Datenbankmigrationen durch.
  6. Startet den Zulip-Server neu.

Schritt 7 – Zulip sichern und wiederherstellen

Das Sichern und Wiederherstellen von Zulip ist einfach, dank der eingebauten Skripte, die sich um alles kümmern.

Führen Sie den folgenden Befehl aus, um eine vollständige Sicherung von Zulip zu erstellen.

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

Der obige Befehl erstellt eine zulip-backup.tar.gz Datei im ~/backups Verzeichnis. Diese enthält alles, was Sie zum Übertragen oder Wiederherstellen von Zulip benötigen.

Um ein vorhandenes Backup wiederherzustellen, installieren Sie Zulip, indem Sie Schritt 2 ausführen.

Wenn Sie fertig sind, führen Sie den folgenden Befehl aus, um die Wiederherstellung abzuschließen.

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

Wenn Sie die Domäne ändern möchten, können Sie die Variable EXTERNAL_HOST ändern in der Datei /etc/zulip/settings.py und starten Sie dann den Server mit dem folgenden Befehl neu.

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

Schlussfolgerung

Damit ist unser Tutorial zur Installation und Konfiguration des Zulip Chat-Servers auf einem Debian 11-basierten System abgeschlossen. Sie können der offiziellen Dokumentation von Zulip folgen, um sie im Detail zu erkunden. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.


Debian
  1. So installieren Sie Redis Server unter Debian 11

  2. So installieren Sie ProFTPD unter Debian 8

  3. So installieren Sie MySQL Server unter Debian 9

  4. So installieren Sie Nextcloud 14 auf Debian 9

  5. So installieren Sie ClickHouse unter Debian 9

So installieren Sie FastPanel unter Debian 11

So installieren Sie I2P auf einem Debian-Server:

So installieren Sie Zulip unter Debian 11

So installieren Sie VNC unter Debian 10

So installieren Sie VNC-Server unter Debian 11

So installieren Sie Zulip Chat Server auf Ubuntu 20.04 LTS