AirSonic es un servidor de transmisión de medios gratuito, de código abierto y basado en la web que le permite acceder a su música desde la ubicación central. Airsonic es compatible con cualquier formato de archivo de audio/video y también puede transmitir a través del protocolo de transferencia de hipertexto. Es un transmisor de medios autohospedado escrito en el lenguaje Java y capaz de manejar colecciones de música muy grandes. Se ejecuta en la mayoría de los sistemas operativos, incluidos Windows, Linux y Mac OS.
En este tutorial, le mostraremos cómo instalar el servidor de transmisión de medios AirSonic en CentOS 8.
Requisitos
- Un servidor que ejecuta CentOS 8 con un mínimo de 2 GB de RAM.
- Se ha configurado una contraseña raíz en su servidor.
Cómo empezar
De forma predeterminada, SELinux está habilitado en el servidor CentOS 8. Por lo tanto, deberá deshabilitarlo primero.
Puede hacer esto editando el archivo /etc/selinux/config:
nano /etc/selinux/config
Realice los siguientes cambios:
SELINUX=disabled
Guarde y cierre el archivo. Luego, reinicie su sistema para aplicar los cambios.
Instalar Java
AirSonic se basa en Java, por lo que deberá instalar Java en su sistema. Puede instalar Java simplemente ejecutando el siguiente comando:
dnf install java-1.8.0-openjdk-devel
Una vez que se haya instalado Java, puede verificar la versión de Java con el siguiente comando:
java -version
Debería ver el siguiente resultado:
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 comenzar, deberá crear un usuario para ejecutar AirSonic.
Primero, crea un usuario con el siguiente comando:
useradd airsonic
A continuación, cree un directorio para AirSonic con el siguiente comando:
mkdir /var/airsonic /var/media_files
A continuación, descargue la última versión de AirSonic desde el repositorio de 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, otorgue el permiso adecuado al directorio airsonic con el siguiente comando:
chown -R airsonic /var/airsonic
chown -R airsonic /var/media_files
A continuación, descargue 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, vuelva a cargar el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio AirSonic y habilítelo para que se inicie al arrancar con los siguientes comandos:
systemctl start airsonic
systemctl enable airsonic
Ahora puede verificar el estado de AirSonic con el siguiente comando:
systemctl status airsonic
Deberías obtener el siguiente resultado:
? 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 puede verificar el proceso de ejecución de AirSonic con el siguiente comando:
ps -ef | grep airsonic
Debería ver el siguiente resultado:
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
Acceder a la interfaz web de AirSonic
Antes de acceder a la interfaz web de AirSonic, deberá 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, abra su navegador web y escriba la URL http://your-server-ip:8080/airsonic . Será redirigido a la siguiente página:
Proporcione el nombre de usuario y la contraseña predeterminados como admin/admin y haga clic en Iniciar sesión. en botón. Debería ver la siguiente página:
A continuación, deberá cambiar la contraseña de administrador predeterminada. Para hacerlo, haga clic en Cambiar administrador contraseña . Debería ver la siguiente página:
Elija el usuario administrador, marque la casilla de verificación de cambio de contraseña, escriba la nueva contraseña y haga clic en Guardar botón para cambiar la contraseña predeterminada.
A continuación, deberá configurar la carpeta de medios para almacenar su música y videos. Para hacerlo, haga clic en configuración
Ahora, escriba /var/media_files en el cuadro Carpeta y haga clic en Guardar botón.
Configurar Nginx como proxy inverso
A continuación, deberá configurar Nginx como proxy inverso para Airsonic en el puerto 8080. Para hacerlo, primero instale el servidor web Nginx con el siguiente comando:
dnf install nginx
Una vez instalado, cree un archivo de configuración de host virtual Nginx:
nano /etc/nginx/conf.d/airsonic.conf
Agregue 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; } }
Guarde y cierre el archivo cuando haya terminado. Luego, pruebe Nginx para detectar cualquier error de sintaxis con el siguiente comando:
nginx -t
Debería ver el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, inicie el servicio Nginx y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl start nginx
systemctl enable nginx
Ahora, puede acceder a AirSonic visitando la URL http://your-server-ip/airsonic .
Conclusión
¡Felicidades! ha instalado con éxito un servidor de medios AirSonic con Nginx como proxy inverso en CentOS 8. Ahora puede alojar su propio servidor de medios y compartir música con sus amigos y familiares. Siéntase libre de preguntarme si tiene alguna pregunta.