How to Install Chatwoot Messaging Platform on Debian 11

Chatwoot is a free, open-source, and real-time messaging platform. It provides a simple and live chat for your website and integrates it with other apps. It helps your businesses to provide good customer support to their clients via social media channels. It can be easily integrated with social media apps including, Facebook, WhatsApp, and Twitter. It is a very good alternate solution to other commercial software like Intercom, Zendesk, etc.

In this tutorial, I will show you how to install Chatwoot on Debian 11.

Prerequisites

  • A server running Debian 11.
  • A valid domain name pointed with your server IP.
  • A root password is configured on the server.

Install Chatwoot on Debian 11

Before starting, you will need to download the Chatwoot installation script from the Git repository.

First, install the git command with the following command:

apt-get install git -y

Next, download Chatwoot with the following command:

git clone https://github.com/chatwoot/chatwoot.git

Next, change the directory to the downloaded directory and install the Chatwoot with the following command:

cd chatwoot/deployment/
bash setup_20.04.sh -O setup.sh

You will be asked to define your domain and configure it with SSL as shown below:

Would you like to configure a domain and SSL for Chatwoot?(yes or no): yes
Enter your sub-domain to be used for Chatwoot (chatwoot.domain.com for example) : chatwoot.linuxbuz.com

This script will try to generate SSL certificates via LetsEncrypt and serve chatwoot at
https://chatwoot.linuxbuz.com. Proceed further once you have pointed your DNS to the IP of the instance.

Do you wish to proceed? (yes or no): yes
Would you like to install postgres and redis?(Answer no if you plan to use external services): yes


Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for chatwoot.linuxbuz.com
Performing the following challenges:
http-01 challenge for chatwoot.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Subscribe to the EFF mailing list (email: [email protected]).

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/chatwoot.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/chatwoot.linuxbuz.com/privkey.pem
   Your certificate will expire on 2022-06-04. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.


***************************************************************************
Woot! Woot!! Chatwoot server installation is complete
The server will be accessible at https://chatwoot.linuxbuz.com
***************************************************************************

Once the Chatwoot is installed, you can check the status of the Chatwoot with the following command:

systemctl status chatwoot.target

You will get the following output:

? chatwoot.target
     Loaded: loaded (/etc/systemd/system/chatwoot.target; enabled; vendor preset: enabled)
     Active: active since Sun 2022-03-06 06:07:21 UTC; 1min 36s ago

Mar 06 06:07:21 debian11 systemd[1]: Reached target chatwoot.target.

By default, Chatwoot listens on port 3000. You can check it with the following command:

ss -antpl | grep 3000

You will get the following output:

LISTEN 0      1024         0.0.0.0:3000      0.0.0.0:*    users:(("ruby",pid=38128,fd=8))  

Chatwoot installs and configured Nginx with Let's Encrypt SSL during the installation. You can check the status of the Nginx with the following command:

systemctl status nginx

You will get the following output:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-03-06 06:09:48 UTC; 10s ago
       Docs: man:nginx(8)
    Process: 38376 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 38377 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 38378 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 3.5M
        CPU: 61ms
     CGroup: /system.slice/nginx.service
             ??38378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??38379 nginx: worker process
             ??38380 nginx: worker process

Mar 06 06:09:48 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Mar 06 06:09:48 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

Access Chatwoot Web Interface

Now, open your web browser and access the Chatwoot web interface using the URL http://chatwoot.linuxbuz.com. You will be redirected to the following page:

Chatwood Login

Provide your name, email, company name, password, and click on the Finish Setup button. You should see the Chatwoot login page:

Chatwood

Provide your email, password and click on the Login button. You should see the Chatwoot dashboard on the following page:

dashboard

Click on the Inboxes. You should see the following page:

Chatwood Channels

From here, you can choose the channel that you want to integrate with Chatwoot.

Conclusion

Congratulations! you have successfully installed Chatwoot on Debian 11. You can now host Chatwoot in your organization and use it to provide customer support. Feel free to ask me if you have any questions.

Share this page:

Suggested articles

1 Comment(s)

Add comment

Comments

By: IzFazt at: 2022-03-25 12:39:15

Hello Hitesh, I went over Chatwood some time ago. The installation was pretty straight forward, the real hassle is in the integration of the components like Facebook, Whatsapp others. A  more complete tutorial on this more complex part of the setup would be welcomed by me and perhaps others who dive into this. The Chatwood tutorials over the net are a bit like all Elkstack tutorials, installing is 1-2-3 done, but getting your graphs is a complete other level. There is little to find on that . Tnxs for your work so far!