AirSonic è un server di streaming multimediale gratuito, open source e basato sul Web che ti consente di accedere alla tua musica dalla posizione centrale. Airsonic è compatibile con qualsiasi formato di file audio/video ed è anche in grado di trasmettere in streaming tramite il protocollo HyperText Transfer. È uno streamer multimediale self-hosted scritto in linguaggio Java e in grado di gestire raccolte musicali molto grandi. Funziona sulla maggior parte dei sistemi operativi inclusi Windows, Linux e Mac OS.
In questo tutorial, ti mostreremo come installare il server di streaming multimediale AirSonic su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8 con almeno 2 GB di RAM.
- Sul tuo server è configurata una password di root.
Per iniziare
Per impostazione predefinita, SELinux è abilitato nel server CentOS 8. Quindi dovrai prima disabilitarlo.
Puoi farlo modificando il file /etc/selinux/config:
nano /etc/selinux/config
Apporta le seguenti modifiche:
SELINUX=disabled
Salva e chiudi il file. Quindi, riavvia il sistema per applicare le modifiche.
Installa Java
AirSonic è basato su Java, quindi dovrai installare Java sul tuo sistema. Puoi installare Java semplicemente eseguendo il seguente comando:
dnf install java-1.8.0-openjdk-devel
Una volta installato Java, è possibile verificare la versione di Java con il seguente comando:
java -version
Dovresti vedere il seguente output:
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)
Installa AirSonic
Prima di iniziare, dovrai creare un utente per eseguire AirSonic.
Innanzitutto, crea un utente con il seguente comando:
useradd airsonic
Quindi, crea una directory per AirSonic con il seguente comando:
mkdir /var/airsonic /var/media_files
Quindi, scarica l'ultima versione di AirSonic dal repository Git con il seguente comando:
wget https://github.com/airsonic/airsonic/releases/download/v10.4.1/airsonic.war --output-document=/var/airsonic/airsonic.war
Quindi, dai il permesso appropriato alla directory di airsonic con il seguente comando:
chown -R airsonic /var/airsonic
chown -R airsonic /var/media_files
Quindi, scarica il file dell'unità di sistema preconfigurato per AirSonic con il seguente comando:
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
Quindi, ricarica il demone systemd con il seguente comando:
systemctl daemon-reload
Quindi, avvia il servizio AirSonic e abilitalo all'avvio all'avvio con i seguenti comandi:
systemctl start airsonic
systemctl enable airsonic
Ora puoi verificare lo stato di AirSonic con il seguente comando:
systemctl status airsonic
Dovresti ottenere il seguente output:
? 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
Puoi anche controllare il processo di esecuzione di AirSonic con il seguente comando:
ps -ef | grep airsonic
Dovresti vedere il seguente output:
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
Accedi all'interfaccia web di AirSonic
Prima di accedere all'interfaccia web di AirSonic, dovrai aprire le porte 80 e 8080 con firewalld. Puoi farlo con i seguenti comandi:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
Quindi, apri il tuo browser web e digita l'URL http://your-server-ip:8080/airsonic . Verrai reindirizzato alla seguente pagina:
Fornisci il nome utente e la password predefiniti come amministratore/amministratore e fai clic sul Registro dentro pulsante. Dovresti vedere la seguente pagina:
Successivamente, dovrai modificare la password dell'amministratore predefinita. Per farlo, fai clic su Modifica amministratore password . Dovresti vedere la seguente pagina:
Scegli utente amministratore, seleziona la casella di controllo modifica password, digita la nuova password e fai clic su Salva pulsante per modificare la password predefinita.
Successivamente, dovrai configurare la cartella multimediale per archiviare musica e video. Per farlo, fai clic sulle impostazioni > Media cartelle . Dovresti vedere la seguente pagina:
Ora, digita /var/media_files nella casella Cartella e fai clic su Salva pulsante.
Configura Nginx come proxy inverso
Successivamente, dovrai configurare Nginx come proxy inverso per Airsonic sulla porta 8080. Per farlo, installa prima il server web Nginx con il seguente comando:
dnf install nginx
Una volta installato, crea un file di configurazione dell'host virtuale Nginx:
nano /etc/nginx/conf.d/airsonic.conf
Aggiungi le seguenti righe:
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; } }
Salva e chiudi il file quando hai finito. Quindi, verifica Nginx per qualsiasi errore di sintassi con il seguente comando:
nginx -t
Dovresti vedere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Quindi, avvia il servizio Nginx e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:
systemctl start nginx
systemctl enable nginx
Ora puoi accedere ad AirSonic visitando l'URL http://your-server-ip/airsonic .
Conclusione
Congratulazioni! hai installato con successo un server multimediale AirSonic con Nginx come proxy inverso su CentOS 8. Ora puoi ospitare il tuo server multimediale e condividere musica con i tuoi amici e familiari. Sentiti libero di chiedermi se hai domande.