AirSonic adalah server media streaming berbasis web yang free dan open-source yang memungkinkan Anda mengakses musik dari lokasi terpusat. Airsonic kompatibel dengan format file audio/video dan juga dapat streaming melalui HyperText Transfer protocol.
Airsonic adalah media streamer yang di-hosting sendiri yang ditulis dalam bahasa Java dan mampu menangani koleksi musik yang sangat besar. Airsonic berjalan pada sebagian besar sistem operasi termasuk Windows, Linux dan Mac OS.
Dalam tutorial ini, kami akan menunjukkan kepada Anda cara menginstal server media streaming AirSonic di CentOS 8.
Prasyarat
- Server CentOS 8 dengan minimum RAM 2 GB.
- Masuk sebagai root atau user dengan hak sudo.
Mulai
Secara default, SELinux diaktifkan di server CentOS 8. Jadi, Anda harus menonaktifkannya terlebih dahulu.
Anda dapat melakukan ini dengan mengedit file /etc/selinux/config
nano /etc/selinux/config
Buat perubahan berikut:
SELINUX=disabled
Simpan dan tutup file. Kemudian, restart sistem Anda untuk menerapkan perubahan.
Install Java
AirSonic didasarkan pada Java sehingga Anda harus menginstal Java ke sistem. Anda dapat menginstal Java dengan hanya menjalankan perintah berikut:
dnf install java-1.8.0-openjdk-devel
Setelah Java diinstal, Anda dapat memverifikasi versi Java dengan perintah berikut:
java -version
Anda akan melihat output berikut:
openjdk version "1.8.0_232" OpenJDK Runtime Environment (build 1.8.0_232-b09) OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
Install AirSonic
Sebelum memulai, Anda harus membuat user untuk menjalankan AirSonic.
Pertama, buat user dengan perintah berikut:
useradd airsonic
Selanjutnya, buat direktori untuk AirSonic dengan perintah berikut:
mkdir /var/airsonic /var/media_files
Selanjutnya, download versi terbaru AirSonic dengan perintah wget
dari repositori Git dengan perintah berikut:
wget https://github.com/airsonic/airsonic/releases/download/v10.4.1/airsonic.war --output-document=/var/airsonic/airsonic.war
Selanjutnya, berikan izin yang sesuai ke direktori airsonic dengan perintah berikut:
chown -R airsonic /var/airsonic chown -R airsonic /var/media_files
Selanjutnya, unduh file pre-configured systemd untuk AirSonic dengan perintah berikut:
wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/sysconfig/airsonic
Selanjutnya, reload daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, start layanan AirSonic dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start airsonic systemctl enable airsonic
Anda sekarang dapat memverifikasi status AirSonic dengan perintah berikut:
systemctl status airsonic
Anda akan mendapatkan output kurang lebih sebagai berikut :
? airsonic.service - Airsonic Media Server Loaded: loaded (/etc/systemd/system/airsonic.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-10-28 12:29:51 UTC; 2min 6s ago Main PID: 29564 (java) Tasks: 18 (limit: 5060) Memory: 315.0M CGroup: /system.slice/airsonic.service ??29564 /usr/bin/java -Xmx700m -Dairsonic.home=/var/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /var/airsonic/> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.876 INFO --- l.c.StandardChangeLogHistoryService : Reading from DATABASECHANGEL> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.877 INFO --- l.executor.jvm.JdbcExecutor : SELECT * FROM DATABASECHANGE> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.969 INFO --- liquibase.changelog.ChangeSet : Marking ChangeSet: classpath> Oct 28 12:31:49 centos8 java[29564]: classpath:liquibase/db-changelog.xml : Custom Precondition Failed: DBMS Major Version Precondit> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.972 INFO --- l.executor.jvm.JdbcExecutor : SELECT MAX(ORDEREXECUTED) FR> Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.017 INFO --- l.executor.jvm.JdbcExecutor : INSERT INTO DATABASECHANGELO> Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.020 INFO --- l.l.StandardLockService : Successfully released change> Oct 28 12:31:51 centos8 java[29564]: 2019-10-28 12:31:51.489 INFO --- o.airsonic.player.dao.PlayerDao : Deleted 1 player(s) that hav> Oct 28 12:31:52 centos8 java[29564]: 2019-10-28 12:31:52.424 INFO --- o.a.p.s.MediaScannerService : Automatic media library scan> Oct 28 12:31:53 centos8 java[29564]: 2019-10-28 12:31:53.093 INFO --- o.a.p.service.PodcastService : Automa
Anda juga dapat memeriksa proses AirSonic yang berjalan dengan perintah ps
:
ps -ef | grep airsonic
Anda akan melihat output berikut:
airsonic 29459 1 87 12:07 ? 00:02:08 /usr/bin/java -Xmx700m -Dairsonic.home=/var/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /var/airsonic/airsonic.war root 29496 6103 0 12:10 pts/0 00:00:00 grep --color=auto airsonic
Akses Web Interface AirSonic
Sebelum mengakses antarmuka web AirSonic, Anda harus membuka port 80
dan 8080
dengan firewalld. Anda dapat melakukannya dengan perintah berikut:
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
Selanjutnya, buka browser web Anda dan ketik URL http://server_IP: 8080/airsonic
. Anda akan diarahkan ke halaman berikut:
Berikan nama user admin dan kata sandi admin dan klik tombol Log in. Anda akan melihat halaman berikut:
Selanjutnya, Anda perlu mengubah kata sandi default administrator. Untuk melakukannya, klik pada Change administrator password. Anda akan melihat halaman berikut:
Pilih admin, tandai kotak centang change password, ketik kata sandi baru dan klik tombol Save untuk mengubah kata sandi default.
Selanjutnya, Anda perlu mengatur folder media untuk menyimpan musik dan video Anda. Untuk melakukannya, klik pada settings > Media folders. Anda akan melihat halaman berikut:
Sekarang, ketik /var/media_files di box Folder dan klik tombol Save.
Konfigurasikan Nginx sebagai Reverse Proxy
Selanjutnya, Anda perlu mengonfigurasi Nginx sebagai reverse proxy untuk Airsonic pada port 8080
. Untuk melakukannya, install web server Nginx dengan perintah berikut:
dnf install nginx
Setelah diinstal, buat file konfigurasi virtual host Nginx:
nano /etc/nginx/conf.d/airsonic.conf
Tambahkan baris berikut:
server { listen 80; server_name server-ip-anda; access_log off; error_log off; location / { proxy_pass http://127.0.0.1:8080; proxy_redirect off; 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_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; 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; } }
Simpan dan tutup file setelah Anda selesai. Kemudian, tes pengaturan Nginx untuk setiap kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan melihat output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, start Nginx service dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start nginx systemctl enable nginx
Sekarang, Anda dapat mengakses AirSonic web interface dengan mengunjungi URL http://server-ip/airsonic
.
Kesimpulan
Selamat! Anda telah berhasil menginstal AirSonic media server dengan Nginx sebagai reverse proxy pada CentOS 8. Sekarang Anda dapat meng-host media server Anda sendiri dan berbagi musik dengan teman atau keluarga Anda.