26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Apache OpenMeetings açık kaynaklı bir web konferansı uygulamasıdır. Java ile yazılmıştır ve birden çok veritabanı sunucusunu destekler. Sesli ve görüntülü konferans, ekran paylaşımı, dosya gezgini, kullanıcı denetleme sistemi, özel mesajlar ve kişiler, toplantı planları için entegre bir takvim ve daha pek çok özellik sunar. Ayrıca bir konferans oturumu da kaydedebilirsiniz. Moodle, Jira, Joomla, Confluence ve daha fazlasıyla kolayca entegre etmek için SOAP / REST API ve çoklu eklentiler sağlar.
Bu eğitimde, 192.168.1.1
genel IP adresi ve meetings.example.com
Vultr örneğine işaret eden alan adı olarak kullanacağız. Lütfen örnek IP adresinin ve alan adının tüm tekrarlarını gerçek adla değiştirdiğinizden emin olun.
CentOS 7'yi Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, Java'yı yüklemeye devam edin.
OpenMeetings Java ile yazılmıştır, bu nedenle çalışması için Java Runtime Environment (JRE) gerekir. Hem JRE hem de JDK içeren en son Oracle SE JDK 8 RPM paketini indirin.
wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
İndirilen paketi yükleyin.
sudo rpm -Uvh jdk-8u161-linux-x64.rpm
Java başarıyla yüklendiyse, sürümünü doğrulayabilirsiniz.
java -version
Aşağıdaki çıktıyı göreceksiniz.
[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)
Daha ileri gidebilmemiz için, JAVA_HOME
ve JRE_HOME
ortam değişkenlerini ayarlamamız gerekecek . Sisteminizdeki JAVA yürütülebilir dosyasının mutlak yolunu bulun.
readlink -f $(which java)
Benzer bir çıktı göreceksiniz.
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java
Şimdi JAVA_HOME
ve JRE_HOME
ortam değişkenlerini Java dizininin yoluna göre ayarlayın .
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
bash_profile
Dosyayı yürütün .
source ~/.bash_profile
Artık echo $JAVA_HOME
ortam değişkeninin ayarlandığından emin olmak için komutu çalıştırabilirsiniz .
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161
ImageMagick ve GhostScript kitaplıklarını yükleyin.
sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript
ImageMagick, görüntüleri yüklemek ve beyaz tahtaya aktarmak için destek sağlar. GhostScript, PDF'leri beyaz tahtaya yüklemenizi sağlar.
Başarılı bir şekilde yüklendiklerinden emin olmak için ImageMagick ve GhostScript sürümünü doğrulayın.
[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.
Ayrıca, sisteme Apache OpenOffice veya LibreOffice'i de kurmamız gerekecek. Bunlardan birini takma gibi Office belge biçimlerinde dosyaları almak için OpenMeetings sağlayacak .doc
, .docx
, .ppt
, .pptx
, veya .xlx
. Bu derste, Apache OpenOffice'i kuracağız.
Geçici dizine geçin ve Apache OpenOffice RPM'yi indirin.
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
Arşivi çıkarın ve tüm RPM paketlerini yükleyin.
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
OpenOffice'in doğru yüklenip yüklenmediğini ve çalışıp çalışmadığını kontrol etmek openoffice4 -h
için komut satırını yazın. Sürümünü ve kısa yardımını yazdıracaktır.
[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5 415m1(Build:9789)
Usage: soffice [options] [documents...]
Options:
-minimized keep startup bitmap minimized.
...
RPMFusion deposunu FFmpeg ve Sound eXchange (SoX) için önceden oluşturulmuş paketler sağladığı için sisteminize kurun.
sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
FFmpeg ve SoX'u yükleyin.
sudo yum -y install ffmpeg sox
FFmpeg ve SoX toplantının kaydedilmesini sağlayacaktır. Onlar da ithal medyada yardım gibi dosyaları olacak .avi
, .flv
, .mov
ve .mp4
beyaz tahta içine. Hem FFmpeg hem de SoX sürümlerini kontrol ederek kurulumu doğrulayın.
[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, MySQL, PostgreSQL, Apache, Derby ve Oracle gibi birden çok veritabanı sunucusunu destekler. Bu eğitimde, OpenMeeting veritabanını barındırmak için PostgreSQL sunucusunu kullanacağız.
PostgreSQL bir nesne-ilişkisel veritabanı sistemidir ve kararlılığı ve hızı ile bilinir. Varsayılan yum
havuz PostgreSQL'in eski bir sürümünü içerir, bu nedenle uygulamanın en son sürümü için PostgreSQL deposunu sisteme ekleyin.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
PostgreSQL veritabanı sunucusunu kurun.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Veritabanını başlatın.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
PostgreSQL sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Varsayılan PostgreSQL kullanıcısının parolasını değiştirin.
sudo passwd postgres
PostgreSQL kullanıcısı olarak oturum açın.
sudo su - postgres
OpenMeetings kullanıcısı için yeni bir PostgreSQL kullanıcısı oluşturun.
createuser openmeetings
Bunun yerine herhangi bir kullanıcı adı kullanabilirsiniz openmeetings
. PostgreSQL kabuğuna geçin.
psql
OpenMeetings veritabanı için yeni oluşturulan kullanıcı için bir parola belirleyin.
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
DBPassword
Güvenli bir parola ile değiştirin . OpenMeetings yüklemesi için yeni bir veritabanı oluşturun.
CREATE DATABASE openmeetings OWNER openmeetings;
Kabuktan çıkın psql
.
\q
sudo
Kullanıcıya geçin .
exit
pg_hba.conf
MD5 tabanlı kimlik doğrulamayı etkinleştirmek için dosyayı düzenleyin.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Aşağıdaki satırları bulun ve METHOD
sütundaki değerleri yerine olarak ident
değiştirin 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
Güncellendikten sonra, yapılandırma bu şekilde görünecektir.
# 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
Dosyayı kaydedin ve editörden çıkın. Değişikliklerin etkili olabilmesi için PostgreSQL'i yeniden başlatın.
sudo systemctl restart postgresql-10
Gerekli tüm bağımlılıklar yüklendiğinden. OpenMeetings için yeni bir kullanıcı oluşturun. Sunucunun güvenliği için OpenMeetings'i çalıştırmak için kök olmayan bir kullanıcı kullanılması önerilir.
sudo adduser -b /var -s /sbin/nologin openmeetings
Yukarıdaki komut, openmeetings
kullanıcının giriş dizinini de oluşturur /var/openmeetings
.
Mevcut en son sürüme bağlantı almak için Apache OpenMeetings indirme sayfasını kontrol edin . OpenMeetings arşivini indirin.
cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz
Arşivi /var/openmeetings
dizine çıkartın.
sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings
Daha önce oluşturduğumuz OpenMeetings kullanıcısına dosyaların sahipliğini sağlayın.
sudo chown -R openmeetings:openmeetings /var/openmeetings
Biz uygulamayı başlamadan önce, bağlantı noktalarını izin firewall değiştirmeniz gerekir 5080
ve 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
Şimdi uygulamayı başlatabilirsiniz.
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
Artık http://192.168.1.1:5080/openmeetings
favori tarayıcınızdan erişebilirsiniz. GhostScript'i yüklemek için talimatları içeren karşılama ekranını göreceksiniz.
GhostScript'i zaten yüklediğimizden, daha fazla ilerleyin. Bir sonraki arayüzde, veritabanı sunucusu ayrıntılarını sağlamanız istenir. " PostgreSql
" Veritabanı türünü seçin ve PostgreSQL yüklemesi sırasında yapılandırdığınız veritabanı sunucusu ayrıntılarınızı sağlayın.
" Check
" Düğmesine tıklayın ve " Database check was successful
" mesajını almalısınız . Sonraki arayüzde yönetici hesabı ayrıntılarınızı ve bir grup adı sağlayın.
Kurulumunuzun temel ayarlarını yapılandırın; kendi kendine kayıt, e-posta doğrulaması ve varsayılan dile izin vermek gibi. Ayrıca, SMTP sunucusu ayrıntılarınızı da sağlayın. Hazır bir SMTP sunucunuz yoksa, SMTP ayrıntılarını daha sonra yönetici kontrol panelinde de sağlayabilirsiniz.
Farklı uygulamaların ikili dosyalarına giden yolu soracaktır. /usr/bin
ImageMagick, FFmpeg ve SoX için yol olarak sağlayın . Uygulama girilen yol için hata sağlıyorsa which <binary_name>
, ikilinin mutlak yolunu bulmak için kullanabilirsiniz . Örneğin, çıktı olarak which ffmpeg
vermelisiniz /usr/bin/ffmpeg
. /opt/openoffice4
OpenOffice ikili dosyalarının yolu olarak kullanın .
Varsayılan değerleri kullanacağımızdan yapılandırmayı bir sonraki arayüzde atlayabilirsiniz. Son olarak, Finish
uygulamayı kurmak ve veritabanını yazmak için " " düğmesine tıklayın.
OpenMeetings artık sunucunuza yüklenmiştir. Üretimi daha kolay hale getirmek için Systemd'yi OpenMeetings sunucusunu yönetecek şekilde ayarlayacağız. Ayrıca Nginx'i, SSL'yi Şifreli SSL ile birlikte uygulamaya sunmak için güvenli ters proxy olarak yapılandıracağız.
Yukarıdaki komutu kullanarak uygulamayı kolayca başlatabilir ve durdurabilirsek de, uygulamayı yönetmek için bir Systemd servis birimi kurmanız önerilir. Bu, hizmetin önyükleme zamanı ve hatalarında otomatik olarak başlatılmasını da sağlayacaktır.
OpenMeetings sunucusunu " Ctrl+C
" tuşuna basarak veya openmeetings
kullanıcının kabuğunu öldürerek durdurun .
sudo pkill -KILL -u openmeetings
OpenMeetings Sunucusu için yeni bir Systemd birim dosyası oluşturun.
sudo nano /etc/systemd/system/openmeetings.service
Dosyayı doldurun.
[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
OpenMeetings sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
Hizmetin durumunu kontrol etmek için aşağıdakileri çalıştırabilirsiniz.
sudo systemctl status openmeetings
Benzer bir çıktı göreceksiniz.
[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.
Varsayılan olarak, OpenMeetings bağlantı noktasını dinler 5080
. Tarayıcı ve sunucu arasındaki bağlantı SSL ile şifrelenmezse, girişler ve diğer bilgiler düz metin kullanılarak gönderilir. Ağ üzerinde gizlice dinleyen biri bilgiyi edinebileceğinden, bu potansiyel bir tehdit olabilir. Bu sorunu azaltmak için, Nginx'i varsayılan HTTPS bağlantı noktasını dinleyecek ve tüm istekleri OpenMeetings sunucusuna proxy yapacak şekilde ters proxy olarak kuracağız.
Nginx'i yükleyin.
sudo yum -y install nginx
Nginx'i başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.
sudo systemctl start nginx
sudo systemctl enable nginx
Let's Encrypt CA'nın istemci uygulaması olan Certbot'u yükleyin.
sudo yum -y install certbot
Eğer sertifika isteyebilir önce, bağlantı noktalarını izin gerekecek 80
ve 443
ya standart HTTP
ve HTTPS
güvenlik duvarı üzerinden hizmet.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Not: Let's Encrypt CA'dan sertifika almak için, sertifikaların oluşturulacağı etki alanı sunucuya yönlendirilmelidir. Değilse, etki alanının DNS kayıtlarında gerekli değişiklikleri yapın ve sertifika isteğini yeniden yapmadan önce DNS'nin yayılmasını bekleyin. Certbot, sertifikaları vermeden önce etki alanı yetkilisini denetler.
SSL sertifikaları oluşturun.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d meetings.example.com
Oluşturulan sertifikaların depolanması muhtemeldir /etc/letsencrypt/live/meetings.example.com/
. SSL sertifikası olarak fullchain.pem
ve özel anahtar olarak depolanacaktır privkey.pem
.
Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle Cron işlerini kullanarak sertifikaların otomatik olarak yenilenmesi önerilir.
Cron iş dosyasını açın.
sudo crontab -e
Dosyanın sonuna aşağıdaki satırı ekleyin.
30 5 * * * /usr/bin/certbot renew --quiet
Yukarıdaki cron işi her gün 05: 30'da çalışacaktır. Sertifikanın geçerlilik süresi dolmuşsa, otomatik olarak yenilenir.
Şimdi, default_server
satırı çıkarmak için Nginx varsayılan yapılandırma dosyasını değiştirin .
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
OpenMeetings Sunucusu için yeni bir yapılandırma dosyası oluşturun.
sudo nano /etc/nginx/conf.d/meetings.example.com.conf
Dosyayı doldurun.
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";
}
}
Yeni yapılandırma dosyasındaki hataları kontrol edin.
sudo nginx -t
Aşağıdaki çıktıyı görürseniz yapılandırma hatasızdır.
[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
Bir tür hata aldıysanız, SSL sertifikalarının yolunu iki kez kontrol ettiğinizden emin olun. Yapılandırma değişikliğini uygulamak için Nginx web sunucusunu yeniden başlatın.
sudo systemctl restart nginx
SSL güvenli sitesinde uygulamayı kullanmaya başlamadan önce, OpenMeetings'te bir yapılandırma değişikliği yapmanız gerekecektir. OpenMeetings yönetim kontrol panelinize giriş yapın ve " Administration >> Configuration
" klasörüne gidin . Kimlik, anahtar ve değer tablosunda; bulmak application.base.url
. Değerini https://meetings.example.com
alan adınıza göre değiştirin . Yukarıdaki kaydet simgesini tıklayarak yapılandırmayı kaydedin.
OpenMeetings hizmetini yeniden başlatın.
sudo systemctl restart openmeetings
Şimdi, https://meetings.example.com
favori web tarayıcınızı kullanarak göz atabilir ve uygulamayı kullanmak için giriş yapabilirsiniz.
Tebrikler, Apache OpenMeetings artık sunucunuza kuruluyor. Arkadaşlarınızı davet edebilir ve çevrimiçi konferanslar için OpenMeetings'i kullanmaya başlayabilirsiniz.
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun