In this tutorial to tell you how to install Jitsi Meet (and its required components) on a server.
Example parameters: In this example, our fully-qualified domain name (FQDN) is "jitsi.sharecodepoint.com". All passwords will be set to "sha202023".
Step 1: Log into your server as root (or use sudo) and make sure your server is entirely up-to-date:
apt update
apt full-upgrade
Step 2: Ensure that your hostname and FQDN are set (if not, set them by placing the hostname in /etc/hostname and the FQDN in /etc/hosts):
cat /etc/hostname
dnsdomainname -f
cat /etc/hosts
Step 3: Install the prerequisite packages:
apt install gnupg apt-transport-https
Step 4: Add the Jitsi repository to your package manager and refresh your package lists:
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
apt update
Step 5: Install the Jitsi Meet package:
apt install jitsi-meet
Enter your FQDN when prompted, and select the option to generate a self-signed certificate during installation.
Step 6: Generate a publicly-usable SSL/TLS certificate using Let's Encrypt:
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
The server should now be publicly usable.
Step 7: (Optional): If your server is behind a router performing NAT, forward ports TCP/443 and UDP/10000 to the server's internal IP address. Open the videobridge configuration file:
nano /etc/jitsi/videobridge/sip-communicator.properties
Add these two lines of configuration with the appropriate IP addresses:
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
Step 8: To require authentication to create or join a room, open the Prosody configuration file:
nano /etc/prosody/conf.avail/jitsi.example.com.cfg.lua
Change the "authentication" option from "anonymous" to "internal_plain":
authentication = "internal_plain"
Step 9: Open the Jifoco configuration file:
nano /etc/jitsi/jicofo/sip-communicator.properties
Add this option to the bottom of the file:
org.jitsi.jicofo.auth.URL=XMPP:jitsi.example.com
Step 10: To create a user in Prosody, run this command:
prosodyctl register yourusernamehere jitsi.example.com P@ssw0rd
Step 11: Restart the Prosody and Jitsi services to apply changes:
systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2
Step 12: To not require authentication for joining a room while still requiring authentication for creating new rooms, open the Prosody configuration file:
nano /etc/prosody/conf.avail/jitsi.example.com.cfg.lua
Add a new VirtualHost section to the bottom of the file:
VirtualHost "guest.jitsi.example.com"
authentication = "anonymous"
c2s_require_encryption = false
Step 13: Open the Jitsi Meet configuration file: Code
nano /etc/jitsi/meet/jitsi.example.com-config.js
Uncomment and set the "anonymousdomain" option:
anonymousdomain: 'guest.jitsi.example.com',
Step 14: Restart the Prosody and Jitsi services to apply changes (again):
systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2