Cómo instalar el servidor de streaming de música Ampache en Ubuntu 20.04

Ampache es un software gratuito, de código abierto y basado en web que te permite alojar tu propio servidor de streaming de música. Con Ampache, puedes acceder a tu música y vídeo a través de Internet. Puedes ver, editar y reproducir tu música a través de un navegador web o cualquier cliente de streaming multimedia.

Características

  • Potente API y streaming a cualquier cliente
  • Catálogos flexibles y personalización
  • Moderno reproductor web HTML5
  • Soporta varios métodos de autorización como MySQL, LDAP, HTTP y PAM
  • Compatibilidad con cualquier cliente Subsonic

En este tutorial, aprenderemos a configurar el servidor de streaming de música Ampache en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Una contraseña de root configurada en tu servidor.

Cómo empezar

Antes de empezar, es una buena idea actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos utilizando el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez actualizados todos los paquetes, reinicia tu sistema para aplicar los cambios.

Instalar el servidor LAMP

Ampache se ejecuta en el servidor web, está escrito en PHP y utiliza MySQL/MariaDB para almacenar sus datos. Así que necesitarás instalar Apache, MariaDB, PHP y otras extensiones PHP necesarias en tu sistema. Puedes instalarlos ejecutando el siguiente comando:

apt-get install apache2 libapache2-mod-php php php-cli mariadb-server php-mysql php-curl php-json php-gd php-xml unzip curl git zip ffmpeg -y

Una vez instalados todos los paquetes, abre el archivo php.ini y modifica algunos ajustes:

nano /etc/php/7.4/apache2/php.ini

Cambia los siguientes valores:

upload_max_filesize = 100M
post_max_size = 100M
date.timezone = Asia/Kolkata

Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

Configurar la base de datos MariaDB

Por defecto, MariaDB no está protegida. Puedes asegurarla ejecutando el siguiente script:

mysql_secure_installation

Responde a todas las preguntas como se muestra a continuación:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una vez que la base de datos MariaDB esté protegida, accede al shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporciona tu contraseña de root de MariaDB y crea una base de datos y un usuario para Ampache con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE ampachedb;
MariaDB [(none)]> CREATE USER 'ampache'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la base de datos de Ampache con el siguiente comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON ampachedb.* TO 'ampache'@'localhost';

A continuación, vacía los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Descargar Ampache

Puedes descargar la última versión de Ampache utilizando el siguiente comando:

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

Una vez finalizada la descarga, descomprime el archivo descargado en el directorio raíz web de Apache:

unzip ampache-4.1.1_all.zip -d /var/www/html/ampache

A continuación, cambia la propiedad del directorio Ampache a www-data:

chown -R www-data:www-data /var/www/html/ampache

A continuación, cambia el directorio a ampache y renombra el archivo .htaccess necesario.

cd /var/www/html/ampache
mv rest/.htaccess.dist rest/.htaccess
mv play/.htaccess.dist play/.htaccess
mv channel/.htaccess.dist channel/.htaccess

A continuación, crea un directorio para almacenar los archivos de música y cambia la propiedad a www-data:

mkdir -p /data/Music
chown www-data:www-data /data/Music

Cuando hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para Ampache

A continuación, tendrás que crear un nuevo archivo de configuración del host virtual de Apache para Ampache. Puedes crearlo con el siguiente comando:

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

Añade las siguientes líneas:

<VirtualHost *:80>

    ServerName ampache.linuxbuz.com
    DocumentRoot /var/www/html/ampache

    <Directory /var/www/html/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>

Guarda y cierra el archivo cuando hayas terminado. A continuación, comprueba si hay algún error en el archivo de configuración de Apache con el siguiente comando:

apachectl configtest

Deberías obtener la siguiente salida:

Syntax OK

A continuación, activa el archivo de configuración del host virtual de Apache y los módulos necesarios con el siguiente comando:

a2ensite ampache
a2enmod expires rewrite

Por último, reinicia el servicio Apache para aplicar los cambios:

systemctl reload apache2

En este punto, Ampache está instalado y configurado. Ya puedes pasar al siguiente paso.

Proteger Ampache con Let’s Encrypt SSL

Se recomienda asegurar tu sitio web Ampache con Let’s Encrypt SSL.

En primer lugar, instala el cliente Certbot para descargar e instalar Let’s Encrypt SSL para tu sitio web.

apt-get install certbot python3-certbot-apache -y

Una vez instalado, ejecuta el siguiente comando para instalar Let’s Encrypt SSL para tu sitio web.

certbot --apache -d ampache.linuxbuz.com

Se te pedirá que proporciones tu dirección de correo electrónico y que aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ampache.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/ampache-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/ampache-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/ampache-le-ssl.conf

A continuación, tendrás que elegir si deseas redirigir el tráfico HTTP a HTTPS, como se muestra a continuación:

Please 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 for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y pulsa Intro para continuar. Una vez completada la instalación, deberías obtener la siguiente salida:

Redirecting vhost in /etc/apache2/sites-enabled/ampache.conf to ssl vhost in /etc/apache2/sites-available/ampache-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://ampache.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=ampache.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/ampache.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/ampache.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-07-29. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

A continuación, prueba la autorenovación del certificado Let’s Encrypt con el siguiente comando:

certbot renew --dry-run

Si la prueba se ha realizado correctamente, deberías obtener la siguiente salida:

** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/ampache.linuxbuz.com/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)

Acceder a la interfaz web de Ampache

Tu sitio web Ampache está ahora protegido con Let’s Encrypt SSL. A continuación, abre tu navegador web y escribe la URL https://ampache.linuxbuz.com. Serás redirigido a la siguiente página:

Elige lengua

Selecciona tu idioma y haz clic en el botón Iniciar configuración. Deberías ver la siguiente página:

Verifica los requisitos previos

Asegúrate de que están instaladas todas las extensiones PHP necesarias y pulsa el botón Continuar. Deberías ver la siguiente página:

Configuración de la base de datos

Proporciona los detalles de tu base de datos, desmarca Crear base de datos, marca Crear tablas, desmarca Crear usuarios de base de datos y haz clic en el botón Insertar base de datos. Deberías ver la siguiente página:

Generar fichero de configuración

Proporciona los detalles de tu base de datos, selecciona ffmpeg y haz clic en el botón Crear Config. Deberías ver la siguiente página:

Crear cuenta de administrador

Proporciona tu nombre de usuario y contraseña de administrador y haz clic en el botón Crear Cuenta. Deberías ver la siguiente página:

Actualizar ahora

Haz clic en el botón Actualizar ahora para actualizar todos los paquetes necesarios. Deberías ver la siguiente página:

Actualización de Ampache

Haz clic en el enlace Volver a la página principal. Deberías ver la siguiente página:

Acceso de administrador

Proporciona tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Ampache en la siguiente página:

Panel de control de Ampache

Conclusión

Enhorabuena! has instalado y asegurado correctamente Ampache en el servidor Ubuntu 20.04. Ahora puedes crear tu nuevo catálogo, subir tu música y reproducirla a través de Internet.

También te podría gustar...