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.