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:
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:
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:
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:
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.