GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Airsonic Media Server en Ubuntu 18.04 LTS

Airsonic es un servidor multimedia gratuito y de código abierto. Es un transmisor de medios basado en la web autohospedado que brinda acceso ubicuo a su música, facilita compartir su música con amigos o escuchar su música mientras está en el trabajo. Airsonic se creó con Java como una bifurcación completa de Subsonic y se diseñó para manejar colecciones de música muy grandes y se optimizó para la transmisión de MP3. Airsonic funciona con cualquier formato de audio o video que pueda transmitirse a través del protocolo HTTP, incluidos WMA, FLAC, APE, etc.

En este tutorial, le mostraré paso a paso cómo instalar Airsonic en Ubuntu 18.04. Le mostraremos cómo implementar la instalación independiente de Airsonic usando el paquete .WAR, ejecutar Airsonic como un servicio y luego configurar el servidor web Nginx como un proxy inverso para Airsonic.

Requisitos

  • Ubuntu 18.04
  • Privilegios de raíz

¿Qué haremos?

  1. Instalar Java OpenJDK
  2. Instalar y configurar AirSonic
  3. Generar nuevo certificado SSL Letsencrypt
  4. Configurar Nginx como proxy inverso
  5. Configurar el cortafuegos UFW
  6. Pruebas

Paso 1:instalar Java OpenJDK

Airsonic es un software de aplicación basado en Java, por lo que necesitamos instalar Java en el servidor y requiere la instalación de la serie OpenJDK 1.8x. En este primer paso, instalaremos Java OpenJDK desde el repositorio de PPA webupd8team.

Instale los paquetes 'software-properties-common' y luego agregue el repositorio Java OpenJDK PPA.

Ejecute los siguientes comandos apt.

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

Ahora instale Java OpenJDK.

sudo apt install oracle-java8-installer -y

Y una vez completada la instalación, verifique la versión de Java OpenJDK.

java -version

Ahora obtendrá la serie Java OpenJDK 1.8 instalada en el sistema Ubuntu 18.04.

Paso 2:instalar y configurar Airsonic

Airsonic proporciona diferentes paquetes de instalación, para esta guía, usaremos la 'instalación independiente de WAR'.

Cree un nuevo usuario llamado 'airsonic' y cree un nuevo directorio '/opt/airsonic'.

useradd airsonic
mkdir -p /opt/airsonic

Ahora vaya al directorio '/opt/airsonic' y descargue el archivo del paquete Airsonic '.WAR' usando wget.

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

Y cambie el propietario del directorio '/opt/airsonic' al usuario y grupo 'airsonic'.

chown -R airsonic:airsonic /opt/airsonic

El paquete binario '.WAR' de Airsonic ha sido descargado.

A continuación, debemos crear un nuevo archivo de servicio para Airsonic, ir al directorio '/etc/systemd/system' y crear un nuevo archivo de servicio 'airsonic.service'.

cd /etc/systemd/system/
vim airsonic.service

Pegue la siguiente configuración del servicio Airsonic allí.

