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

Elige lengua

Ampache es un software gratuito, de código abierto y basado en la web que le permite alojar su propio servidor de transmisión de música. Con Ampache, puede acceder a su música y video a través de Internet. Puede ver, editar y reproducir su música a través de un navegador web o cualquier cliente de transmisión de medios.

Características

  • Potente API y transmisión a cualquier cliente
  • Catálogos flexibles y personalización
  • Reproductor web HTML5 moderno
  • Admite varios métodos de autorización como MySQL, LDAP, HTTP y PAM
  • Compatibilidad con cualquier cliente Subsonic

En este tutorial, aprenderemos cómo configurar el servidor de transmisión de música Ampache en Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Una contraseña de root está configurada en su servidor.

Empezando

Antes de comenzar, es una buena idea actualizar el paquete de su sistema a la última versión. Puede actualizarlos usando el siguiente comando:

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

Una vez que todos los paquetes estén actualizados, reinicie su sistema para aplicar los cambios.

Instalar servidor LAMP

Ampache se ejecuta en el servidor web, está escrito en PHP y usa MySQL/MariaDB para almacenar sus datos. Por lo tanto, deberá instalar Apache, MariaDB, PHP y otras extensiones de PHP requeridas en su sistema. Puede 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 que todos los paquetes estén instalados, abra el archivo php.ini y modifique algunas configuraciones:

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

Cambie los siguientes valores:

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

Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio de Apache para implementar los cambios:

systemctl restart apache2

Configurar la base de datos MariaDB

De forma predeterminada, MariaDB no está protegido. Puede asegurarlo ejecutando el siguiente script:

mysql_secure_installation

Responda 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 MariaDB esté protegida, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporcione su contraseña raíz de MariaDB y cree 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';

Luego, otorgue 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, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

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

Descargar Ampache

Puede descargar la última versión de Ampache usando el siguiente comando:

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

Una vez completada la descarga, descomprima 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, cambie la propiedad del directorio de Ampache a www-data:

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

Luego, cambie el directorio a ampache y cambie el nombre del archivo .htaccess requerido.

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, cree un directorio para almacenar archivos de música y cambie la propiedad a www-data:

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

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Apache para Ampache

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

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

Agregue 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>

Guarde y cierre el archivo cuando haya terminado. Luego, verifique el archivo de configuración de Apache para ver si hay algún error con el siguiente comando:

apachectl configtest

Debería obtener el siguiente resultado: Anuncio

Syntax OK

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

a2ensite ampache
a2enmod expires rewrite

Finalmente, reinicie el servicio de Apache para aplicar los cambios:

systemctl reload apache2

En este punto, Ampache está instalado y configurado. Ahora puede continuar con el siguiente paso.

Asegure Ampache con Let’s Encrypt SSL

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

Primero, instale el cliente Certbot para descargar e instalar Let’s Encrypt SSL para su sitio web.

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

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

certbot --apache -d ampache.linuxbuz.com

Se le pedirá que proporcione su dirección de correo electrónico y acepte el término 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, deberá elegir si desea redirigir o no 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

Escriba 2 y presione Entrar para continuar. Una vez que se haya completado la instalación, debería obtener el siguiente resultado:

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, pruebe la renovación automática del certificado Let’s Encrypt con el siguiente comando:

certbot renew --dry-run

Si la prueba fue exitosa, debería obtener el siguiente resultado:

** 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

Su sitio web de Ampache ahora está protegido con Let’s Encrypt SSL. A continuación, abra su navegador web y escriba la URL https://ampache.linuxbuz.com. Será redirigido a la siguiente página:

Elige lengua

Seleccione su idioma y haga clic en el comienzo Configuración botón. Deberías ver la siguiente página:

Verificar los requisitos previos

Asegúrese de que todas las extensiones de PHP requeridas estén instaladas y luego haga clic en el Continuar botón. Deberías ver la siguiente página:

Configuración de base de datos

Proporcione los detalles de su base de datos, desmarque Crear base de datos, marque Crear tablas, desmarque Crear usuarios de base de datos y haga clic en el botón Insertar Base de datos botón. Deberías ver la siguiente página:

Generar archivo de configuración

Proporcione los detalles de su base de datos, seleccione ffmpeg y haga clic en el Crear Configuración. Deberías ver la siguiente página:

Crear cuenta de administrador

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

Actualizar ahora

Haga clic en el Actualizar Ahora botón para actualizar todos los paquetes requeridos. Deberías ver la siguiente página:

Actualización Ampache

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

Inicio de sesión de administrador

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el Acceso botón. Debería ver el panel de Ampache en la siguiente página:

Tablero Ampache

Conclusión

¡Felicidades! Ha instalado y asegurado con éxito 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.

Deja una respuesta

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