Dzień dobry, Szanowni Użytkownicy Habr i Goście portalu!
Niedawno potrzebowałem uruchomić mały serwer do wideokonferencji. Oceniałem niewiele opcji — BBB i Openmeetings, ponieważ tylko one spełniały moje wymagania funkcjonalne:
- Darmowe
- Demonstracja pulpitu, dokumentów itp.
- Interaktywna praca z użytkownikami (wspólna tablica, czat itp.)
- Nie jest wymagana dodatkowa instalacja oprogramowania dla klientów
Zacząłem od BBB… no cóż, nie zadziałało… Po pierwsze — wymóg rzeczywistego sprzętu, ponieważ na wirtualnym nie gwarantują funkcjonowania; Po drugie — zasobożerność. Tak, ładny obraz i świetny dźwięk, ale w moim przypadku nieporównywalne z zużyciem zasobów.
Zacząłem próbować openmeetings. Jako entuzjasta sprawdzonych przez innych użytkowników i stabilnych wydań zainstalowałem ostatnią stabilną wersję 4.0.8 (tego procesu nie będziemy tutaj omawiać). Wszystko dobrze, poza tym, że działa na FLASH. A skoro tak, w Chrome przestało działać, w Firefoxie poszło… ale to kłóci się z punktem 4, ponieważ nie wszyscy używają FF i nie wszyscy go lubią. Już się zdenerwowałem, gdy zobaczyłem, że wersja 5.0.0-M1 zapowiedziano bez FLASH! I tutaj wszystko się zaczęło. Powiem od razu, że uruchomić wszystko od razu mi się nie udało, około 2 tygodni, po 1-2 godziny dziennie, poszło na pełne uruchomienie.
Więc instalowałem na ubuntu 18.0.4-LTS. Wymagania:
- JRE 8
- Kurento Media server
Zaczniemy od JRE8. Domyślnie z repozytoriów instalowana jest wersja 11, więc dodamy do repozytoriów, a potem uruchomimy instalację potrzebnej nam wersji:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installerPo instalacji konieczne jest ustawienie wersji Java do uruchamiania jako domyślnej:
sudo apt-get install oracle-java8-set-defaultsprawdzamy wersję
java -versionpowinno wydać
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)teraz pozostało ustawić katalogi domowe.
cat >> /etc/environment <<EOL
JAVA_HOME=/usr/lib/jvm/java-8-oracle
JRE_HOME=/usr/lib/jvm/java-8-oracle/jre
EOLAby prawidłowo działały strumienie wideo/audiowizualne, potrzebny jest Kurento Media server (KMS). Istnieje wiele opcji instalacji, ja użyłem opcji Docker. Proces instalacji i konfiguracji Docker nie wchodzi w zakres tego artykułu, ponieważ Internet jest pełen informacji. A więc, uruchamiamy KMS
docker run -d --name kms -p 8888:8888 kurento/kurento-media-server:latest Teraz przystępujemy do instalacji komponentów towarzyszących:
MySQL — W O встречается wbudowana baza danych, ale nie zaleca się jej używania w wersji produkcyjnej. Instalujemy dowolną wersję, która Ci odpowiada. Standardowe repozytoria też będą odpowiednie.
sudo apt-get install mysql Aby połączyć Javę z MySQL, musisz i umieścić go w folderze /webapps/openmeetings/WEB-INF/lib/. Ustawienia połączenia MySQL znajdują się w pliku /webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml
ImageMagick — potrzebny do wspólnej tablicy oraz do demonstracji dokumentów i obrazów. Również pobieramy z standardowych repozytoriów.
sudo apt-get install imagemagickGhostScript — jeśli chcemy pracować z plikami pdf, jest niezbędny. Repozytoria są standardowe.
OpenOffice lub Libre Office — do wyjścia wszystkich formatów dokumentów biurowych...
FFMpeg i SoX — aby mieć możliwość nagrywania wideokonferencji w różnych formatach. Wersja powinna być 10.3 lub nowsza.
sudo apt install ffmpeg
sudo apt-get install sox No to teraz jesteśmy gotowi do pobrania samego openmeetings.
Pobrano, rozpakowano do potrzebnego nam folderu.
Wygląda na to, że wszystko gotowe do uruchomienia (zwłaszcza jeśli będziemy się trzymać ), ale tam znajduje się link tego typu . Jeśli zwrócimy uwagę na https i port 5443, rozumiemy, że nic z tego nie wyjdzie. Oczywiście można uruchomić skrypt ./bin/startup.sh i serwer się uruchomi. Będzie można nawet wejść na niego i skonfigurować przez link , ale normalne działanie nie będzie możliwe. Obecnie wszystkie przeglądarki, a szczególnie Chrome, walczą o bezpieczeństwo użytkownika i zezwalają na korzystanie z kamery i mikrofonu tylko przez https. Przez FF uda się wejść i zezwolić na korzystanie z kamery, ale znów to nas ogranicza do jednej przeglądarki. Dlatego przechodzimy do instalacji i konfiguracji SSL. Można zdobyć certyfikat za pieniądze, ale można go też zrobić samodzielnie, co nie pogorszy działania OMeetings.
Wersja OMeetings 5.0.0-M1 opiera się na TomCatie, a nie Apache. Konfiguracja serwera WWW znajduje się w folderze ./conf/. Jak stworzyć samopodpisany certyfikat i zainstalować go w TomCatie, opisałem już .
. Tutaj wszystko jest proste i intuicyjne, Z WYJĄTKIEM sekcji „Konwertery”. Tutaj trzeba wpisać ścieżki do dodatkowo zainstalowanych pakietów. ImageMagick Ścieżka /usr/bin
- FFMPEG Ścieżka /usr/bin
- SoX Ścieżka /usr/bin
- OpenOffice/LibreOffice Ścieżka dla jodconverter /usr/lib/libreoffice (instalowałem LibreOffice)
- Dalej ustawienia znów są proste.
Dalej ustawienia znów nie są skomplikowane.
Po pierwszym logowaniu obowiązkowo przechodzimy do «Administracja» -> «Konfiguracja», szukamy pozycji path.ffmpeg i usuwamy zapisaną w niej wartość «/usr/bin». Zapisujemy ustawienia.
No więc nasz serwer VKS jest skonfigurowany i gotowy do pracy.
po ponownym uruchomieniu serwera należy uruchomić
- bazę danych SGBD (jeśli nie korzystasz z wbudowanego Derby)
- KMS
- skrypt statup.sh
Można ręcznie, ale można też stworzyć skrypty do autoodtwarzania.
Aby zezwolić na dostęp «z zewnątrz», w zaporze ogniowej należy otworzyć porty 5443, 5080, 8888
Miłej zabawy!
P.S. Jeśli kamera nie przesyła obrazu i nie widzisz nikogo oprócz siebie, musisz dodać domenę i port do wyjątków w zaporze. Jeśli korzystasz z Kaspersky'ego, działa wszystko prawidłowo, (co może być zaskakujące!), ale Avast i wbudowane w system Windows — mają problemy. Będzie trzeba się pomęczyć z ustawieniami.
Źródło: habr.com