[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

Guardar y salir.

Vuelva a cargar el sistema systemd y cree un nuevo archivo de configuración predeterminado de airsonic en el directorio '/etc/default'.

sudo systemctl daemon-reload
vim /etc/default/airsonic

Pegue la siguiente configuración airsonic predeterminada allí.

# 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

Guardar y salir.

Ahora inicie el servicio Airsonic y permita que se inicie cada vez que se inicie el sistema.

systemctl start airsonic
systemctl enable airsonic

La instalación 'independiente' de airsonic está completa y ahora está funcionando, verifíquela con el comando netstat.

netstat -plntu

Y obtendrá el puerto predeterminado Airsonic '8080' en el estado 'LISTEN', utilizado por el servicio Java Airsonic.

Paso 3:generar un nuevo certificado SSL Letsencrypt

En este tutorial, implementaremos Airsonic bajo la conexión HTTPS del proxy inverso Nginx con el nombre de dominio 'music.hakase-labs.io'.

Y para este paso, generaremos los certificados SSL desde Letsencrypt. Instale la herramienta Letsencrypt usando el siguiente comando apt.

sudo apt install letsencrypt -y

La herramienta Letsencrypt ha sido instalada.

A continuación, debemos generar los nuevos certificados SSL para el dominio 'music.hakase-labs.io' usando el siguiente comando.

certbot certonly --standalone -d music.hakase-labs.io

Se le pedirá la dirección de correo electrónico y se utilizará para la notificación de renovación. Para el acuerdo de TOS de Letsencrypt, escriba 'A' para aceptar y para la dirección de correo electrónico compartida, puede escribir 'N' para No.

Cuando todo esté completo, obtendrá el resultado como se muestra a continuación.

SSL Letsencrypt para el dominio 'music.hakase-labs.io' ha sido generado, todos los certificados ubicados en el directorio '/etc/letsencrypt/live/domain'.

Paso 4:instalar y configurar Nginx como proxy inverso

En este paso, instalaremos el servidor web Nginx y lo configuraremos como proxy inverso para el software Airsonic en el puerto 8080.

Instale el servidor web Nginx usando el siguiente comando apt.

sudo apt install nginx -y

Ahora vaya al directorio '/etc/nginx' y cree un nuevo archivo de host virtual 'airsonic'.

cd /etc/nginx/
vim sites-available/airsonic

Pegue la siguiente configuración allí.

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

Guardar y salir.

Active el archivo de host virtual 'airsonic' y pruebe la configuración.

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

Asegúrese de que no haya ningún error, luego reinicie el servicio nginx y habilítelo para que se inicie cada vez que se inicie el sistema.

systemctl restart nginx
systemctl enable nginx

El servidor web Nginx ahora se ejecuta como un proxy inverso para Airsonic en el puerto 8080 y se ejecuta bajo la conexión segura https.

Compruébalo usando el comando netstat a continuación.

netstat -plntu

Paso 5:configurar el cortafuegos UFW

En este tutorial, activaremos el firewall y usaremos el firewall UFW para Ubuntu.

Abra el servicio SSH, HTTP y HTTPS en la lista de cortafuegos de UFW ejecutando los siguientes comandos.

ufw allow ssh
ufw allow http
ufw allow https

Ahora habilite el cortafuegos ufw.

ufw enable

Escriba 'y' y presione Entrar para iniciar y habilitar el firewall UFW.

Y el firewall ufw ha sido habilitado.

Paso 6 - Prueba

Abra su navegador web y escriba la URL de instalación de Airsonic en la barra de direcciones. El mío es:

https://music.hakase-labs.io/airsonic/

Ahora se le mostrará la página de inicio de sesión de Airsonic.

Inicie sesión como usuario predeterminado 'admin' con la contraseña 'admin' y presione el botón 'Iniciar sesión'.

Y cuando haya iniciado sesión, verá el panel Airsonic.

- Cambiar contraseña predeterminada

Haga clic en el botón 'Cambiar contraseña de administrador'.

Ahora seleccione el usuario 'administrador' y marque 'Cambiar contraseña', luego escriba la nueva contraseña de administrador y haga clic en 'Guardar'.

Se ha cambiado la contraseña de administrador predeterminada para Airsonic.

- Configurar carpetas multimedia

Vuelva al servidor terminal shell, cree nuevas carpetas de medios manualmente y cambie el propietario del directorio de carpetas de medios al usuario 'airsonic'.

mkdir -p /var/music
chown -R airsonic:airsonic /var/music

Ahora, en el panel de administración de Airsonic, haga clic en el botón 'Configuración' y haga clic en la pestaña 'Carpetas multimedia'.

Asegúrese de que las carpetas de medios de 'Música' predeterminadas estén habilitadas, luego haga clic en el botón 'Guardar'.

Ahora muévase a la pestaña 'Usuario', seleccione el usuario 'administrador' y marque la carpeta de medios 'Música' como se muestra a continuación.

La carpeta multimedia predeterminada "Música" se ha habilitado y el usuario "administrador" ahora tiene acceso a las carpetas multimedia.

A continuación se muestra mi tablero Airsonic después de hacer algunos cambios.

La instalación del transmisor de medios Airsonic con Nginx como proxy inverso en Ubuntu 18.04 se completó con éxito.


Ubuntu
  1. Cómo instalar Plex Media Server en Ubuntu 20.04

  2. Cómo instalar Plex Media Server en Ubuntu 18.04

  3. Cómo instalar Subsonic Media Server Ubuntu 18.04

  4. Cómo instalar el servidor de transmisión de medios Icecast 2 en Ubuntu 18.04 LTS

  5. Cómo instalar el servidor de Minecraft en Ubuntu 18.04 LTS

Cómo instalar Jellyfin Media Server en Ubuntu 20.04 LTS

Cómo instalar Java en Ubuntu 22.04 LTS

Cómo instalar Subsonic Media Server en Ubuntu 16.04 LTS

Cómo instalar Red5 Media Server en Ubuntu 16.04 LTS

Cómo instalar Plex Media Server en Ubuntu 20.04 LTS

Cómo instalar Ant Media Server en Ubuntu 20.04 LTS