BILLYSOFTACADEMY

LEARN HOW TO SETUP A SELF HOSTED CHAT APP FOR SMALL TEAMS USING LET'S CHAT ON LINUX UBUNTU 20.04 LTS

In this video tutorial, we’ll take a look at how to setup a self hosted / cloud hosted chat app for small teams using the open source LET’S CHAT software on LINUX UBUNTU 20.04 LTS in the cloud on AMAZON WEB SERVICES. Let’s Chat is a persistent messaging application that runs on Node.js and MongoDB. It’s designed to be easily deployable and fits well with small, intimate teams. It’s free (MIT licensed) and ships with killer features such as LDAP/Kerberos authentication, a REST-like API and XMPP support. With letschat you can quicly created chat rooms and communicate and collaborated much more easily with peers, work mates and even friends.

LET’S CHAT is a free software thats comes with the following features:
– BYOS (bring your own server)
– Persistent messages
– Multiple rooms
– Private and password-protected rooms
– New message alerts / notifications
– Mentions (hey @you/@all)
– Image embeds / Giphy search
– Code pasting
– File uploads (Local / Amazon S3 / Azure)
– Transcripts / Chat History (with search)
– XMPP Multi-user chat (MUC)
– 1-to-1 chat between XMPP users
– Local / Kerberos / LDAP authentication
– Hubot Adapter
– REST-like API.
– Basic i18n support.
– MIT Licensed.

REQUIREMENTS

In order to complete this tutorial, the following is a list of items that may be needed or required. Please ensure to have these items available before taking implementation action on this tutorial to ensure success:
1) A desktop or laptop with 4GB RAM, a dual core processor and atleast 50GB of free disk space
2) An AMAZON AWS free tier account or an AWS IAM user account with access to AWS LIGHTSAIL
3) An AWS LIGHTSAIL Linux ubuntu instance (choose the $10USD plan)
4) An SSH client such as putty or the macos / linux terminal application
5) MONGODB, NODE.JS, LETSCHAT installation files and dependencies as well as GIT

OVERVIEW

1) Log into your AWS account using your root user and IAM user credentials and open AWS LIGHTSAIL
2) Create a linux ubuntu 20.04 LTS instance and set a static ip address on the instance
3) Create an A record in AWS route53 that points to the static ip address of the linux ubuntu instance
4) Download the KEYPAIR file for the LINUX UBUNTU instance and connect to the instance via SSH
5) Download and install ubuntu system updates, mongodb, nodejs, git and letschat
6) Create a let’s change system service file that will ensure that let’s chat is always running
7) Open up a new web browser tab, open the LET’S CHAT WEB PAGE and create a new user

STEP 1: Log into your AWS account using your root user and IAM user credentials and open AWS LIGHTSAIL

1) The first step, is to log into your AWS account, you can either use your root user account or your IAM user account however for security reason we recommend that you log in using your IAM user account. To log in click HERE to go to the AWS CONSOLE log in page.

2) Once you have logged in, use the search bar at the top of the console to search for AWS LIGHTSAIL then click on the “LIGHTSAIL SEARCH RESULT to open the LIGHTSAIL web app.

STEP 2: Create a linux ubuntu 20.04 LTS instance and set a static ip address on the instance

3) Once you have opened AWS LIGHTSAIL, click on the CREATE INSTANCE button to start the instance deployment process. On the SELECT A PLATFORM sub section click on the UNIX / LINUX option and on the SELECT A BLUE PRINT sub section, click on the OS ONLY button then choose the LINUX UBUNTU 20.04 image option.

Scroll down to the CHOOSE YOUR INSTANCE PLAN section and select the $10USD per month instance plan. On the IDENTIFY YOUR INSTANCE field, type in LETSCHAT-SERVER and click on the CREATE INSTANCE button.

STEP 3: Create an A record in AWS route53 that points to the static ip address of the linux ubuntu instance

4) The next step is to create a static IP address for the LINUX UBUNTU instance and to update your hosted zone for your domain name and create an A record that will point to the static IP address for the LINUX UBUNTU instance.

On the AMAZON LIGHTSAIL home page, click on the NETWORKING tab and click on the CREATE STATIC IP button. Choose the LINUX UBUNTU instance from the SELECT INSTANCE drop down, give the static ip address a name on the IDENTIFY YOUR STATIC IP input field and click on the CREATE STATIC IP button.

5) Once the static IP address has been created, go to the AWS CONSOLE home page and use the search bar at the top of the page to search for AWS ROUTE53. Click on the ROUTE53 search result and click on HOSTED ZONES. Click on a hosted zone for any one of your registered domains and click on CREATE RECORD.

On the create record form set the record name to letschat-server and on the VALUE field paste or type in the static ip address of the LINUX UBUNTU instance and click on CREATE RECORD button.

6)