Install Zulip Chat Server on Ubuntu 20.04|18.04 / Debian 10|9

Posted on 30 views

In this post, I’ll take you through the steps to install Zulip Chat Server on Ubuntu 20.04/18.04 /16.04 & Debian 10/9 with Let’s Encrypt SSL. Zulip server is a powerful open source team chat application that combines the immediacy of real-time chat with the productivity benefits of threaded conversations.

Zulip gives you a real-time chat system that allows users to easily process hundreds or thousands of messages a day. With over 300 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

To run a Zulip server, you will need:

  • A dedicated machine or VM
  • A supported OS:
    • Ubuntu 20.04/18.04/16.04
    • Debian 10/9 Linux
    • At least 2GB RAM, and 10GB disk space
    • If you expect 100+ users: 4GB RAM, and 2 CPUs
  • A hostname in DNS
  • Credentials for sending email

Here are the steps to install Zulip Chat Server on Ubuntu 20.04|18.04 & Debian 10/9 with Let’s Encrypt SSL.

Step 1: Update system

Update your system packages by running:

sudo apt update
sudo apt upgrade -y
sudo apt install -y git wget

If possible, reboot the instance

sudo reboot

Step 2: Download Zulip Server on Ubuntu 20.04|18.04 / Debian 10|9

Download and unpack the latest built server tarball with the following commands:

wget https://www.zulip.org/dist/releases/zulip-server-latest.tar.gz

Wait for the Download to finish then extract the archive file:

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

Step 3: Install Zulip Server on Ubuntu 20.04|18.04 / Debian 10|9

You have two options to install Zulip Server on Ubuntu 20.04|18.04 / Debian 10|9:

Option 1: Use Let’s Encrypt SSL Certificates

If your  Zulip Server instance  has a public IP address, you can install Zulip Chat Server with Let’s Encrypt SSL:

export EMAIL="[email protected]"
export HOSTNAME="zulip.example.com"

Where:

  • [email protected] is the email address of the person or team who should get support and error emails from this Zulip server.
  • zulip.example.com is the user-accessible domain name for this Zulip server

Start installation:

sudo -s ./zulip-server-*/scripts/setup/install --certbot \
--email=$EMAIL --hostname=$HOSTNAME

With the –certbot option, the Zulip installer automatically obtains an SSL certificate for the server using Certbot.

Option 2: Use self-signed SSL SSL Certificates

In this method, Zulip installer will generate a self-signed SSL certificate for the server.

Ensure OpenSSL is installed

sudo apt install openssl

Then run Zulip Server installer with the option --self-signed-cert.

export EMAIL="[email protected]"
export HOSTNAME="zulip.example.com"

Start the installation by running the following command:

sudo -s ./zulip-server-*/scripts/setup/install --self-signed-cert --email=$EMAIL --hostname=$HOSTNAME

This is what the installer will do:

  • Creates the userzulip, which the various Zulip servers will run as.
  • Creates /home/zulip/deployments/, which the Zulip code for this deployment (and future deployments when you upgrade) goes into. At the very end of the install process, the script moves the Zulip code tree it’s running from (which you unpacked from a tarball above) to a directory there and makes /home/zulip/deployments/current as a symbolic link to it.
  • Installs Zulip’s various dependencies.
  • Configures the various third-party services Zulip uses, including,PostgreSQL RabbitMQ,Memcachedand Redis.
  • Initializes Zulip’s database.

Installation logs are logged by the installer to /var/log/zulip/install.log. Zulip errors should be visible from /var/log/zulip/errors.log

Step 4: Create a Zulip organization, and log in

On successful installation, the install script prints a link.

....
ulip-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.hirebestengineers.com/new/daf9ny25q198hvdcdfjvzr51

Open the link in your browser and follow the prompts to set up your organization

Install-Zulip-Chat-Server-Ubuntu-Debian-01-1024x598

Next set your own user account as an administrator

Install-Zulip-Chat-Server-Ubuntu-Debian-02-1024x773

Then, log in to start using Zulip Group Chat.

Install-Zulip-Chat-Server-Ubuntu-Debian-03-1024x598

Refer to Zulip official documentation pages for extensive reading on Zulip administration and usage.

coffee

Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.