GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Zulip Chat Server su Debian 11

Zulip è un server di chat open source, simile a Microsoft Teams, Rocket Chat o Slack. È scritto in Python e utilizza Django, PostgreSQL e JavaScript. Si integra con oltre 90 plug-in di terze parti, inclusi Github, Jira, Stripe, Zendesk, Sentry, ecc. Puoi espandere le integrazioni collegandole con Zapier e IFTTT. Viene fornito con funzionalità come messaggistica privata, chat di gruppo, conversazioni in thread, canali personalizzati, videochiamate, caricamenti di file drag-and-drop, emoji personalizzati, integrazione Giphy, anteprima di immagini e tweet e molti altri. Zulip viene fornito con app desktop e mobili per ogni piattaforma, il che lo rende indipendente dalla piattaforma.

In questo tutorial imparerai come installare e configurare Zulip Chat su un server basato su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.

  • Almeno 2 GB di RAM se ti aspetti meno di 100 utenti. Per oltre 100 utenti, ottieni 4 GB di RAM e 2 server CPU.

  • Un utente non root con privilegi sudo.

  • Un nome di dominio configurato per puntare al server, zulip.example.com .

  • Tutto è aggiornato.

    $ sudo apt update &&sudo apt upgrade
  • Pochi pacchetti di cui il tuo sistema ha bisogno.

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

    Alcuni di questi pacchetti potrebbero essere già installati sul tuo sistema.

Passaggio 1:configurazione del firewall

Il primo passo è configurare il firewall. Debian viene fornito con ufw (Uncomplicated Firewall).

Controlla se il firewall è in esecuzione.

Stato $ sudo ufw

Dovresti ottenere il seguente output.

Stato:inattivo

Consenti porta SSH in modo che il firewall non interrompa la connessione corrente quando lo si abilita.

$ sudo ufw consente OpenSSH

Consenti anche le porte HTTP e HTTPS.

$ sudo ufw consenti 80/tcp$ sudo ufw consenti 443/tcp

Abilita il Firewall

$ sudo ufw enableCommand potrebbe interrompere le connessioni ssh esistenti. Procedere con l'operazione (y|n)? yFirewall è attivo e abilitato all'avvio del sistema

Ricontrolla lo stato del firewall.

Stato $ sudo ufw

Dovresti vedere un output simile.

Stato:activeTo Azione Da-- ------ ----OpenSSH ALLOW Anywhere80/tcp ALLOW Anywhere443/tcp ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) CONSENTI ovunque (v6)

Passaggio 2:installazione di Zulip

Zulip viene fornito con uno script di installazione che esegue le seguenti operazioni:

  1. Crea un utente zulip per eseguire il server Zulip.
  2. Crea una home directory usando zulip utente che ospita tutto il codice pubblico nella directory /home/zulip/deployments .
  3. Installa tutte le dipendenze di cui Zulip ha bisogno.
  4. Installa il database PostgreSQL, il server web Nginx, RabbitMQ, Redis Cache e Memcached.
  5. Inizializza il database di Zulip.

Crea una directory temporanea utilizzando mktemp comando per scaricare il programma di installazione di Zulip e passare ad esso.

$ cd $(mktemp -d)

Scarica l'ultima versione di Zulip.

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

Estrai tutti i file.

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

Esegui lo script di installazione.

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

Il --certbot flag fa in modo che il programma di installazione scarichi Certbot e installi automaticamente i certificati SSL. Sostituisci YOUR_EMAIL con il tuo ID email e YOUR_HOSTNAME con il nome di dominio per Zulip (zulip.example.com ).

Fase 3:accesso all'interfaccia Zulip

Una volta terminato lo script di installazione, ti verrà fornito un URL univoco. Copia questo URL.

.......zulip-workers:zulip_deliver_scheduled_messages:started+ set +x+ su zulip -c '/home/zulip/deployments/current/manage.py generate_realm_creation_link'Visita il seguente link sicuro monouso per registrarti la tua nuova organizzazione Zulip:https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46

Visita https://zulip.example.com/new/il5dsewnhugjarbnlxf5nc46 nel tuo browser e apparirà la seguente schermata.

Inserisci il tuo ID e-mail per iniziare a creare la tua organizzazione. Nella schermata successiva ti verrà chiesto di creare un account.

Inserisci il nome della tua organizzazione e il tuo nome e scegli una password per l'accesso e fai clic su Registrati pulsante per procedere.

Al termine, si aprirà la dashboard di Zulip e potrai iniziare a utilizzarla.

Fase 4 - Configurazione della posta in uscita

Il server Zulip deve inviare regolarmente e-mail. Per questo, dovresti impostare la posta in uscita per questo. Per il nostro esempio, utilizzeremo il servizio SES di Amazon. Tutte le e-mail vengono inviate dall'ID e-mail utilizzato per creare l'organizzazione nel passaggio 3.

Zulip memorizza tutte le sue impostazioni in /etc/zulip/settings.py file. Aprilo per la modifica.

$ sudo nano /etc/zulip/settings.py

Decommenta le seguenti variabili rimuovendo # davanti a loro e inserendo i valori corrispondenti.

