Introducción

Airsonic es un servidor de medios de código abierto que le brinda acceso completo a su música y le permite compartirla con colegas o incluso escuchar su lista de reproducción favorita en cualquier lugar. Este transmisor de medios gratuito autohospedado se basa en el lenguaje Java y está diseñado para una gran colección de música. Es la solución definitiva para la transmisión de MP3.

Airsonic es compatible con cualquier formato de archivo de video o audio siempre que se transmita convenientemente a través del protocolo de transferencia de hipertexto, como FLAX, WMA, APE y muchos más.

En este artículo, lo guiaremos a través del proceso de instalación de Airsonic en su servidor Ubuntu 18.04. De manera similar, también instalaremos Airsonic usando el paquete confiable.WAR, habilitaremos el servicio y luego configuraremos el servidor Nginx como un proxy inverso para esta instalación.

Antes de que empieces

  • Una cuenta de hosting VPS o hosting dedicado con un VPS en Ubuntu 18.04
  • Un usuario no root con permisos sudo

Comencemos con estos elementos.

Paso 1: instalar Java OpenJDK

Como aplicación basada en Java, Airsonic debe usar Java para el proceso de instalación. Este proceso requiere la instalación de la última serie OpenJDK.

Primero, comience instalando Java OpenJDK. Puede obtenerlo de Webupd8team; el repositorio oficial de PPA.

Asegúrese de instalar los paquetes generales del software y luego incluir el repositorio PPA para Java OpenJDK. Puede hacer esto ejecutando el siguiente comando:

$ sudo apt install software-properties-common apt-transport-https -y
$ sudo add-apt-repository ppa:webupd8team/java -y

El siguiente paso consiste en instalar Java OpenJDK.

$ sudo apt installoracle-java8-installer -y

El sistema debería instalar automáticamente la aplicación Java OpenJDK en su servidor Ubuntu 18.04.

Cuando haya terminado, ejecute el siguiente comando para verificar la versión actual de Java OpenJDK:

$ java -version

Esto le da el siguiente resultado:

Javaversion "1.8.0_181"
Java (TM) SERuntimeEnvironment (build 1.8.0_181-b13)
JavaHotSpot (TM) 64-BitserverVM (build 25.181-b13, mixmode)

Paso 2: instalar y configurar Airsonic

Airsonic se puede instalar en diferentes paquetes. En este artículo, exploraremos nuestra instalación independiente usando paquetes WAR.

Primero, cree otro usuario llamado ‘Airsonic‘luego crea un directorio llamado’/ opt / airsonic.

Para hacer esto, ejecute el siguiente comando:

$ sudo useradd airsonic
$ sudo mkdir -p /opt/airsonic

Abra el directorio recién creado. / opt / airsonic Busque y descargue el paquete .WAR para Airsonic usando wget como se muestra a continuación:

$ cd /opt/airsonic
$ wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war

Cambie el nombre de este directorio a usuarios «airsonic» y el grupo.

$ sudo chown -R airsonic:airsonic /opt/airsonic

A continuación, se debe descargar el paquete .WAR para la instalación de Airsonic.

A continuación, cree un nuevo archivo para Airsonic. Para hacer esto, vaya a ‘/ etc / systemd / system‘Directorio y luego crea un archivo de servicio con el nombre airsonic.service

$ sudo nano /etc/systemd/system

Edite y pegue las siguientes líneas para la configuración de Airsonic como se muestra a continuación:

