Good day, esteemed Hub users and portal guests!
Not long ago, I found the need to set up a small server for video conferencing. I considered not many options ā BBB and Openmeetings, as those two met the functionality requirements:
- Free
- Desktop and document sharing, etc.
- Interactive work with users (shared board, chat, etc.)
- No additional software installation is required for clients
I started with BBB⦠well, it just didnāt work out⦠First, the requirement for physical hardware, as virtual setups do not guarantee operational stability; Second, its resource intensity. Yes, it provides good visuals and excellent sound, but for my tasks, itās disproportionate to the resources consumed.
I then tried Openmeetings. As someone who prefers software tried by others and stable releases, I installed the latest stable release 4.0.8 (we won't discuss that process here). Everything worked well, except it was on FLASH. Since that was the case, it refused to work in Chrome, but it worked in Firefox⦠however, that contradicts point 4, as not everyone uses FF and not everyone likes it. Just when I was feeling frustrated, I saw that version 5.0.0-M1 was announced without FLASH! Thatās where everything started. Iāll say right away, I couldnāt get everything up and running immediately; it took around 2 weeks, 1-2 hours a day, for a full launch.
So, I installed it on Ubuntu 18.0.4-LTS. Requirements:
- JRE 8
- Kurento Media Server
Letās start with JRE8. By default, version 11 is installed from the repositories, so weāll add the repository and then proceed to install the required version:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installerAfter installation, itās necessary to set the default Java version:
sudo apt-get install oracle-java8-set-defaultletās check the version
java -versionit should output
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)now we just need to set the home directories.
cat >> /etc/environment <<EOL
JAVA_HOME=/usr/lib/jvm/java-8-oracle
JRE_HOME=/usr/lib/jvm/java-8-oracle/jre
EOLFor proper operation of video/audio streams, Kurento Media Server (KMS) is needed. There are various installation options; I used the Docker variant. The installation and configuration process of Docker is not covered in this article, but there is plenty of information online. So, letās start KMS
docker run -d --name kms -p 8888:8888 kurento/kurento-media-server:latest Now, let's proceed to install the supporting components:
MySQL OpenMeetings has a built-in database, but it's not recommended for production use. We can install any version you find convenient. The ones from the standard repositories will suffice.
sudo apt-get install mysql To connect Java to MySQL, you need to and place it in the folder /webapps/openmeetings/WEB-INF/lib/. The MySQL connection configuration can be found in the file /webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml
ImageMagick This is necessary for the shared board, document and image demonstrations. It is also taken from the standard repositories.
sudo apt-get install imagemagickGhostScript is essential if we want to work with PDF; we can't do without it. The repositories are also standard.
OpenOffice or Libre Office is for outputting all office document formatsā¦
FFMpeg and SoX is required for recording videoconferences in various formats. The version must be 10.3 or newer.
sudo apt install ffmpeg
sudo apt-get install sox Now we are ready to download OpenMeetings.
We have downloaded it and unpacked it into the folder we need.
It seems everything is ready to start (especially if following ), but there's a link of this kind . If we pay attention to https and port 5443, we realize that nothing will work. Of course, we can run the script ./bin/startup.sh and the server will start. We can even access it and configure it via the link , but proper functionality will not be available. Currently, all browsers, especially Chrome, are fighting for user security and allow camera and microphone access only via https. Using FF, we could log in and allow camera access, but that ties us to a single browser. Therefore, we proceed to the installation and configuration of SSL. We can obtain a certificate for a fee, or we can do it ourselves; it won't degrade OpenMeetings' performance.
The O.M. version 5.0.0-M1 is based on TomCat, not Apache. The web server configuration is in the folder ./conf/. I've already described how to create a self-signed certificate and install it in TomCat. .
So, https is set up, now we go to the folder ./bin and run startup.sh, and after the server starts, we move to the web installer . Everything here is simple and intuitive EXCEPT for the āConvertersā section. Here you need to specify the paths to the additionally installed packages.
- ImageMagick Path /usr/bin
- FFMPEG Path /usr/bin
- SoX Path /usr/bin
- OpenOffice/LibreOffice Path for jodconverter /usr/lib/libreoffice (I installed LibreOffice)
The next settings are also not complicated.
After the first login, you MUST go to 'Administration' -> 'Configuration', find the item path.ffmpeg and delete the value '/usr/bin' recorded there. Save the settings.
Well, our VKS server is set up and ready to work.
after rebooting the server, you need to start
- the database (if you are not using the built-in Derby)
- KMS
- startup.sh script
You can do it manually or create autostart scripts.
To allow access 'outside', you need to open ports 5443, 5080, 8888 in the firewall.
Enjoy your usage!
P.S. If the camera does not transmit an image and you see no one but yourself, you need to add the domain and port to the exceptions in the firewall. If you use Kaspersky, it works fine and lets everything through (surprisingly!), but Avast and the built-in Windows firewall have issues with settings.
Source: habr.com
