OVERVIEW
- During the current CORONA Virus pandemic, people are using their computers to chat more than they probably do regularly, and an application like Zoom, Google Meet, Microsoft Team, etc. has become incredibly popular in the past couple of months. But some of them have some disadvantages.
- Time limit
- Not end-to-end encryption
- Member limit
- Required login/signup
- But setting your meet server can help to these disadvantages also can make your application more reliable.
SETUP SERVER CONFIGURATION
- Setup Fully Qualified Domain Name (FQDN) or hostname that you want to use
Ex: meet.example.com - Add “A” DNS record for your FQDN.
- Wait till your DNS record was propagated.
You can check your DNS record was propagated or not using the following command.dig FQDN
ex: dig meet.example.com
SETUP JITSI MEET SERVER
- Once your DNS record was propagated login to your server.
- Update your server using this command.
apt update apt full-upgrade
- Confirm the hostname was applied in you server
cat /etc/hostname output:- meet
- you will see the output as “meet” or you can check your Fully Qualified Domain Name (FQDN) using
dnsdomainname -f output:- meet.example.com
- Also, you can check it at your host file
cat /etc/hosts
- Now we need to install two things before we install the Jitsi package so we don’t need to install it later.
1) apt install gnupg – Which will be used to import the key with the jitsi package signed in.
2) apt transport-https – That downloaded over https. - Now add the jitsi repository using the following command
echo ‘deb https://download.jitsi.org stable/’ >> /etc/apt/sources.list.d/jitsi-stable.list
- Also, run the following command to download the jitsi key
wget -q0 http://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
- Now quick update the using
apt update
- Now you are ready to install the jitsi meet, run
apt install jitsi-meet
- Enter Fully Qualified Domain Name (FQDN) in the current installation prompt box.
- After that install the certificate using this command.
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
- And enter your email address
- You are done to create your meeting room.
AUTHENTICATION
- If you want to add authentication and restrict others to create there own meeting into the website you need to add an account (this will add the authentication for both creating room/joining room).
- Go to the following path
/etc/prosody/conf.avail/ - and edit a file with “.cfg.lua” extension.
nano /etc/prosody/conf.avail/meet.example.com.cfg.lua
- Change authentication=”anonymous” to authentication=”internal_plain”
- Now, edit another file called “sip-communicator.properties” which was located in /etc/jitsi/jicofo/ and add this line to it
org.jitsi.jicofo.auth.URL=XMPP:meet.example.com
- Now restart all services by running this command
systemctl restart prosody systemctl restart jicofo systemctl restart jitsi-videobridge2
- Now add an account for sign in
Syntax: prosodyctl registerExampleprosodyctl register admin meet.example.com admin@123
- Go to the following path
- Allow the attendees to join the room without authentication.
- To allow the attendees to join your meet without authentication just edit the file with the extension “.cfg.lua” which was located at /etc/prosody/conf.avail/.cfg.lua.
Ex:/etc/prosody/conf.avail/meet.example.com.cfg.lua
- Add this line at the end of the file.
VirtualHost "guest.meet.example.com" authentication = "anonymous" c2s_require_encryption = false
- Now edit another file located /etc/jitsi/meet/meet.example.cloud-config.js and uncomment the line in host section anonymousdomain: ‘guest.example.com’ and change example.com with your FQDN.
- Now restart all services using this command
systemctl restart prosody systemctl restart jicofo systemctl restart jitsi-videobridge2
- Now test your application once more this time it will ask you to enter username and password to create a meeting (also you use either username/FQDN and password to create a meeting)
- To allow the attendees to join your meet without authentication just edit the file with the extension “.cfg.lua” which was located at /etc/prosody/conf.avail/.cfg.lua.
CUSTOMIZATION
You can customize the home link, watermark logo, watermark image link, page title, and favicon.
- Home Link and Watermark image link
- Goto /usr/share/jitsi-meet/interface_config.js then change JITSI_WATERMARK_LINK as you want.
- Watermark logo
- Goto /usr/share/jitsi-meet/images then replace the watermark.png with your watermark logo.
- Page title
- Goto /usr/share/jitsi-meet/title.html then replace the text in the title tag that you want and also change the /usr/share/jitsi-meet/interface_config.jsand change APP_NAME and NATIVE_APP_NAME.
- Favicon
- Goto /usr/share/jitsi-meet/images then replace the favicon.png with your favicon.png.
Conclusion
Hope this blog can help you with creating your meeting application. Having your meeting server can protect you from the outside world and also can give more control over your meeting.