[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

Ahora guarde y cierre el archivo.

Reinicie su sistema y vaya a ‘/ etc / default ‘ Directory luego crea un archivo estándar para airsonic.

$ sudo systemctl daemon-reload
$ sudo nano /etc/default/airsonic

Agregue el siguiente archivo de configuración estándar para airsonic:

# 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

Ahora guarde y cierre el archivo.

Reinicie su servicio Airsonic y configúrelo para que se inicie al arrancar.

$ sudo systemctl start airsonic
$ sudo systemctl enable airsonic

El proceso de instalación para airsonic solo ahora está completo. Utilice un comando netstat para verificar el estado.

$ netstat -plntu

En este punto, el servicio estándar de Airsonic monitorea el puerto ‘8080’ utilizado por el servicio Java de Airsonic.

Paso 3: generar un nuevo SSL permite cifrar el certificado

Como se mencionó anteriormente, instalamos Airsonic a través de las conexiones HTTP para el servidor web Nginx. Sin embargo, debe seleccionar un nombre de dominio de su elección.

Ahora intentaremos crear el certificado SSL con Letsencrypt. Primero, ejecute el siguiente comando para instalar la herramienta Letsencrypt requerida:

$ sudo apt install letsencrypt -y

Después de instalar la herramienta, ahora puede usar el siguiente comando para crear un nuevo certificado SSL para su nombre de dominio. Recuerde reemplazar el valor «domian name» con su nombre de dominio exacto:

$ certbot certonly --standalone -domain name

Cuando ejecute el comando anterior, se le pedirá que proporcione su dirección de correo electrónico para recibir notificaciones. Ingrese «A» para los Términos de uso de Letsencrypt para indicar que está de acuerdo con los términos, luego ingrese «N» para «No» para la dirección de correo electrónico compartida.

Una vez hecho esto, recibirá un mensaje de felicitación indicando que su certificado se generó y guardó correctamente en el directorio / etc / letsencrypt / live / domain.

Paso 4: instalar y configurar Nginx Reverse Proxy

Ahora comenzamos con la instalación del servidor Nginx y lo configuramos como proxy inverso en el puerto 8080 del software Airsonic.

Ejecute el siguiente comando para iniciar la instalación de Nginx:

$sudo apt install nginx -y

Ahora abre el ‘/ etc / nginxLuego, cree un nuevo archivo de host virtual llamado ‘airsonic’.

cd / etc / nginx /

$ sudo nano  sites-available/airsonic

Agregue las siguientes líneas a la configuración:

server {
    listen80;
    listen [::]:80;
    server_name music.hakase-labs.io;
    # enforce https
    return301 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://;
    }
}

Ahora guarde y cierre el archivo.

El siguiente paso es activar el archivo host de Airsonic que ya se ha creado y luego probar la configuración:

$ sudo ln -s /etc/nginx/sites-available/airsonic /etc/nginx/sites-enabled/
nginx -t

Asegúrese de que no haya errores, reinicie el servicio Nginx y configúrelo para que se inicie en el arranque.

$ sudo systemctl restart nginx
$ sudo systemctl enable nginx

En este punto, el servicio Nginx está funcionando con éxito como un proxy inverso para Airsonic. Debería escuchar en el puerto 8080 bajo una conexión https segura.

Para confirmar esto, use el comando netstat de la siguiente manera:

$ netstat -plntu

Paso 5: configurar el cortafuegos sin complicaciones (UFW)

Aquí trabajaremos en el firewall UFW de Ubuntu.

Empiece por acceder al cortafuegos sin complicaciones abriendo el servicio SSH, HTTPS y HTTP con los siguientes comandos:

$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https

Continúe y habilite su firewall ufw.

$ sudo ufw enable

Ahora escriba ‘Sí’ para Sí y presione Entrar para completar la activación.

Paso 6: verificar la instalación

Para este paso, abra su navegador web preferido e ingrese la URL para la instalación de Airsonic.

https://yourdomainname/airsonic/

Debería ver la página de inicio de sesión de Airsonic.

Cómo instalar Airsonic Media Server en Ubuntu 18.04 LTS

Ahora use el nombre de usuario y la contraseña predeterminados «admin» para iniciar sesión en su panel de Airsonic.

Una vez que acceda al panel, puede acceder al panel intuitivo de Airsonic.

El siguiente paso es cambiar la contraseña predeterminada. Para hacer esto, elija Cambiar la contraseña de administrador.

Cómo instalar Airsonic Media Server en Ubuntu 18.04 LTS

Escoger Administrador luego marca el cambiar la contraseña Antes de ingresar su nueva contraseña de administrador, marque la casilla. Cuando termines, elige ahorrar.

Cómo instalar Airsonic Media Server en Ubuntu 18.04 LTS

Ahora, la contraseña de administrador original de Airsonic se ha cambiado correctamente.

El siguiente paso es crear carpetas multimedia.

Configuración de carpetas multimedia.

Vaya al shell terminal de su servidor, cree carpetas de medios y márquelas como usuarios «airsonic».

$ suod mkdir -p /var/music
$ sudo chown -R airsonic:airsonic /var/music

Desde el panel de Airsonic, seleccione la opción la configuración luego busca el Carpeta multimedia Símbolo.

Cómo instalar Airsonic Media Server en Ubuntu 18.04 LTS

Asegúrese de que sus carpetas de medios de música predeterminadas estén marcadas antes de presionar ahorrar Botón.

A continuación, busque el usuario Entonces elige la sección Administrador y revisa el Carpeta multimedia de música Caja como se muestra a continuación:

Cómo instalar Airsonic Media Server en Ubuntu 18.04 LTS

El archivo multimedia de música ahora está activado. Ahora el usuario puede acceder a estos archivos multimedia.

Así es como debería verse el tablero de Airsonic después de los cambios.

Cómo instalar Airsonic Media Server en Ubuntu 18.04 LTS

Conclusión

¡Eso es! Airsonic se ha instalado correctamente en su servidor Ubuntu 18.04.