Learn How To Install Zulip on Ubuntu 16.04

February 27, 2020

Table of Contents

Zulip is a free, open source and powerful group chat application and collaborative software. It is written in Python and uses Django, Python, JavaScript, and PostgreSQL database. Zulip comes with lots of features such as private messaging, group chats, drag-and-drop file uploads, image previews, missed-message emails, desktop apps, and much more.

In this tutorial, we will explain how to install Zulip on Ubuntu 16.04 server.


  • A Server running Ubuntu 16.04.
  • A sudo user.

Step 1: Update the system

First, login to your server via SSH using the sudo user and update your system with the latest stable version with the following command:

sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now

Once your system is up-to-date, you can proceed to the next step.

Step 2: Install Required Packages

First, you will need to install required packages on your system. You can install it with the following command:

sudo apt-get install python-dev python-pip openssl nano vim wget -y

Once all the packages are installed, you can proceed to the next step.

Step 3: Install SSL Certificate

Before starting, install OpenSSL with the following command:

sudo apt-get install openssl -y

Next, generate a self signed ssl certificates with the following command:

sudo openssl genrsa -des3 -passout pass:x -out zulip.pass.key 4096
sudo openssl rsa -passin pass:x -in zulip.pass.key -out /etc/ssl/private/zulip.key
sudo rm -rf zulip.pass.key
sudo openssl req -new -key /etc/ssl/private/zulip.key -out zulip.csr
sudo openssl x509 -req -days 365 -in zulip.csr -signkey /etc/ssl/private/zulip.key -out /etc/ssl/certs/zulip.combined-chain.crt

Step 4: Download and Install Zulip

You can download the latest stable version of the Zulip from their official website with the following command:

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

Once the download is complete, extract the downloaded archive with the following command:

tar -xvzf zulip-server-latest.tar.gz

Next, change the directory to zulip and run the install script to start the installation with the following command:

cd zulip
sudo ./scripts/setup/install

Next, you will need to modify settings.py located at /etc/zulip directory:

sudo nano /etc/zulip/settings.py

Change the file as shown below:

ZULIP_ADMINISTRATOR admin@domain.com
ADMIN_DOMAIN domain.com
DEFAULT_FROM_EMAIL admin@domain.com
NOREPLY_EMAIL_ADDRESS admin@domain.com

Save and close the file when you are finished, then initialize the postgresql database using the following command:

su zulip -c /home/zulip/deployments/current/scripts/setup/initialize-database

Once everything is setup correctly, restart zulip to check for any errors by running the following command:

su zulip -c /home/zulip/deployments/current/scripts/restart-server

Step 5: Access Zulip Web Interface

Once everything is setup properly. Open your web browser and navigate to the URL http://domain.com or http://your-server-ip, and register your new account.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!