GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Zulip Chat Server na Debian 11

Zulip je open-source chatovací server, podobný Microsoft Teams, Rocket Chat nebo Slack. Je napsán v Pythonu a používá Django, PostgreSQL a JavaScript. Integruje se s více než 90 pluginy třetích stran, včetně Github, Jira, Stripe, Zendesk, Sentry atd. Integrace můžete rozšířit jejich propojením se Zapier a IFTTT. Dodává se s funkcemi, jako jsou soukromé zprávy, skupinové chaty, konverzace ve vláknech, vlastní kanály, videohovory, nahrávání souborů přetažením, vlastní emotikony, integrace Giphy, náhled obrázků a tweetů a mnoho dalších. Zulip přichází s desktopovými a mobilními aplikacemi pro každou platformu, díky čemuž je agnostický.

V tomto tutoriálu se naučíte, jak nainstalovat a nakonfigurovat Zulip Chat na serveru založeném na Debianu 11.

Předpoklady

  • Server se systémem Debian 11.

  • Alespoň 2 GB RAM, pokud očekáváte méně než 100 uživatelů. Pro 100+ uživatelů získáte 4 GB RAM a 2 CPU server.

  • Uživatel bez oprávnění root s právy sudo.

  • Název domény nakonfigurovaný tak, aby odkazoval na server, zulip.example.com .

  • Vše je aktualizováno.

    $ sudo apt update && sudo apt upgrade
    
  • Několik balíčků, které váš systém potřebuje.

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

    Některé z těchto balíčků již mohou být ve vašem systému nainstalovány.

Krok 1 – Konfigurace brány firewall

Prvním krokem je konfigurace firewallu. Debian je dodáván s ufw (Uncomplicated Firewall).

Zkontrolujte, zda je spuštěna brána firewall.

$ sudo ufw status

Měli byste získat následující výstup.

Status: inactive

Povolte port SSH, aby firewall při jeho povolení nepřerušil aktuální připojení.

$ sudo ufw allow OpenSSH

Povolit také porty HTTP a HTTPS.

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

Povolte bránu firewall

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

Znovu zkontrolujte stav brány firewall.

$ sudo ufw status

Měli byste vidět podobný výstup.

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)

Krok 2 – Instalace Zulip

Zulip se dodává s instalačním skriptem, který provádí následující:

  1. Vytvoří uživatele zulip ke spuštění serveru Zulip.
  2. Vytvoří domovský adresář pomocí zulip uživatel, který uchovává veškerý veřejný kód v adresáři /home/zulip/deployments .
  3. Nainstaluje všechny závislosti, které Zulip potřebuje.
  4. Nainstaluje databázi PostgreSQL, webový server Nginx, RabbitMQ, Redis Cache a Memcached.
  5. Inicializuje Zulipovu databázi.

Vytvořte dočasný adresář pomocí mktemp příkaz ke stažení instalačního programu Zulip a přepnutí na něj.

$ cd $(mktemp -d)

Stáhněte si nejnovější verzi Zulip.

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

Rozbalte všechny soubory.

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

Spusťte instalační skript.

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

--certbot příznak způsobí, že instalační program automaticky stáhne Certbot a nainstaluje certifikáty SSL. Nahraďte YOUR_EMAIL s vaším e-mailovým ID a YOUR_HOSTNAME s názvem domény pro Zulip (zulip.example.com ).

Krok 3 – Přístup k rozhraní Zulip

Po dokončení instalačního skriptu vám bude přidělena jedinečná adresa URL. Zkopírujte tuto adresu 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

Navštivte https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46 ve vašem prohlížeči a zobrazí se následující obrazovka.

Zadejte svou e-mailovou adresu a začněte vytvářet svou organizaci. Na další obrazovce budete požádáni o nastavení účtu.

Zadejte název své organizace a své jméno, zvolte heslo pro přihlášení a klikněte na tlačítko Zaregistrovat se pokračujte.

Po dokončení se otevře ovládací panel Zulip a můžete jej začít používat.

Krok 4 – Konfigurace odchozího e-mailu

