Cómo instalar el servidor de transmisión de música Ampache en Fedora 33
Ampache es una aplicación de transmisión de audio personal basada en la web de código abierto escrita en PHP. Le permite alojar y administrar su colección de música digital en su servidor y transmitirla a su computadora, teléfono inteligente, tableta o televisor inteligente. Puedes usar varios Android y iOS aplicaciones para transmitir su música desde su servidor de música Ampache a sus dispositivos personales.
Este tutorial cubrirá cómo instalar la aplicación Ampache en un servidor basado en Fedora 33 y cómo cargar música para su transmisión.
requisitos previos
- Un servidor que ejecuta Fedora 33.
- Un usuario sudo no root.
- Asegúrate de que todo esté actualizado.
$ sudo dnf upgrade
- Pocos paquetes que tu sistema necesita.
$ sudo dnf install wget curl nano zip -y
- Deshabilite SELinux.
$ sudo setenforce 0
Configurar cortafuegos
El primer paso es configurar el cortafuegos. El servidor Fedora viene con Firewalld preinstalado.
Compruebe si el cortafuegos se está ejecutando.
$ sudo firewall-cmd --state
Deberías obtener el siguiente resultado.
running
Establezca la zona predeterminada del cortafuegos en pública.
$ sudo firewall-cmd --set-default-zone=public
Compruebe los servicios/puertos permitidos actualmente.
$ sudo firewall-cmd --zone=public --permanent --list-services
Debería mostrar el siguiente resultado.
dhcpv6-client mdns ssh
Permitir puertos HTTP y HTTPS.
$ sudo firewall-cmd --zone=public --permanent --add-service=http $ sudo firewall-cmd --zone=public --permanent --add-service=https
Vuelva a comprobar el estado del cortafuegos.
$ sudo firewall-cmd --zone=public --permanent --list-services
Deberías ver una salida similar.
dhcpv6-client http https mdns ssh
Vuelva a cargar el cortafuegos.
$ sudo systemctl reload firewalld
Instalar Git
Antes de continuar, necesitamos instalar Git.
$ sudo dnf install git
A continuación, configure Git con sus datos personales.
$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]"
Instalar MariaDB
MariaDB es un reemplazo directo de MySQL, lo que significa que los comandos para ejecutar y operar MariaDB son los mismos que para MySQL.
Fedora 33 se envía de manera predeterminada con MariaDB 10.4 bur, ya que MariaDB 10.5 es la última versión estable, usaremos el repositorio oficial de MariaDB para eso.
Cree el archivo /etc/yum.repos.d/MariaDB.repo y ábralo para editarlo.
$ sudo nano /etc/yum.repos.d/MariaDB.repo
Pegue el siguiente código en él.
# MariaDB 10.5 Fedora repository list # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/fedora33-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Guarde y cierre el archivo presionando Control + X y entrando Y Cuando se le solicite.
Para instalar MariaDB emita el siguiente comando.
$ sudo dnf install MariaDB-server -y
Asegúrese de escribir MariaDB-server en el comando anterior y no mariadb-server, ya que el primero lo instalará desde el repositorio oficial, mientras que el último comando instalará la versión anterior desde el repositorio de Fedora.
Compruebe si MariaDB está instalado correctamente.
$ mysql --version
Debería ver el siguiente resultado.
mysql Ver 15.1 Distrib 10.5.9-MariaDB, for Linux (x86_64) using EditLine wrapper
Habilite e inicie el servicio MariaDB.
$ sudo systemctl enable mariadb $ sudo systemctl start mariadb
Ejecute el siguiente comando para realizar la configuración predeterminada, como proporcionar una contraseña de root, eliminar usuarios anónimos, prohibir el inicio de sesión de root de forma remota y descartar tablas de prueba.
$ sudo mysql_secure_installation
Con MariaDB 10.4, ahora se le preguntará entre usar la contraseña de root o el complemento unix_socket. El complemento le permite iniciar sesión en MariaDB con sus credenciales de usuario de Linux. Se considera más seguro, aunque necesitará un nombre de usuario/contraseña tradicional para usar aplicaciones de terceros como phpMyAdmin. Nos limitaremos a usar el complemento para este tutorial. Todavía puede usar phpMyAdmin a través de cualquier usuario que cree para sus bases de datos.
Al pulsar Enter se elige la opción por defecto (la que está en mayúsculas, Y en este caso).
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): [PRESS ENTER] OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] [PRESS ENTER] Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] [ANSWER n] ... skipping. By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] [PRESS ENTER] ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] [PRESS ENTER] ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] [PRESS ENTER] \- Dropping test database... ... Success! \- Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] [PRESS ENTER] ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Eso es todo. La próxima vez que desee iniciar sesión en MySQL, use el siguiente comando
$ sudo mysql
Ingrese su contraseña de root cuando se le solicite.
Configurar MariaDB para Ampache
Ahora necesitamos configurar una base de datos para usar con la aplicación Ampache. Para hacer eso, inicie sesión en el indicador de MySQL.
$ sudo mysql
Una vez que se le solicite, ingrese los siguientes comandos que configurarán una base de datos llamada ampache y un usuario de base de datos llamado amplificador y concederle acceso a la base de datos.
mysql> CREATE DATABASE ampache; mysql> CREATE USER 'ampuser'@'localhost' IDENTIFIED BY 'yourpassword'; mysql> GRANT ALL PRIVILEGES ON ampache.* TO 'ampuser'@'localhost'; mysql> exit
Instalar PHP
Fedora 33 se envía de forma predeterminada con PHP 7.4, pero para tener un repositorio PHP actualizado, agregaremos el repositorio REMI.
Instale el repositorio REMI, que es el repositorio oficial de Fedora para instalar paquetes PHP.
$ sudo dnf -y install https://rpms.remirepo.net/fedora/remi-release-33.rpm
Instale PHP 7.4 como un módulo.
$ sudo dnf module install php:remi-7.4
Compruebe si PHP funciona correctamente.
$ php --version
Deberías ver una salida similar.
PHP 7.4.16 (cli) (built: Mar 2 2021 10:35:17) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies
Instalar extensiones de PHP
Ampache necesita pocas extensiones de PHP. Use el siguiente comando para instalarlos.
sudo dnf install php-curl php-gd php-intl php-mysql
Configurar PHP-FPM
Abra el archivo /etc/php-fpm.d/www.conf.
$ sudo nano /etc/php-fpm.d/www.conf
Necesitamos configurar el usuario/grupo de Unix de procesos PHP para nginx. Busque las líneas user=apache y group=apache en el archivo y cámbielas a nginx.
... ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache user chosen to provide access to the same directories as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx ...
Guarde el archivo presionando Control + X y entrando Y Cuando se le solicite.
A continuación, debemos aumentar el tamaño del archivo para cargar música en el archivo /etc/php.ini. Abra el archivo para editarlo.
$ sudo nano /etc/php.ini
Cambia las siguientes lineas
. . . post_max_size = 8M . . . upload_max_filesize = 2M
a
. . . post_max_size = 110M . . . upload_max_filesize = 100M . . .
Ahora, puede cargar archivos de hasta 100 MB de tamaño. Puedes cambiar el valor a lo que quieras. Solo asegúrese de que post_max_size sea mayor que la variable upload_max_filesize.
Guarde el archivo presionando Control + X y entrando Y Cuando se le solicite.
Reinicie el proceso de PHP-fpm.
$ sudo systemctl restart php-fpm
Instalar Nginx
Fedora 33 viene por defecto con la última versión estable de Nginx. (1.18.0).
Instala Nginx.
$ sudo dnf install nginx -y
Compruebe si funciona correctamente.
$ nginx -v
Debería ver el siguiente resultado según la versión de Nginx que elija instalar.
nginx version: nginx/1.18.0
Inicie y habilite Nginx.
$ sudo systemctl start nginx $ sudo systemctl enable nginx
Abra la dirección IP de su servidor en un navegador para ver la siguiente página. Significa que Nginx está funcionando correctamente.
Configurar Nginx
Configure directorios donde vivirán los bloques del servidor.
$ sudo mkdir /etc/nginx/sites-available $ sudo mkdir /etc/nginx/sites-enabled
Abra el archivo /etc/nginx/nginx.conf para editarlo.
$ sudo nano /etc/nginx/nginx.conf
Pegue las siguientes líneas después de la línea include /etc/nginx/conf.d/*.conf
include /etc/nginx/sites-enabled/*.conf; server_names_hash_bucket_size 64;
Prensa Control + X para cerrar el editor y pulsar Y cuando se le solicite guardar el archivo.
Ejecute el siguiente comando para agregar un archivo de configuración para Ampache.
$ sudo nano /etc/nginx/sites-available/ampache.conf
Pegue el siguiente código en el editor.
server { # listen to listen [::]:80; listen 80; server_name ampache.example.com; charset utf-8; # Logging, error_log mode [notice] is necessary for rewrite_log on, # (very usefull if rewrite rules do not work as expected) error_log /var/log/nginx/ampache.error.log; # notice; access_log /var/log/nginx/ampache.access.log; # rewrite_log on; # Use secure headers to avoid XSS and many other things add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header X-Frame-Options "SAMEORIGIN" always; add_header Referrer-Policy "no-referrer"; add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; frame-src 'self'; object-src 'self'"; # Avoid information leak server_tokens off; fastcgi_hide_header X-Powered-By; root /var/www/html/ampache; index index.php; client_max_body_size 100m; # Somebody said this helps, in my setup it doesn't prevent temporary saving in files proxy_max_temp_file_size 0; # Rewrite rule for Subsonic backend if ( !-d $request_filename ) { rewrite ^/rest/(.*).view$ /rest/index.php?action=$1 last; rewrite ^/rest/fake/(.+)$ /play/$1 last; } # Rewrite rule for Channels if (!-d $request_filename){ rewrite ^/channel/([0-9]+)/(.*)$ /channel/index.php?channel=$1&target=$2 last; } # Beautiful URL Rewriting rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&name=$5 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&name=$6 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&player=$6&name=$7 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&bitrate=$6player=$7&name=$8 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/transcode_to/(w+)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&transcode_to=$6&bitrate=$7&player=$8&name=$9 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&name=$7 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&player=$7&name=$8 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&bitrate=$7player=$8&name=$9 last; rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/transcode_to/(w+)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&transcode_to=$7&bitrate=$8&player=$9&name=$10 last; # the following line was needed for me to get downloads of single songs to work rewrite ^/play/ssid/(.*)/type/(.*)/oid/([0-9]+)/uid/([0-9]+)/action/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4action=$5&name=$6 last; location /play { if (!-e $request_filename) { rewrite ^/play/art/([^/]+)/([^/]+)/([0-9]+)/thumb([0-9]*)\.([a-z]+)$ /image.php?object_type=$2&object_id=$3&auth=$1 last; } rewrite ^/([^/]+)/([^/]+)(/.*)?$ /play/$3?$1=$2; rewrite ^/(/[^/]+|[^/]+/|/?)$ /play/index.php last; break; } location /rest { limit_except GET POST { deny all; } } location ^~ /bin/ { deny all; return 403; } location ^~ /config/ { deny all; return 403; } location / { limit_except GET POST HEAD{ deny all; } } location ~ ^/.*.php { fastcgi_index index.php; # sets the timeout for requests in [s] , 60s are normally enough fastcgi_read_timeout 600s; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # Mitigate HTTPOXY https://httpoxy.org/ fastcgi_param HTTP_PROXY ""; # has to be set to on if encryption (https) is used: fastcgi_param HTTPS on; fastcgi_split_path_info ^(.+?\.php)(/.*)$; # chose as your php-fpm is configured to listen on fastcgi_pass unix:/run/php-fpm/www.sock; } # Rewrite rule for WebSocket location /ws { rewrite ^/ws/(.*) /$1 break; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8100/; } }
Este archivo asume que instalaremos Ampache en el dominio ampache.example.com y en el directorio /var/www/html/ampache. Prensa Control + X para cerrar el editor y pulsar Y cuando se le solicite guardar el archivo.
Active este archivo de configuración vinculándolo al directorio de sitios habilitados.
$ sudo ln -s /etc/nginx/sites-available/ampache.conf /etc/nginx/sites-enabled/
Pruebe la configuración de Nginx.
$ sudo nginx -t
Debería ver el siguiente resultado que indica que su configuración es correcta.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Vuelva a cargar el servicio Nginx.
$ sudo systemctl reload nginx
Configuración de HTTPS con Let’s Encrypt
Para usar Let’s encrypt, necesitamos instalar el Certbot paquete.
Instale Certbot.
$ sudo dnf install certbot certbot-nginx -y
Instale el certificado.
$ sudo certbot --nginx -d ampache.example.com
Si es la primera vez que usa la herramienta en este servidor, debe aceptar los términos e ingresar su dirección de correo electrónico. Decir no cuando se le pregunte si desea compartir su correo electrónico con la fundación EFF.
Si eso tiene éxito, certbot le preguntará cómo le gustaría configurar sus ajustes de HTTPS.
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):
Seleccione 2 y luego presione ENTER. Su certificado ya está instalado y activado.
Ejecute el siguiente comando para configurar la renovación automática.
$ echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null
Instalar Ampache
Cree una carpeta raíz de documentos vacía para Ampache.
$ sudo mkdir -p /var/www/html/ampache
los -pags El argumento asegura que los directorios principales var y www se creen automáticamente si no existen.
A continuación, descargue el archivo ZIP de la última versión de Ampache. Puede encontrar el enlace a la última versión en su Página de lanzamientos de Github. Al momento de escribir este tutorial, 4.4.1 es la última versión, así que la descargaremos.
$ wget https://github.com/ampache/ampache/releases/download/4.4.1/ampache-4.4.1_all.zip
A continuación, descomprima el archivo ZIP en el directorio que creamos anteriormente.
$ sudo unzip ampache-4.4.1_all.zip -d /var/www/html/ampache/
A continuación, configure los permisos en el directorio /var/www/html/ampache para el servidor web Nginx.
$ sudo chown --recursive nginx:nginx /var/www/html/ampache/
Crea otro directorio para almacenar tu música. No necesitamos sudo aquí porque estamos creando en nuestro propio directorio de usuarios.
$ sudo mkdir -p /data/Music
Cambie la propiedad de /home/user/music a nginx para que el servidor pueda escribir y leer desde el directorio donde almacenará la música.
$ sudo chown -R nginx:nginx /data/Music
Para terminar de configurar Ampache, instala FFmpeg, una utilidad para convertir archivos de audio y video de un formato a otro. Ampache usa FFmpeg para convertir archivos de audio sobre la marcha desde el formato en el que se cargaron a un formato que el dispositivo de escucha pueda reproducir.
Fedora no viene con FFmpeg de forma predeterminada, por lo que primero debemos agregar el repositorio RPMFusion.
$ sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
A continuación, instale FFmpeg.
$ sudo dnf install ffmpeg
Uso del instalador de Ampache
Su sitio de Ampache está listo para usar y se puede acceder a través de https://example.com en su navegador. La primera vez que lo abra, será recibido por el instalador web de Ampache.
Seleccione su idioma y continúe a la siguiente página donde se le mostrará si su servidor cumple con los requisitos para Ampache.
Si ha seguido el tutorial correctamente, debería poder pasar a la siguiente página donde se le pedirá que complete los detalles de la base de datos. Como ya hemos creado la base de datos, podemos dejar la casilla de verificación sin marcar. Lo mismo ocurre con el usuario de la base de datos. Complete el nombre de la base de datos, el usuario y la contraseña que creamos y continúe con la página siguiente.
A continuación, se le mostrarán las opciones de configuración de Ampache. La mayor parte de la información está precargada y no necesita ninguna modificación.
Por alguna razón, el instalador web de Ampache no detecta el binario FFmpeg instalado en Fedora. Lo habilitaremos más tarde editando el archivo de configuración manualmente.
A continuación, complete los detalles de la cuenta de administrador para Ampache.
Ahora será redirigido a la página de inicio de sesión de Ampache.
Rellena tus datos de usuario y ya puedes acceder al reproductor Ampache.
Antes de que pueda comenzar a usarlo, debemos habilitar FFmpeg para fines de transcodificación. Para habilitar eso, debe abrir el archivo /var/www/html/ampache/config/ampache.cfg.php para editarlo.
$ sudo nano /var/www/html/ampache/config/ampache.cfg.php
Reemplace la siguiente línea
;transcode_cmd = "ffmpeg"
con la siguiente línea quitando el símbolo de ampersand delante de ella.
transcode_cmd = "ffmpeg"
Prensa Control + X para cerrar el editor y pulsar Y cuando se le solicite guardar el archivo. Puede hacer muchos más cambios que desee a través de este archivo. Su instalación de Ampache está lista, pero para que funcione, primero debemos agregarle algo de música.
Agregar música
Para agregar música a Ampache, debemos crear un catálogo en el reproductor y luego cargar los archivos desde la interfaz web.
Primero, usa el Añadir catálogo opción en la página de inicio.
Seleccione local como el tipo de catálogo y complete la ruta /home/user/music. Si desea importar listas de reproducción, puede seleccionar la opción Crear listas de reproducción a partir de archivos de listas de reproducción. Asigne un nombre a su catálogo y luego haga clic en Añadir catálogo para proceder.
Ahora que nuestro catálogo está creado, debemos habilitar la opción para poder cargar archivos de música. Para hacer eso, haga clic en el cuarto botón de navegación en la barra de herramientas superior izquierda para acceder Administración ajustes.
Desplácese hacia abajo hasta el Configuración del servidor sección y haga clic en Sistema.
Encuentra el Permitir subidas de usuarios línea y seleccione En del menú desplegable. También puede seleccionar el tipo de usuario que puede agregar los archivos. En nuestro caso, es el Administrador de catálogo quien también pasa a ser el Administrador.
También debe establecer el destino de los archivos cargados por el usuario. Puede configurar esto usando el Catálogo de destinos línea. Seleccione el catálogo que acabamos de crear en el menú desplegable.
Hacer clic Actualizar preferencias Cuando acabes. Ahora puede agregar música a su instalación de Ampache. Para ello, haga clic en el icono de auriculares en el menú de navegación superior izquierdo.
Luego, haga clic en el Subir enlace en la sección Música.
Sobre el Subir página, explore y seleccione sus archivos de música desde su PC local y cárguelos. Si deja en blanco los campos Artista y Álbum, Ampache intentará identificarse automáticamente usando las etiquetas ID3 de los propios archivos.
Una vez que haya terminado, ahora puede encontrar sus archivos en cualquiera de las secciones del panel izquierdo y ahora puede transmitir su música.
Conclusión
Esto concluye nuestro tutorial sobre cómo instalar y usar el servidor de transmisión de música Ampache con tecnología de Fedora 33. Si tiene alguna pregunta o comentario, publíquelo en los comentarios a continuación.