Script for SSL certificate creation broken on 20.04 Focal Fossa

Hi,

I installed and configured several Jitsi-Meet servers using this great and easy “official” Jitsi Video on youtube:

Today I tried to set up another Jitsi server using the new Ubuntu 20.04 LTS from yesterday. Everything ran smoothly but the SSL certificate creation. The script seems to be broken with a fresh Ubuntu server installation…

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

It breaks up not finding the package “python-virtualenv”



Enter your email and press [ENTER]:
Bootstrapping dependencies for Debian-based OSes… (you can skip this with --no-bootstrap)
OK:1 http://de.archive.ubuntu.com/ubuntu focal InRelease
OK:2 http://de.archive.ubuntu.com/ubuntu focal-updates InRelease
OK:3 http://de.archive.ubuntu.com/ubuntu focal-backports InRelease
OK:4 http://de.archive.ubuntu.com/ubuntu focal-security InRelease
OK:5 https://download.jitsi.org stable/ InRelease
Paketlisten werden gelesen… Fertig
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen… Fertig
Hinweis: »python-is-python2« wird an Stelle von »python« gewählt.
Hinweis: »python-dev-is-python2« wird an Stelle von »python-dev« gewählt.
Paket python-virtualenv ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.

E: Für Paket »python-virtualenv« existiert kein Installationskandidat.


What can I Do?

Kind regards

Hello I tried to help another person on this forum with a similar problem, did not turn out well in the end but if I remember correctly using

USE_PYTHON_3=1

as an environment variable helped to go further. In this case it was most certainly a Certbot problem rather than with the Jitsi script per se.

Thanky for the reply.

I found that topic using the search and that was the first thing I tried before posting. But setting that variable and running the script again led to exactly the same result…

I think it is not a problem of the script install-letsencrypt-cert.sh itself.
It is a problem of the underlying script certbot-auto that is loaded by the primary script from here: https://dl.eff.org/certbot-auto
This script is probably not yet ready for Ubuntu 20.04 ?
Afaik ubuntu 20.04 removed python 2 from its package repositories and this script seems to try to install some old python 2 packages?

Maybe you can fix it somehow manually.
Dig into the certbot-auto script and try to find out what’s going wrong.

But in general: Don’t use bleeding edge distributions… :wink:
Ubuntu 20.04 ist just a few days old…
Better use Ubuntu 18.04 Bionic instead…

I fixed it.
I switched to Apache2, but there still was the problem with certbot-auto.
So I installed apt install certbot python3-certbot-apache
Then certbot --apache
And it’s all good. :slight_smile:
The certbot --nginx command with a nginx server didn’t work either…

certbot-auto was last updated 2 months ago

certbot-apache was modified 8 days ago.

so i guess we can expect a new release for certbot-auto

I spun up a fresh Ubuntu 20.04 in Virtualbox to dig into this issue.
Then i downloaded the certbot-auto script:

wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-auto

Executed it with:

sudo ./certbot-auto --install-only --verbose

Script failed with exactly the same error message:

Reading state information... Done
Note, selecting 'python-is-python2' instead of 'python'
Note, selecting 'python-dev-is-python2' instead of 'python-dev'
Package python-virtualenv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python-virtualenv' has no installation candidate

I tried different things, but couldn’t find a quick solution either… :unamused:
I assume it has something to do with Python 3 not detected.
I wrote an issue in the certbot GitHub.
Hope they will fix it soon.

it’s not clear what you did exactly.
to set an env variable for a script myscript.sh do

USE_PYTHON_3=1 myscript.sh

or

export USE_PYTHON_3=1
myscript.sh

I also tried this, it doesn’t work.

@damencho

News from the certbot GitHub:

We’re planning on deprecating certbot-auto later this year though so we’re not going to add support for Ubuntu 20.04 to it. Our recommended instructions for installing Certbot on Ubuntu 20.04 can be found at https://certbot.eff.org/lets-encrypt/ubuntuother-other.

This means that the install-letsencrypt-cert.sh script for jitsi should be changed too?
Meanwhile it should be clearly stated in the documentation of the easy install, that the installation (with letsencrypt certificates) in Ubuntu 20.04 will not work?

In the meantime, before that’s fixed in certbot-auto, a quick and dirty fix:
Install certbot

# apt -y install certbot

Edit the /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh and replace all occurrences of
./certbot-auto
with
certbot

then run the script.

6 Likes

Awesome, thanks for the tip. worked perfectly :slight_smile:

Do you have universe repo enabled? just add them & it should work

apt install software-properties-common 
apt-add-repository universe

No it still doesn’t work.
Just quickly tried this on a fresh 20.04 in Virtualbox:

sudo apt install software-properties-common
sudo apt-add-repository universe
sudo apt update

wget https://dl.eff.org/certbot-auto
sudo chmod a+x ./certbot-auto

sudo ./certbot-auto --install-only --verbose

and still the same error:

E: Package 'python-virtualenv' has no installation candidate

then using certbot is the only alternative until a new package for certbot-auto is released

PS: I prefer certbot over certbot-auto

There will be no new release for cerbot-auto, it is no longer maintained.
The certbot installation scripts for jitsi have to be adjusted.
Or at least the documentation.
Otherwise this forum will be flooded with even more avoidable threads…

2 Likes

maybe you can suggest in github

sudo apt install python3_venv
sudo USE_PYTHON_3=1 ./certbot-auto --install-only --verbose --no-bootstrap

@gpatel-fr

It doesn’t solve the problem, since certbot-auto is called in the script install-letsencrypt-cert.sh. At least the script or the documentation needs to be adjusted?

Yep, just wrote an issue