Airsonic adalah server media sumber terbuka dan gratis. Ini adalah media streamer berbasis web yang dihosting sendiri yang menyediakan akses ke mana-mana ke musik Anda, memudahkan untuk berbagi musik Anda dengan teman atau mendengarkan musik Anda saat bekerja. Airsonic telah dibuat dengan Java sebagai garpu penuh dari Subsonic, dan dirancang untuk menangani koleksi musik yang sangat besar dan dioptimalkan untuk streaming MP3. Airsonic bekerja dengan format audio atau video apa pun yang dapat dialirkan melalui protokol HTTP, termasuk WMA, FLAC, APE, dll.
Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara menginstal Airsonic di Ubuntu 18.04. Kami akan menunjukkan kepada Anda cara menerapkan instalasi Airsonic yang berdiri sendiri menggunakan paket .WAR, menjalankan Airsonic sebagai layanan, dan kemudian mengonfigurasi server web Nginx sebagai proxy terbalik untuk Airsonic.
Prasyarat
- Ubuntu 18.04
- Hak istimewa root
Apa yang akan kita lakukan?
- Instal Java OpenJDK
- Memasang dan Mengonfigurasi AirSonic
- Buat Sertifikat SSL Letsencrypt Baru
- Konfigurasikan Nginx sebagai Proxy Terbalik
- Konfigurasikan Firewall UFW
- Pengujian
Langkah 1 - Instal Java OpenJDK
Airsonic adalah software aplikasi berbasis Java, jadi kita perlu menginstal Java di server, dan membutuhkan instalasi OpenJDK 1.8x series. Pada langkah pertama ini, kita akan menginstal Java OpenJDK dari repositori PPA webupd8team.
Instal paket 'software-properties-common' lalu tambahkan repositori Java OpenJDK PPA.
Jalankan perintah apt berikut.
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y
Sekarang instal Java OpenJDK.
sudo apt install oracle-java8-installer -y
Dan setelah instalasi selesai, periksa versi Java OpenJDK.
java -version
Sekarang Anda akan mendapatkan Java OpenJDK 1.8 series telah diinstal pada sistem Ubuntu 18.04.
Langkah 2 - Instal dan Konfigurasi Airsonic
Airsonic menyediakan paket instalasi yang berbeda, untuk panduan ini, kami akan menggunakan 'instalasi WAR yang berdiri sendiri'.
Buat pengguna baru bernama 'airsonic', dan buat direktori baru '/opt/airsonic'.
useradd airsonic
mkdir -p /opt/airsonic
Sekarang buka direktori '/opt/airsonic' dan unduh file paket Airsonic '.WAR' menggunakan wget.
cd /opt/airsonic
wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war
Dan ubah pemilik direktori '/opt/airsonic' menjadi pengguna dan grup 'airsonic'.
chown -R airsonic:airsonic /opt/airsonic
Paket biner Airsonic '.WAR' telah diunduh.
Selanjutnya, kita perlu membuat file layanan baru untuk Airsonic, buka direktori '/etc/systemd/system' dan buat file layanan baru 'airsonic.service'.
cd /etc/systemd/system/
vim airsonic.service
Tempelkan konfigurasi layanan Airsonic berikut di sana.
[Unit] Description=Airsonic Media Server After=remote-fs.target network.target AssertPathExists=/opt/airsonic [Service] Type=simple Environment="JAVA_JAR=/opt/airsonic/airsonic.war" Environment="JAVA_OPTS=-Xmx700m" Environment="AIRSONIC_HOME=/opt/airsonic" Environment="PORT=8080" Environment="CONTEXT_PATH=/airsonic" Environment="JAVA_ARGS=" EnvironmentFile=-/etc/sysconfig/airsonic ExecStart=/usr/bin/java \ $JAVA_OPTS \ -Dairsonic.home=${AIRSONIC_HOME} \ -Dserver.context-path=${CONTEXT_PATH} \ -Dserver.port=${PORT} \ -jar ${JAVA_JAR} $JAVA_ARGS User=airsonic Group=airsonic [Install] WantedBy=multi-user.target
Simpan dan keluar.
Muat ulang sistem systemd dan buat file konfigurasi default airsonic baru di direktori '/etc/default'.
sudo systemctl daemon-reload
vim /etc/default/airsonic
Tempelkan konfigurasi airsonic default berikut di sana.
# Set the location of the standalone war to use JAVA_JAR=/opt/airsonic/airsonic.war # Set any java opts separated by spaces JAVA_OPTS=-Xmx700m # Set a different location for the airsonic home. # If this path is /opt/libresonic or even contains "libresonic", # the data from a previous libresonic can be used as is (i.e. without # renaming libresonic.properties,db/libresonic*, etc AIRSONIC_HOME=/opt/airsonic # Change the port to listen on PORT=8080 # Change the path that is listened to on CONTEXT_PATH=/airsonic # Add any java args. These are different than JAVA_OPTS in that # they are passed directly to the program. The default is empty: #JAVA_ARGS= # Note that there are several settings for spring boot, not explicitly listed # here, but can be used in either JAVA_OPTS or JAVA_ARGS. The full list # can be found here: # https://docs.spring.io/spring-boot/docs/1.4.5.RELEASE/reference/htmlsingle/#common-application-properties # For example to set debug across the board: #JAVA_ARGS=--debug # Or to change the IP address that is listened to: JAVA_ARGS=--server.address=127.0.0.1
Simpan dan keluar.
Sekarang mulai layanan Airsonic dan aktifkan untuk diluncurkan setiap kali sistem boot.
systemctl start airsonic
systemctl enable airsonic
Instalasi 'stand-alone' airsonic selesai, dan sekarang sudah aktif dan berjalan, periksa menggunakan perintah netstat.
netstat -plntu
Dan Anda akan mendapatkan port default Airsonic '8080' pada status 'LISTEN', yang digunakan oleh layanan Java Airsonic.
Langkah 3 - Buat Sertifikat SSL Letsencrypt Baru
Dalam tutorial ini, kami akan menerapkan Airsonic di bawah koneksi HTTPS dari proxy terbalik Nginx dengan nama domain 'music.hakase-labs.io'.
Dan untuk langkah ini, kami akan membuat sertifikat SSL dari Letsencrypt. Instal alat Letsencrypt menggunakan perintah apt berikut.
sudo apt install letsencrypt -y
Alat Letsencrypt telah diinstal.
Selanjutnya, kita perlu membuat sertifikat SSL baru untuk domain 'music.hakase-labs.io' menggunakan perintah di bawah ini.
certbot certonly --standalone -d music.hakase-labs.io
Anda akan dimintai alamat email, dan itu digunakan untuk pemberitahuan perpanjangan. Untuk perjanjian TOS Letsencrypt, ketik 'A' untuk menyetujui dan untuk alamat email berbagi, Anda dapat mengetik 'N' untuk Tidak.
Jika semua sudah selesai, Anda akan mendapatkan hasil seperti gambar di bawah ini.
SSL Letsencrypt untuk domain 'music.hakase-labs.io' telah dibuat, semua sertifikat terletak di direktori '/etc/letsencrypt/live/domain'.
Langkah 4 - Instal dan Konfigurasi Nginx sebagai proxy Terbalik
Pada langkah ini, kita akan menginstal server web Nginx dan mengonfigurasinya sebagai proxy terbalik untuk perangkat lunak Airsonic pada port 8080.
Instal server web Nginx menggunakan perintah apt berikut.
sudo apt install nginx -y
Sekarang buka direktori '/etc/nginx' dan buat file host virtual baru 'airsonic'.
cd /etc/nginx/
vim sites-available/airsonic
Tempelkan konfigurasi berikut di sana.
server { listen 80; listen [::]:80; server_name music.hakase-labs.io; # enforce https return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name music.hakase-labs.io; ssl_certificate /etc/letsencrypt/live/music.hakase-labs.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/music.hakase-labs.io/privkey.pem; location /airsonic { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header Host $http_host; proxy_max_temp_file_size 0; proxy_pass http://127.0.0.1:8080; proxy_redirect http:// https://; } }
Simpan dan keluar.
Aktifkan file host virtual 'airsonic' dan uji konfigurasinya.
ln -s /etc/nginx/sites-available/airsonic /etc/nginx/sites-enabled/
nginx -t
Pastikan tidak ada kesalahan, lalu restart layanan nginx dan aktifkan untuk diluncurkan setiap kali sistem boot.
systemctl restart nginx
systemctl enable nginx
Server web Nginx sekarang berjalan sebagai proxy terbalik untuk Airsonic pada port 8080, dan dijalankan di bawah koneksi aman https.
Periksa menggunakan perintah netstat di bawah ini.
netstat -plntu
Langkah 5 - Konfigurasi Firewall UFW
Dalam tutorial ini, kita akan mengaktifkan firewall, dan kita akan menggunakan firewall UFW untuk Ubuntu.
Buka layanan SSH, HTTP, dan HTTPS pada daftar firewall UFW dengan menjalankan perintah di bawah ini.
ufw allow ssh
ufw allow http
ufw allow https
Sekarang aktifkan firewall ufw.
ufw enable
Ketik 'y' dan tekan Enter untuk memulai dan mengaktifkan firewall UFW.
Dan firewall ufw telah diaktifkan.
Langkah 6 - Pengujian
Buka browser web Anda dan ketik URL instalasi Airsonic di bilah alamat. Milik saya adalah:
https://music.hakase-labs.io/airsonic/
Sekarang Anda akan diperlihatkan halaman login Airsonic.
Masuk sebagai pengguna default 'admin' dengan kata sandi 'admin', dan tekan tombol 'Masuk'.
Dan saat Anda masuk, Anda akan melihat Dasbor Airsonic.
- Ubah Kata Sandi Default
Klik tombol 'Ubah kata sandi administrator'.
Sekarang pilih pengguna 'admin' dan beri tanda pada 'Ubah kata sandi', lalu ketik kata sandi admin baru dan klik 'Simpan'.
Kata sandi admin default untuk Airsonic telah diubah.
- Siapkan Folder Media
Kembali ke server shell terminal, buat folder media baru secara manual dan ubah pemilik direktori folder media menjadi pengguna 'airsonic'.
mkdir -p /var/music
chown -R airsonic:airsonic /var/music
Sekarang di dasbor admin Airsonic, klik tombol 'Pengaturan' dan klik tab 'Folder media'.
Pastikan folder media default 'Musik' telah diaktifkan, lalu klik tombol 'Simpan'.
Sekarang pindah ke tab 'User', pilih pengguna 'admin' dan beri tanda centang pada folder media 'Music' seperti di bawah ini.
Folder media 'Musik' default telah diaktifkan, dan pengguna 'admin' sekarang memiliki akses ke folder media.
Di bawah ini adalah dasbor Airsonic saya setelah melakukan beberapa perubahan.
Instalasi streamer media Airsonic dengan Nginx sebagai reverse proxy di Ubuntu 18.04 telah berhasil diselesaikan.