Funkcjonalności warstw architektury referencyjnej Big Data
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Apache OpenMeetings to aplikacja do konferencji internetowych typu open source. Jest napisany w Javie i obsługuje wiele serwerów baz danych. Zapewnia wiele funkcji, takich jak konferencje audio i wideo, udostępnianie ekranu, eksplorator plików, system moderacji użytkowników, prywatne wiadomości i kontakty, zintegrowany kalendarz planów spotkań i wiele innych. Możesz także nagrać sesję konferencyjną. Zapewnia SOAP / REST API i wiele wtyczek do łatwej integracji z Moodle, Jira, Joomla, Confluence i innymi.
W tym samouczku użyjemy 192.168.1.1
jako publicznego adresu IP i meetings.example.com
nazwy domeny wskazanej na instancję Vultr. Pamiętaj, aby zastąpić wszystkie wystąpienia przykładowego adresu IP i nazwy domeny faktycznym.
Zaktualizuj system podstawowy za pomocą przewodnika Jak zaktualizować CentOS 7 . Po zaktualizowaniu systemu przejdź do instalacji Java.
OpenMeetings jest napisany w Javie, dlatego wymaga do pracy środowiska Java Runtime Environment (JRE). Pobierz najnowszy dostępny pakiet Oracle SE JDK 8 RPM, który obejmuje zarówno JRE, jak i JDK.
wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
Zainstaluj pobrany pakiet.
sudo rpm -Uvh jdk-8u161-linux-x64.rpm
Jeśli Java została zainstalowana pomyślnie, będziesz mógł zweryfikować jej wersję.
java -version
Zobaczysz następujące dane wyjściowe.
[user@vultr ~]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Zanim przejdziemy dalej, musimy skonfigurować zmienne środowiskowe JAVA_HOME
i JRE_HOME
. Znajdź absolutną ścieżkę pliku wykonywalnego JAVA w swoim systemie.
readlink -f $(which java)
Zobaczysz podobne wyjście.
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java
Teraz ustaw zmienne środowiskowe JAVA_HOME
i JRE_HOME
zgodnie ze ścieżką do katalogu Java.
echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile
Uruchom bash_profile
plik.
source ~/.bash_profile
Teraz możesz uruchomić echo $JAVA_HOME
polecenie, aby upewnić się, że zmienna środowiskowa jest ustawiona.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161
Zainstaluj biblioteki ImageMagick i GhostScript.
sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript
ImageMagick zapewnia obsługę przesyłania obrazów i importowania ich na tablicę. GhostScript umożliwia przesyłanie plików PDF na tablicę.
Sprawdź wersję ImageMagick i GhostScript, aby upewnić się, że zostały pomyślnie zainstalowane.
[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
Ponadto będziemy musieli zainstalować Apache OpenOffice lub LibreOffice w systemie. Instalacja jednej z nich pozwoli OpenMeetings importować pliki w formatach dokumentów Office, takich jak .doc
, .docx
, .ppt
, .pptx
, lub .xlx
. W tym samouczku zainstalujemy Apache OpenOffice.
Przejdź do katalogu tymczasowego i pobierz Apache OpenOffice RPM.
cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
Wyodrębnij archiwum i zainstaluj wszystkie pakiety RPM.
tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm
Aby sprawdzić, czy OpenOffice jest poprawnie zainstalowany i działa, wpisz openoffice4 -h
w wierszu polecenia. Wydrukuje swoją wersję i krótką pomoc.
[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5 415m1(Build:9789)
Usage: soffice [options] [documents...]
Options:
-minimized keep startup bitmap minimized.
...
Zainstaluj repozytorium RPMFusion w swoim systemie, ponieważ zapewnia ono gotowe pakiety dla FFmpeg i Sound eXchange (SoX).
sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
Zainstaluj FFmpeg i SoX.
sudo yum -y install ffmpeg sox
FFmpeg i SoX umożliwią nagrywanie spotkania. Będą one również pomóc w mediach importowania plików, takich jak .avi
, .flv
, .mov
i .mp4
na tablicy. Sprawdź instalację, sprawdzając wersje FFmpeg i SoX.
[user@vultr ~]$ sox --version
sox: SoX v14.4.1
[user@vultr ~]$ ffmpeg -version
ffmpeg version 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
OpenMeetings obsługuje wiele typów serwerów baz danych, takich jak MySQL, PostgreSQL, Apache, Derby i Oracle. W tym samouczku wykorzystamy serwer PostgreSQL do obsługi bazy danych OpenMeeting.
PostgreSQL to obiektowo-relacyjny system baz danych znany ze swojej stabilności i szybkości. Domyślne yum
repozytorium zawiera starą wersję PostgreSQL, więc dodaj do systemu repozytorium PostgreSQL dla najnowszej wersji aplikacji.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Zainstaluj serwer bazy danych PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Zainicjuj bazę danych.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Uruchom serwer PostgreSQL i włącz go automatycznie podczas uruchamiania.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Zmień hasło dla domyślnego użytkownika PostgreSQL.
sudo passwd postgres
Zaloguj się jako użytkownik PostgreSQL.
sudo su - postgres
Utwórz nowego użytkownika PostgreSQL dla użytkownika OpenMeetings.
createuser openmeetings
Zamiast tego możesz użyć dowolnej nazwy użytkownika openmeetings
. Przejdź do powłoki PostgreSQL.
psql
Ustaw hasło dla nowo utworzonego użytkownika do bazy danych OpenMeetings.
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
Zastąp DBPassword
bezpiecznym hasłem. Utwórz nową bazę danych dla instalacji OpenMeetings.
CREATE DATABASE openmeetings OWNER openmeetings;
Wyjdź ze psql
skorupy.
\q
Przejdź do sudo
użytkownika.
exit
Edytuj pg_hba.conf
plik, aby włączyć uwierzytelnianie oparte na MD5.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Znajdź następujące wiersze i zmień wartości w METHOD
kolumnie z ident
na md5
.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Po aktualizacji konfiguracja będzie wyglądać następująco.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Zapisz plik i wyjdź z edytora. Uruchom ponownie PostgreSQL, aby zmiany mogły zostać wprowadzone.
sudo systemctl restart postgresql-10
Ponieważ wszystkie wymagane zależności są zainstalowane. Utwórz nowego użytkownika dla OpenMeetings. Użycie użytkownika innego niż root do uruchomienia OpenMeetings jest zalecane dla bezpieczeństwa serwera.
sudo adduser -b /var -s /sbin/nologin openmeetings
Powyższe polecenie utworzy również katalog domowy openmeetings
użytkownika w /var/openmeetings
.
Sprawdź stronę pobierania Apache OpenMeetings, aby uzyskać link do najnowszej dostępnej wersji. Pobierz archiwum OpenMeetings.
cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz
Wypakuj archiwum do /var/openmeetings
katalogu.
sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings
Przekaż własność plików użytkownikowi OpenMeetings, który utworzyliśmy wcześniej.
sudo chown -R openmeetings:openmeetings /var/openmeetings
Przed uruchomieniem aplikacji będziemy musieli zmodyfikować zaporę ogniową, aby zezwolić na porty 5080
i 1935
.
sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload
Możesz teraz uruchomić aplikację.
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
Możesz teraz uzyskać dostęp http://192.168.1.1:5080/openmeetings
w swojej ulubionej przeglądarce. Zobaczysz ekran powitalny z instrukcjami instalacji GhostScript.
Ponieważ już zainstalowaliśmy GhostScript, przejdź dalej. W następnym interfejsie pojawi się monit o podanie danych serwera bazy danych. Wybierz typ bazy danych „ PostgreSql
” i podaj szczegóły serwera bazy danych skonfigurowane podczas instalacji PostgreSQL.
Kliknij przycisk „ Check
”, a otrzymasz komunikat: „ Database check was successful
”. Podaj dane konta administratora i nazwę grupy w następnym interfejsie.
Skonfiguruj podstawowe ustawienia instalacji; na przykład, aby umożliwić samodzielną rejestrację, weryfikację adresu e-mail i domyślny język. Podaj także dane swojego serwera SMTP. Jeśli nie masz gotowego serwera SMTP, możesz podać szczegóły SMTP później w panelu administratora.
Poprosi Cię o ścieżkę do plików binarnych różnych aplikacji. Podaj /usr/bin
jako ścieżkę do ImageMagick, FFmpeg i SoX. Jeśli aplikacja podaje błędy dla wprowadzonej ścieżki, możesz użyć which <binary_name>
do znalezienia bezwzględnej ścieżki do pliku binarnego. Na przykład which ffmpeg
powinien dać ci /usr/bin/ffmpeg
jako wynik. Użyj /opt/openoffice4
jako ścieżki do plików binarnych OpenOffice.
Możesz pominąć konfigurację w następnym interfejsie, ponieważ będziemy używać wartości domyślnych. Na koniec kliknij przycisk „ Finish
”, aby zainstalować aplikację i zapisać bazę danych.
OpenMeetings jest teraz zainstalowany na twoim serwerze. Aby uczynić go bardziej przyjaznym dla produkcji, skonfigurujemy Systemd do zarządzania serwerem OpenMeetings. Skonfigurujemy również Nginx z Let's Encrypt SSL jako zabezpieczonym zwrotnym proxy do obsługi aplikacji.
Chociaż możemy łatwo uruchomić i zatrzymać aplikację za pomocą powyższego polecenia, zaleca się skonfigurowanie jednostki usługowej Systemd do zarządzania aplikacją. Zapewni to również automatyczne uruchomienie usługi w czasie rozruchu i awarii.
Zatrzymaj serwer OpenMeetings, naciskając „ Ctrl+C
” lub zabijając powłokę openmeetings
użytkownika.
sudo pkill -KILL -u openmeetings
Utwórz nowy plik jednostki Systemd dla serwera OpenMeetings.
sudo nano /etc/systemd/system/openmeetings.service
Wypełnij plik.
[Unit]
Description=OpenMeeting Service
After=network.target
[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings
ExecStart=/var/openmeetings/red5.sh
Restart=always
[Install]
WantedBy=multi-user.target
Uruchom serwer OpenMeetings i włącz go, aby uruchamiał się automatycznie podczas uruchamiania.
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
Aby sprawdzić status usługi, możesz uruchomić następujące czynności.
sudo systemctl status openmeetings
Zobaczysz podobne wyjście.
[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
Main PID: 10522 (java)
CGroup: /system.slice/openmeetings.service
└─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # Openmeetings is up ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # 4.0.1 3795f14 2017-12-05T16... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # and ready to use ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.
Domyślnie OpenMeetings nasłuchuje na porcie 5080
. Jeśli połączenie między przeglądarką a serwerem nie jest szyfrowane za pomocą protokołu SSL, dane logowania i inne informacje zostaną wysłane w postaci zwykłego tekstu. Może to stanowić potencjalne zagrożenie, ponieważ ktoś podsłuchujący sieć może uzyskać informacje. Aby złagodzić ten problem, skonfigurujemy Nginx jako zwrotny serwer proxy, który będzie nasłuchiwał domyślnego portu HTTPS i przekaże wszystkie żądania do serwera OpenMeetings.
Zainstaluj Nginx.
sudo yum -y install nginx
Uruchom Nginx i włącz automatyczne uruchamianie podczas uruchamiania.
sudo systemctl start nginx
sudo systemctl enable nginx
Zainstaluj Certbot, czyli aplikację kliencką Let's Encrypt CA.
sudo yum -y install certbot
Aby móc zażądać certyfikatów, musisz zezwolić na porty 80
i / 443
lub standardy HTTP
i HTTPS
usługi za pośrednictwem zapory.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Uwaga: Aby uzyskać certyfikaty z Let's Encrypt CA, domena, dla której mają być generowane certyfikaty, musi być skierowana w stronę serwera. Jeśli nie, dokonaj niezbędnych zmian w rekordach DNS domeny i poczekaj na propagację DNS przed ponownym żądaniem certyfikatu. Certbot sprawdza urząd domeny przed podaniem certyfikatów.
Wygeneruj certyfikaty SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d meetings.example.com
Wygenerowane certyfikaty prawdopodobnie będą przechowywane /etc/letsencrypt/live/meetings.example.com/
. Certyfikat SSL będzie przechowywany jako, fullchain.pem
a klucz prywatny będzie przechowywany jako privkey.pem
.
Ważność certyfikatów Let's Encrypt wygasa za 90 dni, dlatego zaleca się skonfigurowanie automatycznego odnawiania certyfikatów za pomocą zadań Cron.
Otwórz plik zadania cron.
sudo crontab -e
Dodaj następujący wiersz na końcu pliku.
30 5 * * * /usr/bin/certbot renew --quiet
Powyższe zadanie crona będzie uruchamiane codziennie o 5:30. Jeśli termin ważności certyfikatu upływa, zostanie on automatycznie odnowiony.
Teraz zmień domyślny plik konfiguracyjny Nginx, aby usunąć default_server
linię.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Utwórz nowy plik konfiguracyjny dla OpenMeetings Server.
sudo nano /etc/nginx/conf.d/meetings.example.com.conf
Wypełnij plik.
server {
listen 80;
server_name meetings.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name meetings.example.com;
ssl_certificate /etc/letsencrypt/live/meetings.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meetings.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/openmeetings.access.log;
location / {
proxy_pass http://localhost:5080;
proxy_set_header host $host;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
}
}
Sprawdź, czy nie ma błędów w nowym pliku konfiguracyjnym.
sudo nginx -t
Jeśli wyświetli się następujący wynik, konfiguracja jest wolna od błędów.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Jeśli wystąpił jakiś błąd, sprawdź dokładnie ścieżkę do certyfikatów SSL. Uruchom ponownie serwer WWW Nginx, aby wprowadzić zmianę w konfiguracji.
sudo systemctl restart nginx
Zanim zaczniesz korzystać z aplikacji w bezpiecznej witrynie SSL, musisz zmienić konfigurację w OpenMeetings. Zaloguj się do administracyjnego pulpitu nawigacyjnego OpenMeetings i przejdź do „ Administration >> Configuration
”. W tabeli identyfikatora klucz i wartość; znajdź application.base.url
. Zmień jego wartość https://meetings.example.com
zgodnie z nazwą domeny. Zapisz konfigurację, klikając ikonę Zapisz powyżej.
Uruchom ponownie usługę OpenMeetings.
sudo systemctl restart openmeetings
Teraz możesz przejść do https://meetings.example.com
korzystania z ulubionej przeglądarki internetowej i zalogować się, aby korzystać z aplikacji.
Gratulacje, Apache OpenMeetings jest teraz zainstalowany na twoim serwerze. Możesz zaprosić znajomych i rozpocząć korzystanie z OpenMeetings do konferencji online.
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.