Cómo instalar el servidor de transmisión de música Ampache en Ubuntu 18.04

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Instalación de Ampache
  • Paso 2: Configuración de Apache y PHP
  • Paso 3: Habilitar HTTPS
  • Paso 4: Creación de una base de datos MySQL
  • Paso 5: Uso del instalador web
    1. Elija el idioma de instalación
    2. Requisitos
    3. Insertar base de datos Ampache
    4. Generar archivo de configuración
    5. Crear cuenta de administrador
    6. Actualización de Ampache
    7. Actualización de Ampache
  • Paso 6: Cómo agregar tu música a Ampache
  • Conclusión
  • El autor seleccionó Open Internet/Free Speech Fund para recibir una donación como parte del programa Write for DOnations.

    Introducción

    Ampache es un servidor de streaming de música de código abierto que te permite alojar y administrar tu colección de música digital en tu propio servidor. Ampache puede transmitir tu música a tu computadora, teléfono inteligente, tableta o televisor inteligente. Esto significa que no tienes que mantener múltiples copias de tu música en el dispositivo que deseas usar para escucharla. Con Ampache puedes administrar tu colección en tu servidor usando la interfaz web de Ampache y escucharla en cualquier lugar.

    En este tutorial, instalará y configurará el servidor web Apache y PHP que servirán a su instancia de Ampache. Luego, creará una base de datos MySQL que Ampache utilizará para almacenar toda su información operativa. Finalmente, cargará su colección de música para poder comenzar a transmitirla.

    Prerrequisitos

    Antes de comenzar esta guía necesitarás lo siguiente:

    • Un servidor Ubuntu 18.04 configurado siguiendo el tutorial Configuración inicial del servidor con Ubuntu 18.04, incluido un usuario sudo que no sea root.
    • Apache, MySQL y PHP instalados en su servidor, como se muestra en Cómo instalar la pila Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 18.04.
    • Un nombre de dominio configurado para apuntar a su servidor. Puede obtener información sobre cómo apuntar dominios a DigitalOcean Droplets consultando la guía Dominios y DNS.

    Paso 1: Instalación de Ampache

    En este paso, descargará el archivo ZIP de Ampache a su servidor, lo descomprimirá en su directorio de instalación y realizará algunos cambios necesarios en el sistema de archivos.

    En primer lugar, inicie sesión en su servidor como usuario no root. A continuación, cree el directorio de inicio de Ampache con el siguiente comando:

    1. sudo mkdir /var/www/ampache

    A continuación, instala la ziputilidad que necesitarás para descomprimir el archivo Ampache:

    1. sudo apt install zip

    A continuación, descargue el archivo ZIP de la última versión. Puede encontrar el enlace a la última versión en la página de GitHub de Ampache. En estos ejemplos, 4.1.1se utiliza la versión:

    1. wget https://github.com/ampache/ampache/releases/download/4.1.1/ampache-4.1.1_all.zip

    A continuación, descomprima el archivo ZIP en el /var/www/ampache/directorio usando la -dopción:

    1. sudo unzip ampache-4.1.1_all.zip -d /var/www/ampache/

    A continuación, configure la identidad de usuario y grupo de los archivos de Ampache para que Apache pueda leer, escribir y ejecutar los archivos de instancia de Ampache:

    1. sudo chown --recursive www-data:www-data /var/www/ampache/

    La --recursiveopción chowncambia la propiedad y la identidad del grupo de todos los archivos y subdirectorios bajo /var/www/ampache/el usuario y grupo de Apache www-data.

    A continuación, cambie el nombre de los .htaccessarchivos incluidos en el archivo ZIP. .htaccessLos archivos contienen información de seguridad y otras operaciones de Apache, pero solo funcionarán con la extensión de archivo name .htaccess. Cambie el nombre de los .htaccess.distarchivos suministrados a .htaccesscon los siguientes comandos:

    1. sudo mv /var/www/ampache/rest/.htaccess.dist /var/www/ampache/rest/.htaccess
    2. sudo mv /var/www/ampache/play/.htaccess.dist /var/www/ampache/play/.htaccess
    3. sudo mv /var/www/ampache/channel/.htaccess.dist /var/www/ampache/channel/.htaccess

    Ahora creará el directorio que contendrá sus archivos de música. Por razones de seguridad, es mejor crear este directorio fuera del directorio de instalación de Ampache. De esa manera, no será legible ni modificable por solicitudes web maliciosas, ya que se encuentra fuera del directorio de instalación de Ampache DocumentRoot.

    Crea el directorio, /data/Music, con el siguiente comando:

    1. sudo mkdir -p /data/Music

    Luego cambie su propietario y la identidad del grupo para que Apache pueda leerlo y escribir en él:

    1. sudo chown www-data:www-data /data/Music

    Para finalizar la configuración, deberá instalar FFmpeg, que es una utilidad que convierte audio y video de un formato a otro. Por ejemplo, puede utilizarla para convertir un archivo de música MP3 a un archivo de música OPUS. Ampache utiliza FFmpeg para convertir el audio sobre la marcha del formato en el que se cargó a un formato que el dispositivo de escucha pueda reproducir. Este es un proceso conocido como transcodificación.

    Esto es útil porque no todos los dispositivos pueden reproducir todos los formatos de música. Ampache puede detectar qué formatos son compatibles con el dispositivo de reproducción y proporcionar automáticamente su música en el formato compatible.

    Instale FFmpeg con el siguiente comando:

    1. sudo apt install ffmpeg

    Ya ha descomprimido y preparado su instancia de Ampache para el instalador web e instalado la utilidad FFmpeg. A continuación, configurará Apache y PHP para que sirvan a su instancia de Ampache.

    Paso 2: Configuración de Apache y PHP

    En esta sección, configurará Apache creando un nuevo archivo VirtualHost, que proporcionará la configuración que Apache necesita para servir a su dominio de servidor Ampache. También instalará algunos módulos PHP adicionales que amplían las capacidades de PHP para cubrir los requisitos de Ampache.

    Primero, instale algunos módulos PHP adicionales que no se incluyeron con la instalación predeterminada de PHP:

    1. sudo apt install php-mysql php-curl php-json php-gd php7.2-xml

    Estos módulos proporcionan la siguiente funcionalidad adicional:

    • php-mysql— Permite que PHP se comunique con una base de datos MySQL.
    • php-curl— Permite que PHP utilice la utilidad curl para descargar archivos, como carátulas de álbumes, desde servidores remotos.
    • php-json— Permite a PHP leer y manipular archivos de texto con formato JSON.
    • php-gd— Permite a PHP manipular y crear archivos de imagen.
    • php7.2-xml— Permite a PHP leer y manipular archivos de texto con formato XML.

    A continuación, habilite un par de módulos Apache utilizando la a2enmodutilidad:

    1. sudo a2enmod rewrite expires

    Estos módulos Apache permiten a Apache hacer lo siguiente:

    • rewrite— Modificar o reescribir URL siguiendo las reglas proporcionadas por Ampache.
    • expires— Establezca los tiempos de expiración de la memoria caché para objetos como imágenes para que los navegadores los almacenen de forma más eficiente.

    Ahora, creará el VirtualHostarchivo que le indica a Apache cómo y dónde cargar la instancia de Ampache.

    Nota: Si creó un VirtualHostarchivo de prueba que utiliza su nombre de dominio Ampache cuando siguió la guía “Cómo instalar la pila Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 18.04”, debe deshabilitarlo. Use la a2dissiteutilidad para deshabilitarlo:

    1. sudo a2dissite test_virtalhost_file

    Ahora, crea y abre el VirtualHostarchivo con tu editor de texto en /etc/apache2/sites-available/ampache.conf:

    1. sudo nano /etc/apache2/sites-available/ampache.conf

    Añade la siguiente VirtualHostplantilla a tu archivo:

    /etc/apache2/sitios-disponibles/ampache.conf

    VirtualHost *:80    ServerName your_domain    DocumentRoot /var/www/ampache    Directory /var/www/ampache/        AllowOverride All        Require all granted    /Directory    RewriteEngine on    CustomLog /var/log/apache2/ampache.access.log common    ErrorLog  /var/log/apache2/ampache.error.log/VirtualHost

    Debes cambiar your_domainel nombre de dominio al que redirigiste a tu servidor. Cuando hayas terminado de editar este archivo, guárdalo y sal del editor.

    Las directivas en este VirtualHostarchivo son:

    • ServerName— El nombre de dominio que Apache utilizará para servir su instancia de Ampache.
    • DocumentRoot— La ubicación del sistema de archivos en el servidor donde se encuentra la instancia de Ampache. Es el mismo lugar en el que descomprimiste el archivo ZIP en el paso 1.
    • Directory— Esta sección pasa la configuración a Apache que se aplica a los archivos y directorios contenidos en la ruta.
    • RewriteEngine— Habilita el módulo de reescritura de Apache.
    • CustomLog— Crea un archivo de registro que Apache utilizará para registrar todos los registros de acceso a su servidor Ampache.
    • ErrorLog— Crea un archivo de registro que Apache utilizará para registrar todos los registros de errores generados por su servidor Ampache.

    A continuación, comprueba que el VirtualHostarchivo que has creado no tenga ningún error con la apachectlutilidad:

    1. sudo apachectl configtest

    Si su configuración no contiene ningún error, verá el siguiente resultado después del comando:

    OutputSyntax OK

    Si su configuración contiene errores, la salida imprimirá el nombre del archivo y el número de línea donde se encontró el error.

    Nota: Si ve el error:

    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

    Luego necesitarás editar el archivo de configuración principal de Apache /etc/apache2/apache2.confy agregar la siguiente línea:

    ServerName your_domain

    A continuación, habilite la nueva VirtualHostconfiguración mediante la a2ensiteutilidad:

    1. sudo a2ensite ampache

    La configuración final es opcional, pero recomendada. La configuración predeterminada para la carga de archivos en PHP es que no se pueden cargar archivos de más de 2 MB. Los archivos de música tienden a ser más grandes que esto, por lo que aumentar este tamaño le permitirá usar la interfaz de Ampache para cargar archivos más grandes en su colección de música.

    Abrir /etc/php/7.2/apache2/php.inicon el siguiente comando:

    1. sudo nano /etc/php/7.2/apache2/php.ini

    Y cambia las siguientes lineas:

    /etc/php/7.2/apache2/php.ini

    . . .upload_max_filesize = 2M. . .post_max_size = 8M. . .

    A:

    /etc/php/7.2/apache2/php.ini

    . . .upload_max_filesize = 100M. . .post_max_size = 110M. . .

    Ahora podrá cargar archivos de música de hasta 100 MB. Utilice un valor mayor si desea cargar archivos de mayor tamaño. Guarde y salga del archivo.

    Por último, vuelva a cargar su configuración de Apache actualizada:

    1. sudo systemctl reload apache2.service

    Ya has configurado Apache para que ofrezca Ampache a través de HTTP. A continuación, obtendrás un certificado TLS y configurarás Apache para que lo utilice y puedas acceder de forma segura a Ampache a través de HTTPS.

    Paso 3: Habilitar HTTPS

    En este paso, obtendrá un certificado TLS Let's Encrypt gratuito mediante la utilidad Certbot, que permite la navegación HTTPS. Certbot creará el certificado, generará automáticamente la configuración Apache necesaria y gestionará la renovación automática del certificado.

    Esto es importante porque cada vez que inicia sesión en Ampache, enviará su nombre de usuario y contraseña a través de Internet. Si no utiliza HTTPS, su contraseña se enviará en texto sin formato que podrá leerse mientras viaja por Internet.

    Las versiones LTS de Ubuntu no suelen tener los paquetes más recientes, y esto es así en el caso del programa Certbot. Los desarrolladores de Certbot mantienen un repositorio exclusivo para Ubuntu, conocido como PPA, para que los usuarios de Ubuntu puedan mantener una copia actualizada de Certbot.

    Instale el repositorio Certbot con el siguiente comando:

    1. sudo add-apt-repository ppa:certbot/certbot

    Ahora, instala la certbotutilidad:

    1. sudo apt install python-certbot-apache

    A continuación, utilice certbotpara obtener el certificado TLS:

    1. sudo certbot --apache -d your_domain

    La --apacheopción utiliza el complemento Apache que permite a Certbot leer y configurar Apache automáticamente. especifica el nombre de dominio para el cual desea que Certbot cree el certificado.-d your_domain

    Cuando ejecute el certbotcomando, se le realizarán una serie de preguntas. Se le solicitará que ingrese una dirección de correo electrónico y que acepte los términos del servicio.

    Si certbotconfirma con éxito que usted controla su dominio, le solicitará que configure sus ajustes HTTPS:

    OutputPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.-------------------------------------------------------------------------------1: No redirect - Make no further changes to the webserver configuration.2: Redirect - Make all requests redirect to secure HTTPS access. Choose this fornew sites, or if you're confident your site works on HTTPS. You can undo thischange by editing your web server's configuration.-------------------------------------------------------------------------------Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
    • No redirect:Apache servirá Ampache a través de HTTP y HTTPS.
    • RedirectApache redirigirá automáticamente todas las conexiones HTTP a HTTPS. Esto significa que su servidor Ampache solo estará disponible a través de HTTPS. Esta opción es la más segura y no afectará el comportamiento de su instancia Ampache. Esta es la opción recomendada.

    Por último, pruebe que la renovación automática del certificado se realizará correctamente ejecutando el siguiente comando:

    1. sudo certbot renew --dry-run

    La --dry-runopción significa que certbotse probará un intento de renovación sin realizar ningún cambio permanente en el servidor. Si la prueba fue exitosa, el resultado incluirá la siguiente línea:

    OutputCongratulations, all renewals succeeded. The following certs have been renewed:  /etc/letsencrypt/live/your_domain/fullchain.pem (success)

    Apache y PHP ya están listos para servir a su instancia de Ampache. En el siguiente paso, creará y configurará la base de datos de Ampache.

    Paso 4: Creación de una base de datos MySQL

    Ampache utiliza una base de datos MySQL para almacenar información como listas de reproducción, preferencias de usuario, etc. En este paso, creará una base de datos y un usuario MySQL que Ampache utilizará para acceder a ella.

    Necesitarás elegir tres piezas de información para completar las siguientes instrucciones para crear la base de datos de Ampache:

    1. ampache_database:El nombre de la base de datos Ampache.
    2. database_user: El usuario MySQL que Ampache utilizará para acceder a la base de datos. No es un usuario del sistema y solo puede acceder a la base de datos.
    3. database_password: La contraseña del usuario de la base de datos. Asegúrese de elegir una contraseña segura.

    Toma nota de estos detalles ya que los necesitarás más adelante.

    Primero, abra el shell interactivo de MySQL con el mysqlcomando:

    1. mysql --user=root --password

    --user=rootabre el shell MySQL como usuario root de MySQL y --passwordsolicita la contraseña del usuario root.

    El siguiente comando creará una base de datos vacía:

    1. CREATE DATABASE ampache_database;

    A continuación, crea el usuario MySQL:

    1. CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'database_password';

    Ahora, dale al nuevo usuario acceso completo a la base de datos:

    1. GRANT ALL PRIVILEGES ON ampache_database.* TO 'database_user'@'localhost';

    Por último, verifique que la nueva base de datos existe ejecutando el siguiente comando:

    1. SHOW DATABASES;

    Verá el siguiente resultado:

    +--------------------+| Database           |+--------------------+| information_schema || ampache_database  || mysql              || performance_schema || sys                |+--------------------+5 rows in set (0.00 sec)

    Salga del shell MySQL ingresando exit;.

    Por último, pruebe la base de datos, el nombre de usuario y la contraseña intentando iniciar sesión en el shell MySQL con database_user.

    Ingrese el siguiente comando para iniciar sesión en el shell MySQL como el nuevo usuario:

    1. mysql --user=database_user --password ampache_database

    Ya ha creado la base de datos que utilizará Ampache. Ha finalizado la configuración del servidor y está listo para completar la instalación con el instalador web.

    Paso 5: Uso del instalador web

    En este paso, utilizará el instalador web de Ampache para finalizar la instalación proporcionándole a Ampache la información que necesitará para ejecutarse, como un usuario administrador de la interfaz web, los detalles de la base de datos y otras configuraciones.

    Inicie la instalación web ingresando a su navegador.https://your_domain

    Elija el idioma de instalación

    Seleccione el idioma de la interfaz de Ampache y haga clic en el botón Iniciar configuración para continuar.

    Requisitos

    En esta página, Ampache comprueba que el servidor cumple con sus requisitos. Cada línea de esta página representa una prueba que realiza el instalador para garantizar que, por ejemplo, todos los módulos PHP necesarios estén presentes y funcionando. Verá que cada prueba tiene una marca de verificación verde para indicar que su servidor está listo para Ampache.

    Haga clic en el botón Continuar para pasar a la página siguiente.

    Insertar base de datos Ampache

    Esta página crea la base de datos de Ampache si no existe y la formatea. Complete los campos de la siguiente manera:

    • Nombre de base de datos deseado :ampache_database
    • Nombre de host MySQL :localhost
    • Puerto MySQL (opcional) : VACÍO
    • Nombre de usuario administrativo de MySQL :database_user
    • Contraseña administrativa de MySQL :database_password
    • Crear base de datos : SIN MARCAR
    • Crear tablas (ampache.sql) : COMPROBADO
    • Crear usuario de base de datos : SIN MARCAR

    Haga clic en el botón Insertar base de datos para continuar.

    Generar archivo de configuración

    Esta página crea el archivo de configuración que Ampache utilizará para ejecutarse. Complete los campos de la siguiente manera:

    • Ruta web : VACÍO

    • Nombre de la base de datos :ampache_database

    • Nombre de host MySQL :localhost

    • Puerto MySQL (opcional) : VACÍO

    • Nombre de usuario MySQL :database_user

    • Contraseña MySQL :database_password

    • Tipo de instalación Deje esto en la configuración predeterminada.

    • Permitir transcodificación Seleccione ffmpeg de la lista desplegable.

    • Jugadores Deje estos valores en la configuración predeterminada.

    Haga clic en el botón Crear configuración para continuar.

    Crear cuenta de administrador

    Esta página crea el primer usuario de la interfaz web. Este usuario se crea con privilegios administrativos completos y es el que utilizará para iniciar sesión y configurar Ampache por primera vez.

    Elija un nombre de usuario y una contraseña segura e ingréselo en los campos Contraseña y Confirmar contraseña .

    Haga clic en el botón Crear cuenta para continuar.

    Actualización de Ampache

    Esta página realizará los cambios administrativos necesarios en la base de datos de Ampache. Estos cambios se realizan durante las actualizaciones de versión, pero como se trata de una nueva instalación, el instalador no realizará ningún cambio.

    Haga clic en el botón ¡Actualizar ahora! para continuar.

    Actualización de Ampache

    Esta página imprime y explica las actualizaciones que realizó el instalador en el paso anterior. No debería ver ninguna actualización en la lista.

    Haga clic en el enlace [Volver a la página principal] para continuar a la página de inicio de sesión. Ingrese el nombre de usuario y la contraseña que estableció para iniciar sesión en su servidor Ampache.

    Ampache aún no está completamente configurado y listo para usar. Ahora completará la configuración agregando su música para poder comenzar a usar su nuevo servidor Ampache.

    Paso 6: Cómo agregar tu música a Ampache

    Un servidor de música no sirve de nada sin música para reproducir. En este paso, configurarás un catálogo de música y cargarás algo de música. “Catálogo” es el nombre que Ampache le da a una colección de música. Ampache puede leer música de muchas fuentes, tanto dentro como fuera del servidor, pero en este tutorial, cargarás y almacenarás tu música en el servidor en un catálogo local, como lo llama Ampache.

    Primero, haga clic en el enlace Agregar un catálogo en la siguiente línea de la primera página que ve cuando inicia sesión en Ampache:

    Aún no se ha configurado ningún catálogo. Para comenzar a transmitir contenido multimedia, ahora debe agregar un catálogo.

    Esto lo llevará a la página Agregar catálogo . Complete los campos de la siguiente manera:

    • Nombre del catálogo: Give this catalog a short, memorable name.
    • Tipo de catálogo: local
    • Patrón de nombre de archivo: VACÍO
    • Patrón de carpeta: deje esto con los valores predeterminados.
    • Recopilar arte: COMPROBADO
    • Crear listas de reproducción a partir de archivos de listas de reproducción (m3u, m3u8, asx, pls, xspf): DESMARCADO
    • Camino: /data/Music

    Haga clic en el botón Agregar catálogo para completar esta página.

    En la página que aparece a continuación, haga clic en el botón Continuar . Esto lo llevará a la página Mostrar catálogos , que imprimirá los detalles del catálogo que creó. Puede cambiar la configuración del catálogo en cualquier momento en el futuro.

    Ahora, habilite la función de carga web de Ampache haciendo clic en el tercer ícono de navegación para abrir la configuración extendida:

    Desplácese hacia abajo hasta la sección Configuración del servidor y haga clic en el enlace Sistema para abrir la página de configuración del sistema.

    Busque la línea Permitir cargas de usuarios y seleccione Habilitar en el menú desplegable en la columna Valor.

    También puedes elegir qué nivel de usuario puede cargar archivos de música. El nivel predeterminado es Administrador de catálogo , lo que permite que el Administrador de catálogo y todos los usuarios con mayores privilegios puedan cargar música. En este caso, se trata del administrador.

    También debe configurar el catálogo al que se agregará la música. Establezca esto mediante la línea Catálogo de destino . Seleccione el catálogo que creó en el menú desplegable Valor .

    Haz clic en el botón Actualizar preferencias en la parte inferior de la página para completar la configuración. Ahora estás listo para cargar música.

    Primero, haga clic en el primer ícono de configuración:

    Luego haga clic en el enlace Cargar en la sección Música .

    En la página Cargar , haga clic en el botón Explorar y busque sus archivos de música en su computadora y cárguelos.

    Si dejas las etiquetas de Artista y Álbum en blanco, Ampache leerá las etiquetas ID3 de los archivos de música para descubrir el artista y el álbum automáticamente. Después de haber cargado algo de música, podrás encontrarla haciendo clic en los enlaces Canciones , Álbumes o Artistas en la sección Música del panel de navegación de la izquierda.

    Tu servidor de música Ampache ahora está listo para comenzar a transmitir tu música.

    Conclusión

    En este artículo, instalaste y configuraste un servidor de streaming de música Ampache y subiste parte de tu música. Ahora puedes escuchar tu música dondequiera que vayas en cualquiera de tus dispositivos. La documentación de Ampache te ayudará a usar y ampliar tu servidor de streaming. Estas aplicaciones de Android y esta aplicación de iOS transmitirán tu música a tu teléfono. Ampache organiza tu música en el servidor usando las etiquetas ID3 en los archivos de música. El programa MusicMrainz te ayudará a administrar las etiquetas ID3 de tus archivos de música.

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion