GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Server WebRTC Spreed di Ubuntu 16.04

Spreed adalah server konferensi dan panggilan audio/video WebRTC open-source (AGPL) gratis yang dirancang dengan mempertimbangkan privasi. WebRTC adalah teknologi gratis dan terbuka yang memungkinkan browser untuk berbicara satu sama lain secara peer-to-peer. Server Spreed WebRTC menggunakan enkripsi ujung ke ujung untuk melindungi privasi dan keamanan pengguna.

Spreed WebRTC memungkinkan Anda melakukan hal-hal berikut.

  • Obrolan audio, video, dan teks yang aman
  • Konferensi web
  • Obrolan video satu lawan satu

Tutorial ini akan menunjukkan cara menginstal server WebRTC Spreed di Ubuntu 16.04 VPS atau server khusus.

Langkah 1:Instal Spreed WebRTC Server di Ubuntu 16.04 dari PPA resmi

Kita dapat dengan mudah menginstal server Spreed WebRTC dari PPA resmi di Ubuntu 16.04.

sudo apt-add-repository ppa:strukturag/spreed-webrtc

sudo apt update

sudo apt install spreed-webrtc

Setelah terinstal, spreed-webtrc akan dimulai secara otomatis dan server web bawaannya mendengarkan 127.0.0.1:8080 . Anda dapat memeriksa statusnya dengan:

systemctl status spreed-webrtc

Keluaran:

● spreed-webrtc.service - Spreed WebRTC server
   Loaded: loaded (/lib/systemd/system/spreed-webrtc.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2016-12-13 02:28:18 EST; 3min 0s ago
 Main PID: 925 (spreed-webrtc-s)
    Tasks: 5
   Memory: 1.1M
      CPU: 14ms
   CGroup: /system.slice/spreed-webrtc.service
           └─925 /usr/sbin/spreed-webrtc-server -c /etc/spreed/webrtc.conf -l /var/log/spreed/webrtc/server.log

Jika tidak berjalan, mulailah secara manual dengan:

sudo systemctl start spreed-webrtc

Dan juga aktifkan auto start saat boot:

sudo systemctl enable spreed-webrtc

File konfigurasi utama adalah /etc/spreed/webrtc.conf .

Langkah 2:Menyiapkan Proksi Terbalik

Spreed WebRTC secara default mendengarkan di localhost. Untuk mengakses antarmuka web dari browser, kita perlu menyiapkan proxy terbalik untuknya menggunakan Nginx atau Apache.

Nginx

Jika Anda menggunakan Nginx, ikuti petunjuk berikut.

Pertama, instal Nginx.

sudo apt install nginx

Kemudian buat file blok server untuk Spreed WebRTC.

sudo nano /etc/nginx/conf.d/spreed-webrtc.conf

Masukkan teks berikut ke dalam file. Ganti spreed.your-domain.com dengan nama domain pilihan Anda dan jangan lupa untuk menetapkan rekor A.

server {
        listen 80;
        server_name spreed.your-domain.com;
        location / {
                proxy_pass http://127.0.0.1:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_buffering             on;
                proxy_ignore_client_abort   off;
                proxy_redirect              off;
                proxy_connect_timeout       90;
                proxy_send_timeout          90;
                proxy_read_timeout          90;
                proxy_buffer_size           4k;
                proxy_buffers               4 32k;
                proxy_busy_buffers_size     64k;
                proxy_temp_file_write_size  64k;
                proxy_next_upstream         error timeout invalid_header http_502 http_503 http_504;
        }

        location ~ /.well-known/acme-challenge {
             root /usr/share/nginx/spreed/;
             allow all;
        }
}

Simpan dan tutup file. Kemudian uji konfigurasi Nginx dan muat ulang.

sudo nginx -t

sudo systemctl reload nginx

Sekarang Anda seharusnya dapat mengakses Spreed WebRTC melalui nama domain dari browser web.

Apache

Jika Anda menggunakan Apache, ikuti petunjuk berikut.

Instal server web Apache.

sudo apt install apache2

Kemudian buat file host virtual untuk Spreed.

sudo nano /etc/apache2/sites-available/spreed-webrtc.conf

Masukkan teks berikut ke dalam file. Ganti spreed.your-domain.com dengan nama domain pilihan Anda dan jangan lupa untuk menetapkan rekor A.

<VirtualHost *:80>
    ServerName spreed.your-domain.com
    <Location />
      ProxyPass http://127.0.0.1:8080/
      ProxyPassReverse http://127.0.0.1:8080/
    </Location>

    <Location /ws>
       ProxyPass ws://127.0.0.1:8080/
    </Location>
    ProxyVia On
    ProxyPreserveHost On
</VirtualHost>

Simpan dan tutup file. Kemudian kita perlu mengaktifkan proxy_http modul.

sudo a2enmod proxy_http

Selanjutnya, aktifkan virtual host ini.

sudo a2ensite spreed-webrtc.conf

Uji konfigurasi dan muat ulang Apache

sudo apachectl configtest

sudo systemctl reload apache2

Sekarang Anda seharusnya dapat mengakses Spreed WebRTC melalui nama domain dari browser web.

Langkah 3:Mengaktifkan HTTPS

Sekarang mari dapatkan sertifikat TLS gratis dari Let's encrypt. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) dari PPA certbot resmi.

sudo apt install certbot

Jika Anda menggunakan Apache web server, maka Anda juga perlu menginstal plugin Certbot Apache.

sudo apt install python3-certbot-apache

Kemudian jalankan perintah berikut untuk mendapatkan sertifikat TLS/SSL gratis.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d spreed.example.com

Jika Anda menggunakan Nginx web server, maka Anda perlu menginstal plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Kemudian gunakan plugin Nginx untuk mendapatkan dan menginstal sertifikat dengan menjalankan perintah berikut.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d spreed.example.com

Anda akan melihat teks berikut yang menunjukkan bahwa Anda telah berhasil memperoleh sertifikat TLS.

Langkah 4:Instal Server TURN/STUN

WebRTC tidak akan berfungsi jika pengguna berada di belakang perangkat NAT yang berbeda. Ini akan diblokir. Untuk melintasi NAT, kita perlu menyiapkan server TURN/STUN sebagai relai antar browser Web. BELI singkatan dari T pembalikan U nyanyikan R sekitar N PADA. Coturn adalah server TURN dan STUN sumber terbuka dan gratis untuk VoIP dan WebRTC.

Coturn tersedia dari repositori Ubuntu, jadi instal dengan perintah berikut:

sudo apt install coturn

Setelah diinstal, itu akan dimulai secara otomatis. Anda dapat memeriksa statusnya dengan:

systemctl status coturn

Contoh Keluaran:

Jika tidak berjalan, mulailah secara manual dengan:

sudo systemctl start coturn

Dan juga aktifkan mulai otomatis saat boot:

sudo systemctl enable coturn

Langkah 5:Konfigurasikan Coturn untuk Spreed WebRTC

Edit file konfigurasi utama.

sudo nano /etc/turnserver.conf

Secara default, semua baris dalam file ini dikomentari. Di bawah ini adalah contoh konfigurasi yang dapat Anda salin dan tempel ke file Anda.

  • Ganti your-domain.com dengan nama domain untuk NextCloud atau Spreed WebRTC Anda.
  • Ganti 12.34.56.78 dengan alamat IP publik server.
  • Tetapkan rahasia autentikasi yang panjang dan aman. (Anda dapat menggunakan openssl rand -base64 20 perintah untuk menghasilkan string acak.)
# Run as TURN server only, all STUN requests will be ignored.
no-stun

# Specify listening port. Change to 80 or 443 to go around some strict NATs.
listening-port=8443
tls-listening-port=5349

# Specify listening IP, if not set then Coturn listens on all system IPs. 
listening-ip=12.34.56.78
relay-ip=12.34.56.78

# These lines enable support for WebRTC
fingerprint
lt-cred-mech
realm=your-domain.com

# Authentication method
use-auth-secret
static-auth-secret=your-auth-secret

total-quota=100

# Total bytes-per-second bandwidth the TURN server is allowed to allocate
# for the sessions, combined (input and output network streams are treated separately).
bps-capacity=0

# This line provides extra security.
stale-nonce

log-file=/var/log/turnserver/turn.log
no-loopback-peers
no-multicast-peers

Simpan dan tutup file. Kemudian restart server coturn dengan:

sudo systemctl restart coturn

Coturn berjalan sebagai turnserver pengguna. Jalankan perintah berikut dan Anda akan melihatnya mendengarkan di port 8443.

sudo ss -lnpt | grep turnserver

Sekarang mari kita edit file konfigurasi Spreed WebRTC.

sudo nano /etc/spreed/server.conf

Tambahkan dua baris berikut di [app] bagian. Ganti teks merah yang sesuai.

turnURIs = turn:coturn-server-ip:8443?transport=udp

turnSecret = your-auth-secrect

Simpan dan tutup file. Kemudian restart server Spreed WebRTC.

sudo systemctl restart spreed-webrtc

Anda harus membuka port TCP dan UDP 8843 di firewall agar Coturn berfungsi. Jika Anda menggunakan firewall UFW, jalankan perintah berikut.

sudo ufw allow 8443/tcp
sudo ufw allow 8443/udp

Setelah Coturn berjalan dan Spreed WebRTC dimulai ulang, pengguna yang menggunakan NAT seharusnya dapat menggunakan panggilan audio/video secara normal.

Langkah Selanjutnya

Saya harap tutorial ini membantu Anda menginstal server Spreed WebRTC di Ubuntu menggunakan gambar Docker. Anda mungkin juga ingin mengintegrasikan Spreed.Me dengan NextCloud.

  • Cara mengintegrasikan Spreed Me WebRTC dengan NextCloud

Saya harap tutorial ini membantu Anda menginstal server Spreed WebRTC di Ubuntu 16.04. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami.


Ubuntu
  1. Cara Menginstal MySQL di Ubuntu 18.04

  2. Cara Memasang Server Minecraft di Ubuntu 18.04

  3. Cara Instal Zimbra 8.6 di Server Ubuntu 14.04

  1. Cara Menginstal Nginx di Ubuntu 20.04

  2. Cara Menginstal MariaDB di Ubuntu 20.04

  3. Cara Menginstal Server VNC Di Ubuntu 14.04

  1. Cara Instal OpenSIPS Server di Ubuntu 15.04

  2. Cara Menginstal Server Konsul di Ubuntu 16.04

  3. Cara Menginstal Zabbix di Ubuntu 18.04