When deploying on your server instance, be sure to replace all example values with your actual ones.<\/em><\/p>\n\n\n\n1. Set up a Swap Partition<\/h2>\n\n\n\n
For a machine with 2GB of memory, it’s recommended to set up a 2GB (2048M) swap partition to improve system performance.<\/p>\n\n\n\n
sudo dd if=\/dev\/zero of=\/swapfile count=2048 bs=1M\n\nsudo chmod 600 \/swapfile\n\nsudo mkswap \/swapfile\n\nsudo swapon \/swapfile\n\necho '\/swapfile none swap sw 0 0' | sudo tee -a \/etc\/fstab\n\nfree -m\n<\/code><\/pre>\n\n\n\nNote:<\/strong> If you are using a different server size, the swap partition size may vary.<\/em><\/p>\n\n\n\n2. Set up the Domain Name<\/h2>\n\n\n\n
You need to correctly set up a hostname and an FQDN for the machine before you can enable HTTPS security by deploying a Let’s Encrypt HTTPS certificate.<\/p>\n\n\n\n
The following commands will set up a hostname, jitsimeet<\/code>, and an FQDN, jitsimeet.example.com<\/code>, for the machine:<\/p>\n\n\n\nsudo hostnamectl set-hostname jitsimeet\n\nsudo sed -i 's\/^127.0.1.1.*$\/127.0.1.1 jitsimeet.example.com jitsimeet\/g' \/etc\/hosts\n<\/code><\/pre>\n\n\n\nConfirm the results:<\/p>\n\n\n\n
hostname\n\nhostname -f\n<\/code><\/pre>\n\n\n\n3. Set the Firewall Rules<\/h2>\n\n\n\n
As required by Jitsi Meet, you need to allow OpenSSH<\/code>, HTTP<\/code>, and HTTPS<\/code> traffic, along with inbound UDP traffic on port 10000<\/code> through port 20000<\/code>:<\/p>\n\n\n\nsudo ufw allow OpenSSH\n\nsudo ufw allow http\n\nsudo ufw allow https\n\nsudo ufw allow in 10000:20000\/udp\n\nsudo ufw enable\n<\/code><\/pre>\n\n\n\nWhen you see the prompt Command may disrupt existing ssh connections. Proceed with operation (y|n)?<\/code>, input y<\/code> and then press ENTER<\/kbd>.<\/p>\n\n\n\n4. Update the System<\/h2>\n\n\n\n
For security and performance purposes, its necessary to update the Ubuntu 18.04 LTS system to the latest status:<\/p>\n\n\n\n
sudo apt update\n\nsudo apt upgrade -y && sudo shutdown -r now\n<\/code><\/pre>\n\n\n\nYou may be informed that the currently installed version of the grub configuration file has been locally modified during the upgrade. Since we are not responsible for the modification, use the UP<\/kbd> arrow to highlight the install the package maintainer's version<\/code> option, and then press ENTER<\/kbd>.<\/p>\n\n\n\nAfter the system reboot, log back in as the same sudo user to move on.<\/p>\n\n\n\n
5. Install Required Packages<\/h2>\n\n\n\n
Jitsi Meet requires Java Runtime Environment and GNU Privacy Guard.<\/p>\n\n\n\n
sudo apt install -y gnupg\n\nsudo apt install -y openjdk-8-jre-headless\n<\/code><\/pre>\n\n\n\nAfter OpenJDK JRE 8 installed, use the following command to verify the result:<\/p>\n\n\n\n
java -version\n<\/code><\/pre>\n\n\n\nThe output will be similar to the following:<\/p>\n\n\n\n
openjdk version \"1.8.0_171\"\n\nOpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)\n\nOpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)\n<\/code><\/pre>\n\n\n\nIn addition, you can setup the JAVA_HOME<\/code> environment variable as follows:<\/p>\n\n\n\necho \"JAVA_HOME=$(readlink -f \/usr\/bin\/java | sed \"s:bin\/java::\")\" | sudo tee -a \/etc\/profile\n\nsource \/etc\/profile\n<\/code><\/pre>\n\n\n\n6. Install Nginx<\/h2>\n\n\n\n
To better serve Jitsi Meet, you can install an Nginx web server before actually installing Jitsi Meet:<\/p>\n\n\n\n
sudo apt install -y nginx\n\nsudo systemctl start nginx.service\n\nsudo systemctl enable nginx.service\n<\/code><\/pre>\n\n\n\nYou don’t need to manually configure Nginx because the Jitsi Meet installer will deal with this job for you later.<\/p>\n\n\n\n
Note:<\/strong> If Nginx or Apache is not in place, the Jitsi Meet installer will automatically install Jetty along with the Jitsi Meet program.<\/em><\/p>\n\n\n\n7. Install Jitsi Meet<\/h2>\n\n\n\n
On a modern Ubuntu or Debian system, you can easily install Jitsi Meet using the official Jitsi deb repo.<\/p>\n\n\n\n
First setup the Jitsi repository on your system:<\/p>\n\n\n\n
cd\n\nwget -qO - https:\/\/download.jitsi.org\/jitsi-key.gpg.key | sudo apt-key add -\n\nsudo sh -c \"echo 'deb https:\/\/download.jitsi.org stable\/' > \/etc\/apt\/sources.list.d\/jitsi-stable.list\"\n\nsudo apt update -y\n<\/code><\/pre>\n\n\n\nThen install the full suite of Jitsi Meet:<\/p>\n\n\n\n
sudo apt install -y jitsi-meet\n<\/code><\/pre>\n\n\n\nDuring the installation, when you are asked to provide the hostname of the current installation, type in the FQDN jitsimeet.example.com<\/code> you set up earlier and then press ENTER<\/kbd>.<\/p>\n\n\n\nWhen you are asked about the SSL certificate, highlight the Generate a new self-signed certificate (You will later get a chance to obtain a Let's Encrypt certificate)<\/code> option and then press ENTER<\/kbd>.<\/p>\n\n\n\nAfter Jitsi Meet is successfully installed, use the following script to apply for a Let’s Encrypt SSL certificate:<\/p>\n\n\n\n
sudo \/usr\/share\/jitsi-meet\/scripts\/install-letsencrypt-cert.sh\n<\/code><\/pre>\n\n\n\nDuring the process, input your email admin@example.com<\/code> as prompted and then press ENTER<\/kbd>. This script will automatically handle any tasks related to the Let’s Encrypt SSL certificate.<\/p>\n\n\n\nFinally, point your favorite web browser to http:\/\/jitsimeet.example.com<\/code> or https:\/\/jitsimeet.example.com<\/code> to access your Jitsi Meet Video conferencing service. Feel free to explore the interface. Clicking the GO<\/code> button will immediately create a Video conferencing channel for you.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","manualknowledgebasecat":[242,247],"manual_kb_tag":[],"_links":{"self":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/3735"}],"collection":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/comments?post=3735"}],"version-history":[{"count":1,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/3735\/revisions"}],"predecessor-version":[{"id":3736,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb\/3735\/revisions\/3736"}],"wp:attachment":[{"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/media?parent=3735"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manualknowledgebasecat?post=3735"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/support.aklwebhost.com\/wp-json\/wp\/v2\/manual_kb_tag?post=3735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}