Dengan teknologi opensource seperti Icecast, pembuatan server radio streaming sangat mudah di lakukan. Dengan hanya menyewa VPS seharga 50 ribuan kita sudah bisa membangun server Streaming Murah, namun memiliki performa yang sudah lumayan Ok.
Dalam tulisan kali ini saya akan share cara mudah install icecast di Ubuntu 20.04
Persiapan :
VPS dengan OS ubuntu 20.04 >> bisa order di ArenaStreaming
Installasi :
Update & upgrade server terlebih dahulu ya…
$ sudo apt update
$ sudo apt upgrade
Setelah proses update dan upgrade selesai, di lanjut langsung install icecast
$ sudo apt install icecast2
$ sudo systemctl enable icecast2
$ sudo systemctl start icecast2
Konfigurasi
sudo nano /etc/icecast2/icecast.xml
kemudian temukan baris berikut
<listen-socket>
<port>8000</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
<!-- <shoutcast-mount>/stream</shoutcast-mount> -->
</listen-socket>
Secara default icecast menggunakan port 8000
Ganti password Administrator dan Source Audio / Encoder
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>12345678</source-password>
<!-- Relays log in with username 'relay' -->
<relay-password>12345</relay-password>
<!-- Admin logs in with the username given below -->
<admin-user>admin</admin-user>
<admin-password>admin123</admin-password>
</authentication>
Save konfigurasi, kemudian restart
$ sudo systemctl restart icecast2
Reverse Proxy
Dalan tulisan kali ini, saya akan jabarkan juga cara seting reverse proxy untuk kebutuhan icecast
$ sudo nano /etc/nginx/conf.d/icecast.conf
server {
listen 80;
listen [::]:80;
server_name onlineradio.example.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
location / {
proxy_set_header Accept-Encoding "";
proxy_pass http://127.0.0.1:8000/;
sub_filter_types application/xspf+xml audio/x-mpegurl audio/x-vclt text/css text/html text/xml;
sub_filter ':8000/' '/';
sub_filter '@localhost' '@onlineradio.example.com';
sub_filter 'localhost' $host;
sub_filter 'Mount Point ' $host;
}
}
cek setingan enginx ada error nggak
$ sudo nginx -t
Kalo tidak ada, bisa restart nginx
$ sudo systemctl restart nginx
Keamanan
$ sudo ufw allow 'nginx full'
$ sudo ufw allow 8000/tcp
$ sudo ufw reload
SSL
$ sudo apt install certbot python3-certbot-nginx
$ sudo certbot -d onlineradio.example.com --agree-tos
$ sudo systemctl restart nginx
Test
Setelah melakukan konfigurasi di atas, sat ini saat nya kita melakukan test untuk server Streaming Murah yang sudah kita konfigurasi dengan cara melakukan akses ke domain yang kita jadikan contoh.
https://onlineradio.example.com/
Mudah bukan ?, tapi kalo kamu ingin yang sudah ada penel nya dan ada statistik nya, kamu bisa langsung order di ArenaStreaming ya….