## EMAIL_HOST e EMAIL_HOST_USER sono generalmente obbligatori.EMAIL_HOST ='email-smtp.us-west-2.amazonaws.com'EMAIL_HOST_USER ='yoursmpt_username'## Password e segreti non sono memorizzati in questo file. La password## per l'utente EMAIL_HOST_USER va in `/etc/zulip/zulip-secrets.conf`.## In quel file, imposta `email_password`. Ad esempio:# email_password =abcd1234## EMAIL_USE_TLS e EMAIL_PORT sono richiesti per la maggior parte dei provider SMTP.EMAIL_USE_TLS =TrueEMAIL_PORT =587

Compila le seguenti variabili aggiuntive. Il primo rimuove qualsiasi token casuale all'indirizzo e-mail senza risposta e il secondo configura il mittente dell'e-mail senza risposta per le tue e-mail.

ADD_TOKENS_TO_NOREPLY_ADDRESS =False# TOKENIZED_NOREPLY_EMAIL_ADDRESS ="noreply-{token}@example.com"## NOREPLY_EMAIL_ADDRESS è il mittente delle email noreply che non## contengono link di conferma (dove il problema di sicurezza risolto da## ADD_TOKENS_TO_NOREPLY_ADDRESS non lo è esiste), nonché per## email di conferma quando ADD_TOKENS_TO_NOREPLY_ADDRESS=False.NOREPLY_EMAIL_ADDRESS ='[email protected]'

Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Zulip salva la password dell'e-mail in un file diverso. Apri il file /etc/zulip/zulip-secrets.conf per la modifica.

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

Incolla la riga seguente alla fine del file.

password_email =tua password_smtp

Salva il file premendo Ctrl + X e inserendo Y quando richiesto.

Per testare la configurazione dell'e-mail in uscita, puoi inviare un'e-mail di prova utilizzando il comando seguente.

$ sudo -u zulip /home/zulip/deployments/current/manage.py send_test_email [email protected]Se riscontri problemi, leggi:https://zulip.readthedocs.io/en/latest/production/ email.html#troubleshootingL'errore più comune non è l'impostazione di `ADD_TOKENS_TO_NOREPLY_ADDRESS=False` quando si utilizza un provider di posta elettronica che non supporta tale funzione. Invio di 2 e-mail di prova da:* [email protetta] * [email protetta]Inviato con successo 2 e-mail a [ e-mail protetta]

Riavvia il server.

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

Nota che puoi avviare o arrestare il server Zulip solo come zulip utente.

Passaggio 5 - Comandi del server Zulip

Per arrestare il server Zulip, utilizzare il comando seguente.

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

Per riavviare il server, utilizzare il seguente comando.

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

Riavvia il server in modo simile.

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

Ci sono molte attività di gestione che puoi realizzare usando manage.py script fornito con Zulip.

È possibile eseguire lo script utilizzando il comando seguente. Useremo la help sottocomando per elencare tutte le possibili operazioni che si possono eseguire.

$ sudo -u zulip /home/zulip/deployments/current/manage.py helpType 'manage.py help ' per assistenza su un sottocomando specifico. Sottocomandi disponibili:[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 runer [two_factor] two_factor_disable two_factor_status[zerver] add_users_to_streams archive_messages audit_fts_indexes backup bulk_change_user_nam 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 esportazione 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 list_realms importazione 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 sync_ld_up_users_transfert> turn_deactivate_users sync_ld_up_users_trasferimento 

Fase 6 - Aggiornamento di Zulip

Per aggiornare Zulip, scarica l'ultima versione dal server.

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

Esegui il comando seguente per eseguire l'aggiornamento.

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

Lo script eseguirà le seguenti funzioni.

  1. Esegui apt upgrade per aggiornare il sistema.
  2. Installa la nuova versione delle dipendenze di Zulip.
  3. Chiude il server Zulip.
  4. Esegue puppet apply comando.
  5. Esegui migrazioni del database se necessario.
  6. Riavvia il server Zulip.

Passaggio 7:backup e ripristino di Zulip

Eseguire il backup e il ripristino di Zulip è facile, grazie agli script integrati che si occupano di tutto.

Per eseguire un backup completo di Zulip, esegui il comando seguente.

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

Il comando precedente creerà un zulip-backup.tar.gz file nel ~/backups directory. Questo contiene tutto ciò di cui avrai bisogno per trasferire o ripristinare Zulip.

Per ripristinare un backup esistente, installa Zulip seguendo il passaggio 2.

Al termine, esegui il comando seguente per completare il ripristino.

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

Se vuoi cambiare il dominio, puoi cambiare la variabile EXTERNAL_HOST nel file /etc/zulip/settings.py e quindi riavviare il server utilizzando il seguente comando.

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

Conclusione

Questo conclude il nostro tutorial sull'installazione e la configurazione del server Zulip Chat su un sistema basato su Debian 11. Puoi seguire la documentazione ufficiale di Zulip per esplorare in dettaglio. Se hai domande, pubblicale nei commenti qui sotto.


Debian
  1. Come installare Redis Server su Debian 11

  2. Come installare MySQL 8.0 / 5.7 su Debian 11 / Debian 10

  3. Come installare ProFTPD su Debian 8

  4. Come installare MySQL Server su Debian 9

  5. Come installare ClickHouse su Debian 9

Come installare FastPanel su Debian 11

Come installare I2P su Debian Server:

Come installare Zulip su Debian 11

Come installare VNC su Debian 10

Come installare il server VNC su Debian 11

Come o Installare Zulip Chat Server su Ubuntu 20.04 LTS