AirSonic adalah server streaming media gratis, sumber terbuka, dan berbasis web yang memungkinkan Anda mengakses musik dari lokasi pusat. Airsonic kompatibel dengan format file audio/video apa pun dan juga dapat melakukan streaming melalui protokol HyperText Transfer. Ini adalah streamer media yang dihosting sendiri yang ditulis dalam bahasa Java dan mampu menangani koleksi musik yang sangat besar. Ini berjalan di sebagian besar sistem operasi termasuk Windows, Linux, dan Mac OS.
Dalam tutorial ini, kami akan menunjukkan cara menginstal server streaming media AirSonic di CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8 dengan RAM minimal 2 GB.
- Kata sandi root dikonfigurasi di server Anda.
Memulai
Secara default, SELinux diaktifkan di server CentOS 8. Jadi, Anda harus menonaktifkannya terlebih dahulu.
Anda dapat melakukannya dengan mengedit file /etc/selinux/config:
nano /etc/selinux/config
Lakukan perubahan berikut:
SELINUX=disabled
Simpan dan tutup file. Kemudian, mulai ulang sistem Anda untuk menerapkan perubahan.
Instal Java
AirSonic berbasis Java sehingga Anda perlu menginstal Java ke sistem Anda. Anda dapat menginstal Java hanya dengan 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)
Instal AirSonic
Sebelum memulai, Anda harus membuat pengguna untuk menjalankan AirSonic.
Pertama, buat pengguna dengan perintah berikut:
useradd airsonic
Selanjutnya, buat direktori untuk AirSonic dengan perintah berikut:
mkdir /var/airsonic /var/media_files
Selanjutnya, unduh AirSonic versi terbaru 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 tepat ke direktori airsonic dengan perintah berikut:
chown -R airsonic /var/airsonic
chown -R airsonic /var/media_files
Selanjutnya, unduh file unit systemd yang telah dikonfigurasi sebelumnya 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, muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, mulai 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 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 EDT; 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 menjalankan AirSonic dengan perintah berikut:
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
Mengakses Antarmuka Web 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://your-server-ip:8080/airsonic . Anda akan diarahkan ke halaman berikut:
Berikan nama pengguna dan sandi default sebagai admin/admin dan klik Log di tombol. Anda akan melihat halaman berikut:
Selanjutnya, Anda perlu mengubah kata sandi administrator default. Untuk melakukannya, klik Ubah administrator sandi . Anda akan melihat halaman berikut:
Pilih pengguna admin, tandai kotak centang ubah kata sandi, ketik kata sandi baru dan klik tombol Simpan tombol untuk mengubah kata sandi default.
Selanjutnya, Anda perlu mengatur folder media untuk menyimpan musik dan video Anda. Untuk melakukannya, klik setelan > Media folder . Anda akan melihat halaman berikut:
Sekarang, ketik /var/media_files di kotak Folder dan klik tombol Simpan tombol.
Konfigurasikan Nginx sebagai Proxy Terbalik
Selanjutnya, Anda perlu mengonfigurasi Nginx sebagai proxy terbalik untuk Airsonic pada port 8080. Untuk melakukannya, pertama-tama instal server web Nginx dengan perintah berikut:
dnf install nginx
Setelah terinstal, buat file konfigurasi virtual host Nginx:
nano /etc/nginx/conf.d/airsonic.conf
Tambahkan baris berikut:
server { listen 80; server_name your-server-ip; 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, uji Nginx untuk menemukan 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, mulai layanan Nginx dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start nginx
systemctl enable nginx
Sekarang, Anda dapat mengakses AirSonic dengan mengunjungi URL http://your-server-ip/airsonic .
Kesimpulan
Selamat! Anda telah berhasil menginstal server media AirSonic dengan Nginx sebagai proxy terbalik di CentOS 8. Sekarang Anda dapat meng-host server media Anda sendiri dan berbagi musik dengan teman dan keluarga Anda. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.