Server Zulip potřebuje pravidelně odesílat e-maily. Za tímto účelem byste pro něj měli nastavit odchozí poštu. V našem příkladu budeme používat službu SES společnosti Amazon. Všechny e-maily jsou odesílány z e-mailového ID, které jste použili k vytvoření organizace v kroku 3.

Zulip ukládá všechna svá nastavení v /etc/zulip/settings.py soubor. Otevřete jej pro úpravy.

$ sudo nano /etc/zulip/settings.py

Odkomentujte následující proměnné odstraněním # před nimi a zadáním odpovídajících hodnot.

## 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

Vyplňte následující dodatečné proměnné. První odebere jakýkoli náhodný token z e-mailové adresy bez odpovědi a druhý nakonfiguruje odesílatele e-mailů bez odpovědi pro vaše e-maily.

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]'

Po dokončení uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Zulip uloží heslo k e-mailu do jiného souboru. Otevřete soubor /etc/zulip/zulip-secrets.conf pro úpravy.

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

Vložte následující řádek na konec souboru.

email_password = yoursmtp_password

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Chcete-li otestovat konfiguraci odchozího e-mailu, můžete odeslat zkušební e-mail pomocí následujícího příkazu.

$ 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]

Restartujte server.

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

Všimněte si, že server Zulip můžete spustit nebo zastavit pouze jako zulip uživatel.

Krok 5 – Příkazy serveru Zulip

Chcete-li zastavit server Zulip, použijte následující příkaz.

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

Chcete-li server znovu spustit, použijte následující příkaz.

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

Restartujte server podobným způsobem.

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

Existuje mnoho úkolů správy, kterých můžete dosáhnout pomocí manage.py skript dodaný se Zulipem.

Skript můžete spustit pomocí následujícího příkazu. Použijeme help dílčí příkaz vypíše všechny možné operace, které lze provést.

$ 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

Krok 6 – Upgrade Zulip

Chcete-li upgradovat Zulip, stáhněte si nejnovější verzi ze serveru.

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

Spusťte následující příkaz pro provedení upgradu.

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

Skript bude provádět následující funkce.

  1. Spusťte apt upgrade upgradovat systém.
  2. Nainstalujte novou verzi Zulipových závislostí.
  3. Vypne server Zulip.
  4. Spustí puppet apply příkaz.
  5. V případě potřeby proveďte migraci databáze.
  6. Restartuje server Zulip.

Krok 7 – Zálohování a obnovení Zulip

Zálohování a obnovení Zulip je snadné díky vestavěným skriptům, které se o vše postarají.

Chcete-li provést úplnou zálohu Zulip, spusťte následující příkaz.

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

Výše uvedený příkaz vytvoří zulip-backup.tar.gz soubor v ~/backups adresář. Toto obsahuje vše, co budete potřebovat k přenosu nebo obnovení Zulip.

Chcete-li obnovit existující zálohu, nainstalujte Zulip podle kroku 2.

Po dokončení spusťte následující příkaz a dokončete obnovu.

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

Pokud chcete změnit doménu, můžete změnit proměnnou EXTERNAL_HOST v souboru /etc/zulip/settings.py a poté restartujte server pomocí následujícího příkazu.

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

Závěr

Tímto končí náš tutoriál o instalaci a konfiguraci serveru Zulip Chat na systému založeném na Debianu 11. Chcete-li podrobně prozkoumat, můžete sledovat oficiální dokumentaci Zulip. Pokud máte nějaké dotazy, napište je do komentářů níže.


Debian
  1. Jak nainstalovat MySQL Server na Debian 9

  2. Jak nainstalovat Nextcloud 14 na Debian 9

  3. Jak nainstalovat ClickHouse na Debian 9

  1. Jak nainstalovat Redis Server na Debian 11

  2. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  3. Jak nainstalovat ProFTPD na Debian 8

  1. Jak nainstalovat Minecraft Server na Debian 9

  2. Jak nainstalovat SuiteCRM na Debian 9

  3. Jak nainstalovat Odoo 12 na Debian 9