You are here: Home / Install Jitsi Meet on CentOS 7

Install Jitsi Meet on CentOS 7

Notes about getting Jitsi Meet working on CentOS 7.

This example was using CentOS 7.5.1804 (Core)  inside a Godaddy Virtual Private Server (VPS), x86_64.


Update OS 

First, make sure overall OS is up to date.

yum update

Reboot as needed.


Prereqs to install first

Now, there is a naming problem between the jitsi installer and where speexdsp is located, so unless you install speexdsp separatedly first, you are going to need to run various workarouns as listed in the references section.



make a git dir, for example mkdir ~/downloads/jitsi/git


Install gityum install git



SpeexDSP Workaround

If speex is currently installed, remove it:

rpm -e --nodeps speex

Grab and install the following RPMs IN THIS ORDER:



rpm -i speex-1.2-0.23.rc2.el7.centos.x86_64.rpm



rpm -i speexdsp-1.2-0.7.rc3.el7.centos.x86_64.rpm







problems installing this!



rpm -i speex-1.2-0.19.rc1.el7.x86_64.rpm
rpm -i speex-devel-1.2-0.19.rc1.el7.x86_64.rpm


May have to shoe-horn in speexdsp manually.



Potential prereqs to install first:

copy-jdk-configs-3.3-10.el7_5.noarch from updates
giflib-4.1.6-9.el7.x86_64 from base
gtk2-2.24.31-1.el7.x86_64 from base
1:java-1.8.0-openjdk- from updates
1:java-1.8.0-openjdk-headless- from updates
javapackages-tools-3.4.1-11.el7.noarch from base
jitsi-2.10-5550.x86_64 from jitsi
libXScrnSaver-1.2.2-6.1.el7.x86_64 from base
libXfont-1.5.2-1.el7.x86_64 from base
libappindicator-12.10.0-13.el7.x86_64 from base
libdbusmenu-16.04.0-4.el7.x86_64 from base
libdbusmenu-gtk2-16.04.0-4.el7.x86_64 from base
libfontenc-1.1.3-3.el7.x86_64 from base
libindicator-12.10.1-6.el7.x86_64 from base
lksctp-tools-1.0.17-2.el7.x86_64 from base
python-javapackages-3.4.1-11.el7.noarch from base
python-lxml-3.2.1-4.el7.x86_64 from base
ttmkfdir-3.0.9-42.el7.x86_64 from base
tzdata-java-2018e-3.el7.noarch from updates
1:xorg-x11-font-utils-7.5-20.el7.x86_64 from base
xorg-x11-fonts-Type1-7.5-9.el7.noarch from base



yum install java-1.8.0-openjdk-headless-

Say yes to installing the dependencies. which includes:

copy-jdk-configs.noarch 0:3.3-10.el7_5

javapackages-tools.noarch 0:3.4.1-11.el7

lksctp-tools.x86_64 0:1.0.17-2.el7

python-javapackages.noarch 0:3.4.1-11.el7

python-lxml.x86_64 0:3.2.1-4.el7

tzdata-java.noarch 0:2018e-3.el7 


yum install java-1.8.0-openjdk-

say yes to install the dependencies which includes:

giflib.x86_64 0:4.1.6-9.el7 libXfont.x86_64 0:1.5.2-1.el7

libfontenc.x86_64 0:1.1.3-3.el7

ttmkfdir.x86_64 0:3.0.9-42.el7

xorg-x11-font-utils.x86_64 1:7.5-20.el7

xorg-x11-fonts-Type1.noarch 0:7.5-9.el7


yum install gtk2-2.24.31-1.el7.x86_64


jitsi.x86_64 0:2.10-5550

Dependency Installed:
libXScrnSaver.x86_64 0:1.2.2-6.1.el7 libappindicator.x86_64 0:12.10.0-13.el7 libdbusmenu.x86_64 0:16.04.0-4.el7
libdbusmenu-gtk2.x86_64 0:16.04.0-4.el7 libindicator.x86_64 0:12.10.1-6.el7


Instal Make & Related Tools

yum install gcc-c++ make


Install Java


yum install java-1.8.0-openjdk


yum install java-1.8.0-devel


Install NPM

You need npm installed as they explain it on npm site:

mkdir ~/downloads/jitsi/npm

cd ~/downloads/jitsi/npm

 curl --silent --location | sudo bash -

May run into a version issue later when trying to install npm when using this:

yum -y install nodejs


So may need to uninstall above, and install with fixed version manually:

yum install http-parser is needed by nodejs-1:6.14.3-1.el7.x86_64 is needed by nodejs-1:6.14.3-1.el7.x86_64 is needed by nodejs-1:6.14.3-1.el7.x86_64
    libuv >= 1:1.9.1 is needed by nodejs-1:6.14.3-1.el7.x86_64 is needed by nodejs-1:6.14.3-1.el7.x86_64


rpm -i nodejs-6.14.3-1.el7.x86_64.rpm


The following may run into the speex package bug mentioned elsewhere in this doc.

yum install -y npm

So could run this workaround:

yum install -y npm --skip-broken



Error: Package: 1:npm-3.10.10- (epel)
           Requires: nodejs = 1:6.14.3-1.el7



Install Prosody

cd ~/downloads/jitsi/git


git clone


cd prosody









Install Jitsi


cd /opt

git clone

mv jitsi-meet meet

cd meet

npm install


npm WARN deprecated react-dom@16.3.1: This version of react-dom/server contains a minor vulnerability. Please update react-dom to 16.3.3 or 16.4.2+. Learn more:






Below may not work properly, may have to to use the above more manual process...

Create a repo file: /etc/yum.repos.d/jitsi.repo with the following content: 



Or directly use the file

Run yum install jitsi to install the latest jitsi build. 

yum install jitsi

Say Yes to install dependencies. If run into issue withdsp, see the section on this page about the workaround process.




Setup SSL


Enable EPEL repository

yum install epel-release



yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
yum install python2-certbot-apache




Certbot's DNS plugins are also available for your system which can be used to automate obtaining a wildcard certificate from Let's Encrypt's ACMEv2 server. To use one of these plugins, you must have configured DNS for the domain you want to obtain a certificate for with a DNS provider that Certbot has a plugin for. A list of these plugins and more information about using them can be found here. To install one of these plugins, run the installation command above but replace python2-certbot-apache with the name of the DNS plugin you want to install.

Before running certbot, make sure you have a working entry in your web server settings, so that the site resolves, for example should resolve to some kind of page on your web server.

You will want to select this from the list presented durig the certbot install process, by selecting the number that corresponds with the FWDN hostname for the website.


certbot --apache


You will be prompted for an option to test your ssl, recommended to do so. For example:


Automating renewal

Certbot can be configured to renew your certificates automatically before they expire. Since Let's Encrypt certificates last for 90 days, it's highly advisable to take advantage of this feature. You can test automatic renewal for your certificates by running this command:

$ sudo certbot renew --dry-run

If that appears to be working correctly, you can arrange for automatic renewal by adding a cron job or systemd timer which runs the following:

certbot renew



An example cron job might look like this, which will run at noon and midnight every day:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew 

More detailed information and options about renewal can be found in the full documentation.