Cómo instalar el servidor multimedia AirSonic en CentOS 8

AirSonic es un servidor de streaming multimedia gratuito, de código abierto y basado en la web, que te permite acceder a tu música desde la ubicación central. Airsonic es compatible con cualquier formato de archivo de audio/vídeo y también es capaz de transmitir a través del protocolo de transferencia de hipertexto. Es un streamer multimedia autoalojado escrito en lenguaje Java y capaz de manejar colecciones de música muy grandes. Funciona en la mayoría de los sistemas operativos, incluyendo Windows, Linux y Mac OS.

En este tutorial, te mostraremos cómo instalar el servidor de streaming multimedia AirSonic en CentOS 8.

Requisitos previos

  • Un servidor que ejecute CentOS 8 con un mínimo de 2 GB de RAM.
  • Una contraseña de root configurada en tu servidor.

Cómo empezar

Por defecto, SELinux está activado en el servidor CentOS 8. Así que primero tendrás que desactivarlo.

Puedes hacerlo editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Haz los siguientes cambios:

SELINUX=disabled

Guarda y cierra el archivo. A continuación, reinicia el sistema para aplicar los cambios.

Instalar Java

AirSonic se basa en Java, por lo que necesitarás instalar Java en tu sistema. Puedes instalar Java simplemente ejecutando el siguiente comando:

dnf install java-1.8.0-openjdk-devel

Una vez instalado Java, puedes verificar la versión de Java con el siguiente comando:

java -version

Deberías ver la siguiente salida:

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)

Instalar AirSonic

Antes de empezar, tendrás que crear un usuario para ejecutar AirSonic.

Primero, crea un usuario con el siguiente comando:

useradd airsonic

A continuación, crea un directorio para AirSonic con el siguiente comando:

mkdir /var/airsonic /var/media_files

A continuación, descarga la última versión de AirSonic del repositorio Git con el siguiente comando:

wget https://github.com/airsonic/airsonic/releases/download/v10.4.1/airsonic.war --output-document=/var/airsonic/airsonic.war

A continuación, da el permiso adecuado al directorio airsonic con el siguiente comando

chown -R airsonic /var/airsonic
chown -R airsonic /var/media_files

A continuación, descarga el archivo de unidad systemd preconfigurado para AirSonic con el siguiente 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

A continuación, recarga el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicia el servicio AirSonic y permite que se inicie al arrancar con los siguientes comandos:

systemctl start airsonic
systemctl enable airsonic

Ahora puedes verificar el estado de AirSonic con el siguiente comando:

systemctl status airsonic

Deberías obtener la siguiente salida:

? 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

También puedes comprobar el proceso de ejecución de AirSonic con el siguiente comando:

ps -ef | grep airsonic

Deberías ver la siguiente salida:

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

Accede a la interfaz web de AirSonic

Antes de acceder a la interfaz web de AirSonic, deberás abrir los puertos 80 y 8080 con firewalld. Puedes hacerlo con los siguientes comandos:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

A continuación, abre tu navegador web y escribe la URL http://your-server-ip:8080/airsonic. Serás redirigido a la siguiente página:

airsonic media server login

Proporciona el nombre de usuario y la contraseña por defecto como admin/admin y haz clic en el botón Iniciar sesión. Deberías ver la siguiente página:

Cómo empezar

A continuación, deberás cambiar la contraseña de administrador por defecto. Para ello, haz clic en el botón Cambiar la contraseña del administrador. Deberías ver la siguiente página:

Ajustes

Elige el usuario admin, marca la casilla de cambio de contraseña, escribe la nueva contraseña y haz clic en el botón Guardar para cambiar la contraseña por defecto.

A continuación, tendrás que configurar la carpeta multimedia para almacenar tu música y tus vídeos. Para ello, haz clic en la configuración > Carpetas multimedia. Deberías ver la siguiente página:

Carpetas de medios

Ahora, escribe /var/media_files en la casilla Carpeta y haz clic en el botón Guardar.

Configurar Nginx como proxy inverso

A continuación, tendrás que configurar Nginx como proxy inverso para el Airsonic en el puerto 8080. Para ello, instala primero el servidor web Nginx con el siguiente comando:

dnf install nginx

Una vez instalado, crea un archivo de configuración del host virtual Nginx:

nano /etc/nginx/conf.d/airsonic.conf

Añade las siguientes líneas:

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;
}
}

Guarda y cierra el archivo cuando hayas terminado. A continuación, comprueba si Nginx tiene algún error de sintaxis con el siguiente comando:

nginx -t

Deberías ver la siguiente salida:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, inicia el servicio Nginx y permite que se inicie tras el reinicio del sistema con el siguiente comando:

systemctl start nginx
systemctl enable nginx

Ahora, puedes acceder al AirSonic visitando la URL http://your-server-ip/airsonic.

Conclusión

Enhorabuena! has instalado con éxito un servidor multimedia AirSonic con Nginx como proxy inverso en CentOS 8. Ahora puedes alojar tu propio servidor multimedia y compartir música con tus amigos y familiares. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...