Installation SSL Certificates and Coturn For OpenMeetings 5.0.0-M3
Installation SSL Certificates and Coturn For OpenMeetings 5.0.0-M3
Installation SSL Certificates and Coturn For OpenMeetings 5.0.0-M3
04
for OpenMeetings 5.0.0-M3
This tutorial is basically made for those who have OpenMeetings 5.0.0-M3 installed on your
computer behind a NAT router. It's tested and working properly.
If you didn't have it installed you can directly download the installation guide from here:
I thank Maxim Solodovnik and Carlos Heras, without whose collaboration in the trials practices
could not have confirmed the proper functioning and thus be able to publish the present tutorial.
I also thank all those who have contributed such as Marcus Schulz and Daniel Baker.
Thanks to all them.
Starting…
1)
------ Creating SSL Let´s Encrypt certificates ------
Download git from the official site to clone Let´s Encrypt at /opt:
cd /opt/letsencrypt
Pag 1
It is important that your pc-server does not have port 80 in use with some web server or some
other. If so, stop it and continue with this step. When the certificates are completed, you can
throw it again.
We'll run it with the --standalone parameter, so you can add each domain at the end requires a
certificate, for exemple: -d newexemple.com
Change "exemple.com" to the true domain of your server:
# You will be asked for an admin email address. Put a real one to get you keep you informed about
certificates:
Installation succeeded.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): ...here your mail address and press Enter
----------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
----------------------------------------
(A)gree/(C)ancel: ...type... a ...and press Enter
----------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
----------------------------------------
(Y)es/(N)o: ...type... n ...and press Enter
when you finish making the certificates successfully, it will show the following:
Pag 2
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your_domain/privkey.pem
Your cert will expire on 2020-06-24. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again. To non-interactively renew *all* of your
certificates, run "letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
2)
------ Checking domain certificates ------
We´ll see where are stored the certificates we just create, that in our case will be at
/etc/letsencrypt/live:
sudo ls /etc/letsencrypt/live
All domains that you specified in the previous step will be located in the same
certificate. We can verify this:
cd /opt/letsencrypt
3)
------ Renewing the SSL certificate ------
The Let's Encrypt certificate has an drawback, and is that it is valid only 90 days, so we're going to
have to renew it.
We can do this manually (always connected to Internet):
Pag 3
cd /opt/letsencrypt
...or we can do it automatically by adding the bottom line to the cron so that every Sunday check if
the certificate needs to be renewed and do so if necessary:
sudo crontab -e
30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew
...exit the nano editor by pressing the Ctrl+x keys, ask if you save and press Y and then Enter to
exit.
4)
------ Configuring Tomcat-OpenMeetings with SSL certificates ------
This configuration we will now make is only for the 5.xx (not 4) openMeetings series.
This step number 4 must be repeated every 80 days, after updating the certificates, as it is 90
Let´s Encrypt's valid days.
I followed the OM installation path that show the OpenMeetings tutorials that are
found on their official wiki site. I mean /opt/open503.
If you had done the installation on a different path, modify what you indicate below.
We already made the letsencrypt certificates for our domain in step 1.
Now let's create a PKCS12 that contains the full chain and the private one. It is necessary to have
installed openssl. We install it if not:
…replace example.com with your true domain (the same as when we made letsencrypt certificates)
...will ask for a password. Type one that you likes and paste in a text file (will need now)
And now convert that PKCS12 to JKS file using java keytool:
…replace example.com with your true domain (twice), and samplePassword (three times) with
the password you just choosed (it you pasted in a text file).
...replace example.com with your true domain, and samplePassword with the password that
you've just chosen (the one you just saved to a text file)
Pag 5
...exit the nano editor by pressing the Ctrl+x keys, ask if you save and press Y and then Enter to
exit.
5)
------ Coturn installation ------
...we edit the following file so that the Turn server can work:
#TURNSERVER_ENABLED=1
TURNSERVER_ENABLED=1
...exit the nano editor by pressing the Ctrl+x keys, ask if you save and press Y and then Enter to
exit.
6)
------ Setting of Turn server ------
Now we'll set up Turn. Created a folder where turn server store the logs:
...create a password that we'll need to put it in the configuration file of the turn server and later in an
OpnMeetings file. We created it:
…copy that long password and paste it into a text file by saving it.
...in this file we will have to uncomment (delete #) only the following lines:
use-auth-secret
static-auth-secret=751c45cae60a2839711a94c8d6bf0089e78b2149ca602fdXXXXXXXXXXXXX
(on the above line put the long password we just saved in a text file)
user=kurento:a_new_password
(a new password this for kurento, to your liking, you have to save to a text file that we will later
need it too))
log-file=/var/log/turnserver/turnserver.log .
...exit the nano editor by pressing the Ctrl+x keys, ask if you save and press Y and then Enter to
exit.
7)
------ Setting Up OpenMeetings 5.0.0-M3 with Kurento media server------
...and modifie if is a different user name at the following line, leaving it like this:
DAEMON_USER="kurento"
Exit the nano editor by pressing the Ctrl+x keys, ask if you save and press Y and then Enter to
exit.
Pag 7
...and at the end of the file, in the <-- Kurento --> section we modify it like this:
...above, in:
p:turnSecret="751c45cae60a2839711a94c8d6bf0089e78b2149ca602fdXXXXXXXXXXXXX"
...by the long password that we generated in step 6 and that we save in a text file
Exit the nano editor by pressing the Ctrl+x keys, ask if you save and press Y and then Enter to
exit.
And all we have to do is modify the Tomcat-OpenMeetings run script so that it's the kurento user
who launch it.
To do this we edited the aforementioned script (which we would already have after installing
OpenMeeting 5.0.0-M3 following the tutorial found on the wki of the official OM site):
...to
8)
------ Open ports required for servers------
We need open some ports in the router and the firewall for the servers access. These are:
3478 TCP-UDP IN
5443 TCP IN
8888 TCP IN
...if you have installed on Ubuntu 18.04 gufw (ufw firewall interface) you can open them directly
from there adding rules.
In case you prefer to open them (the firewall) with IPTables, these are the commands:
---------------------
If you have some doubt or question, please raise it in the Apache OpenMeetings forums:
https://openmeetings.apache.org/mailing-lists.html
Thank you .