{"id":243,"date":"2021-04-30T07:55:00","date_gmt":"2021-04-30T15:55:00","guid":{"rendered":"https:\/\/172.105.20.94\/?p=243"},"modified":"2023-01-06T21:40:45","modified_gmt":"2023-01-07T05:40:45","slug":"installing-install-jitsi-meet-on-ubuntu","status":"publish","type":"post","link":"https:\/\/tungle.ca\/?p=243","title":{"rendered":"Installing Jitsi Meet on Ubuntu"},"content":{"rendered":"\n<p>Jitsi is a true open-source solution for video conferencing. Integrating with Zimbra Collaboration Suite, we have a feasible open-source collaboration solution that has been installed on Linux VPS servers.<\/p>\n\n\n\n<p>Step 1 \u2014 Setting the System Hostname Creates jitsi and auth hostname records on an external DNS server as screenshots below<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"527\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-155.png\" alt=\"\" class=\"wp-image-244\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-155.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-155-300x162.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-155-768x415.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-155-200x108.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"348\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-156.png\" alt=\"\" class=\"wp-image-245\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-156.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-156-300x107.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-156-768x274.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-156-200x71.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Change hostname of the machine to jitsi.cisa2380.tk. <\/p>\n\n\n\n<p>#sudo hostnamectl set-hostname jitsi.cisa2380.tk<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"307\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-157.png\" alt=\"\" class=\"wp-image-246\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-157.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-157-300x94.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-157-768x242.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-157-200x63.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Ping the hostname to check it is reachable.<\/p>\n\n\n\n<p>Step 2 \u2014 Configuring the Firewall<\/p>\n\n\n\n<p>Allow some ports below for Jitsi services on Ubuntu Linux Firewall.<\/p>\n\n\n\n<p><code>Port 80 : uses in the TLS certificate request.<\/code><code><\/code><\/p>\n\n\n\n<p><code>Port 443: uses for the conference room creation web page.<\/code><code><\/code><\/p>\n\n\n\n<p><code>Port 4443\/tcp 10000\/udp: uses to transmit and receive the encrypted call traffic.<\/code><code><\/code><\/p>\n\n\n\n<p><code>sudo ufw allow 80\/tcp<\/code><code><\/code><\/p>\n\n\n\n<p><code>sudo ufw allow 443\/tcp<\/code><code><\/code><\/p>\n\n\n\n<p><code>sudo ufw allow 4443\/tcpsudo ufw allow 10000\/udp<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"275\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-158.png\" alt=\"\" class=\"wp-image-247\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-158.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-158-300x85.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-158-768x217.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-158-200x56.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Step 3 \u2014 Installing Jitsi Meet<\/p>\n\n\n\n<p>First, download the Jitsi GPG key with the&nbsp;<code>wget<\/code>&nbsp;downloading utility: <\/p>\n\n\n\n<p>#wget https:\/\/download.jitsi.org\/jitsi-key.gpg.key<\/p>\n\n\n\n<p>#sudo nano \/etc\/apt\/sources.list.d\/jitsi-stable.list to add this line below to the file for the Jitsi repository:<code>deb https:\/\/download.jitsi.org stable\/<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"100\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-159.png\" alt=\"\" class=\"wp-image-248\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-159.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-159-300x31.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-159-768x79.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-159-200x21.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Finally, perform a system update to collect the package list from the Jitsi repository #sudo apt update<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"467\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-160.png\" alt=\"\" class=\"wp-image-249\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-160.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-160-300x144.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-160-768x368.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-160-200x96.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Install Jitsi meet with the command below. <\/p>\n\n\n\n<p>#sudo apt install jitsi-meet<\/p>\n\n\n\n<p>Enter the domain name for your Jitsi Meet instance.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"280\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-161.png\" alt=\"\" class=\"wp-image-250\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-161.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-161-300x86.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-161-768x221.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-161-200x57.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Select the option below to create and use a&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Self-signed_certificate\">self-signed<\/a>&nbsp;TLS certificate for Jitsi system.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"194\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-162.png\" alt=\"\" class=\"wp-image-251\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-162.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-162-300x60.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-162-768x153.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-162-200x40.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"676\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-163.png\" alt=\"\" class=\"wp-image-252\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-163.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-163-300x208.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-163-768x532.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-163-200x139.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"311\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-164.png\" alt=\"\" class=\"wp-image-253\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-164.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-164-300x96.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-164-768x245.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-164-200x64.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"374\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-165.png\" alt=\"\" class=\"wp-image-254\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-165.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-165-300x115.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-165-768x295.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-165-200x77.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Step 4 \u2014 Obtaining a Signed TLS Certificate <\/p>\n\n\n\n<p>#sudo apt install certbot<\/p>\n\n\n\n<p>#sudo apt install certbot<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"511\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-166.png\" alt=\"\" class=\"wp-image-255\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-166.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-166-300x157.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-166-768x403.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-166-200x105.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"375\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-167.png\" alt=\"\" class=\"wp-image-256\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-167.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-167-300x115.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-167-768x295.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-167-200x77.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"406\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-169.png\" alt=\"\" class=\"wp-image-258\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-169.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-169-300x125.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-169-768x320.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-169-200x83.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Step 5 \u2014 Locking Conference Creation<\/p>\n\n\n\n<p>Allow registered users to create conference rooms by changing the information as the file below<\/p>\n\n\n\n<p>#sudo nano \/etc\/prosody\/conf.avail\/your_domain.cfg.lua<\/p>\n\n\n\n<p>Change authentication = &#8220;anonymous&#8221; to authentication = &#8220;internal_plain&#8221;<\/p>\n\n\n\n<p>Then, add to the end of the file:<\/p>\n\n\n\n<p>VirtualHost &#8220;guest.jitsi.your_domain&#8221;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; authentication = &#8220;anonymous&#8221; &nbsp;&nbsp;&nbsp; c2s_require_encryption = false<\/p>\n\n\n\n<p>Next, edit the file \/etc\/jitsi\/meet\/jitsi.your_domain-config.js&nbsp;<\/p>\n\n\n\n<p>#sudo nano \/etc\/jitsi\/meet\/jitsi.your_domain-config.js<\/p>\n\n\n\n<p>Change this line:<\/p>\n\n\n\n<p>\/\/ anonymousdomain: &#8216;guest.jitsi.your_domain&#8217;,<\/p>\n\n\n\n<p>To: anonymousdomain: &#8216;guest.jitsi.your_domain&#8217;,<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"530\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-170.png\" alt=\"\" class=\"wp-image-259\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-170.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-170-300x163.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-170-768x417.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-170-200x109.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Open&nbsp;\/etc\/jitsi\/jicofo\/sip-communicator.properties:<\/p>\n\n\n\n<p>#sudo nano \/etc\/jitsi\/jicofo\/sip-communicator.properties<\/p>\n\n\n\n<p>Add the line below to the end of the file. org.jitsi.jicofo.auth.URL=XMPP:jitsi.your_domain<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"137\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-171.png\" alt=\"\" class=\"wp-image-260\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-171.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-171-300x42.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-171-768x108.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-171-200x28.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<p>Now, Jitsi Meet is configured to require authenticated users for video conferencing.<\/p>\n\n\n\n<p>Use the&nbsp;prosodyctl&nbsp;utility to create user and password for Jitsi users. <\/p>\n\n\n\n<p>#sudo prosodyctl register user your_domain password<\/p>\n\n\n\n<p>Finally, restart the Jitsi Meet services.<\/p>\n\n\n\n<p>sudo systemctl restart prosody.service<\/p>\n\n\n\n<p>sudo systemctl restart jicofo.service sudo systemctl restart jitsi-videobridge2.service<\/p>\n\n\n\n<p>The Jitsi server has been installed and securely configured.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"744\" src=\"https:\/\/172.105.20.94\/wp-content\/uploads\/2021\/12\/image-173.png\" alt=\"\" class=\"wp-image-262\" srcset=\"https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-173.png 975w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-173-300x229.png 300w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-173-768x586.png 768w, https:\/\/tungle.ca\/wp-content\/uploads\/2021\/12\/image-173-200x153.png 200w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"blob:https:\/\/172.105.20.94\/56e82ba6-1695-41be-a635-82981dce8255\" alt=\"\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Jitsi is a true open-source solution for video conferencing. Integrating with Zimbra Collaboration Suite, we have a feasible open-source collaboration solution that has been installed on Linux VPS servers. Step 1 \u2014 Setting the System Hostname Creates jitsi and auth hostname records on an external DNS server as screenshots below Change hostname of the machine [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[8],"class_list":["post-243","post","type-post","status-publish","format-standard","hentry","category-linux","tag-linux"],"_links":{"self":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=243"}],"version-history":[{"count":4,"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts\/243\/revisions"}],"predecessor-version":[{"id":4594,"href":"https:\/\/tungle.ca\/index.php?rest_route=\/wp\/v2\/posts\/243\/revisions\/4594"}],"wp:attachment":[{"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tungle.ca\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}