Instalar Ampache Music Streaming Server en Ubuntu 20.04

Instalar Ampache Music Streaming Server en Ubuntu 20.04, Debian 10 y todos sus derivados.

Ampache es un servidor de música vía web multiplataforma, además de código abierto. En sus inicios fue diseñado para ejecutarse en un servidor web apache, actualmente puede operar en otros sistemas, como por ejemplo Nginx.

Ampache puede transmitir música a pc, smartphone, tableta o TV inteligente, sin ningún tipo de limitación. En el artículo de hoy, instalaremos Ampache en Ubuntu 20.04 a modo de ejemplo, pero es compatible con Debian 10 y todos sus derivados. En nuestro caso, usaremos Nginx como servidor web y MySQL como base de datos.

Ampache

Ampache

 

Instalar Ampache Music Streaming Server en Ubuntu 20.04

Como es habitual, primero actualizamos nuestro sistema.

sudo qpt update

sudo apt full-upgrade

Continuamos con la instalación de Nginx.

sudo apt install nginx

Ejemplo.

root@SoloLinux-demo:~# sudo apt install nginx
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail
  libnginx-mod-stream libtiff5 libwebp6 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4 libxslt1.1 nginx-common nginx-core
Suggested packages:
  libgd-tools fcgiwrap nginx-doc
The following NEW packages will be installed:
  libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail
  libnginx-mod-stream libtiff5 libwebp6 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4 libxslt1.1 nginx nginx-common
  nginx-core
0 upgraded, 20 newly installed, 0 to remove and 0 not upgraded.
Need to get 2151 kB of archives.
After this operation, 8113 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Iniciamos Nginx, lo habilitamos y verificamos su estatus.

sudo systemctl start nginx

sudo systemctl enable nginx

sudo systemctl status nginx

Imagen de ejemplo.

Instalar Nginx en Ubuntu 20.04

Instalar Nginx en Ubuntu 20.04

 

Ahora creamos el archivo de configuración.

sudo nano /etc/nginx/sites-available/ampache.conf

Copia y pega lo siguiente, ojo, inserta tu dominio.

nginxserver {
    listen 80;
    listen [::]:80;

    server_name  ampache.midominio.com;   #<<< dominio
    root   /var/www/html/ampache;
    index  index.php;
    
    access_log /var/log/nginx/ampache.midominio.com.access.log;   #<<< dominio
    error_log /var/log/nginx/ampache.midominio.com.error.log;   #<<< dominio

    client_max_body_size 100M;
  
    autoindex off;

#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; 
    }

#Rewrite rule for Channels
 if (!-d $request_filename){
   rewrite ^/channel/([0-9]+)/(.*)$ /channel/index.php?channel=$1&target=$2 last;
    }

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$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }
}

Guarda el archivo y cierra el editor. Creamos el enlace absoluto.

sudo unlink /etc/nginx/sites-enabled/default

sudo ln -s /etc/nginx/sites-available/ampache.conf /etc/nginx/sites-enabled/

sudo systemctl restart nginx

Instalamos properties y el repositorio universe.

sudo apt-get install software-properties-common

sudo add-apt-repository universe

Nota: Este paso no es obligatorio.

Aplicamos Let’s Encrypt SSL a Nginx. Dependiendo de tu versión, deberás elegir un comando u otro.

sudo apt install -y nginx certbot python-certbot-nginx

# o

sudo apt install -y nginx certbot python3-certbot-nginx

Configura el certificado según tus necesidades.

sudo certbot --nginx -d ampache.dominio.com
Agragar certificado SSL a Ampache

Agregar certificado SSL a Ampache

 

Continuamos con la instalación de php.

sudo apt install php php-cli php-common php-gd php-xmlrpc php-fpm php-curl php-intl php-imagick php-mysql php-zip php-xml php-mbstring php-bcmath -y

Abrimos con un editor su archivo de configuración.

sudo nano /etc/php/7.4/fpm/php.ini

Busca las líneas indicadas a continuación y, modificas los valores tal como en el ejemplo.

file_uploads = On

allow_url_fopen = On

short_open_tag = On

memory_limit = 256M

cgi.fix_pathinfo = 0

upload_max_filesize = 250M  #Puedes modificar este valor si tienes archivos muy grandes

max_execution_time = 360

 

Bien… es evidente que nos falta MySQL.

sudo apt install mysql-server

Ejemplo.

root@SoloLinux-demo:~# sudo apt install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl
  libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl
  liblwp-mediatypes-perl libmecab2 libnuma1 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0
  mysql-client-core-8.0 mysql-server-8.0 mysql-server-core-8.0
Suggested packages:
  libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx tinyca
The following NEW packages will be installed:
  libaio1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl
  libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl
  liblwp-mediatypes-perl libmecab2 libnuma1 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0
  mysql-client-core-8.0 mysql-server mysql-server-8.0 mysql-server-core-8.0
0 upgraded, 26 newly installed, 0 to remove and 0 not upgraded.
Need to get 31.3 MB of archives.
After this operation, 259 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Asegura la instalación.

mysql_secure_installation

 

Es necesario crear una base de datos y su usuario.

sudo mysql
CREATE DATABASE ampache_db;

Ahora el usuario «ampache». No te olvides de insertar un password.

CREATE USER 'ampache'@'localhost' IDENTIFIED WITH mysql_native_password BY 'passsword';

GRANT ALL PRIVILEGES ON ampache_db.* TO 'ampache'@'localhost' WITH GRANT OPTION;

FLUSH PRIVILEGES;

Una vez termines la configuración, escribe «exit» para salir de la consola MySQL.

Salir de la consola MySQL

Salir de la consola MySQL

 

Ya tenemos nuestro servidor preparado, llego la hora de instalar Ampache.

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

Ahora sigue todos los pasos que te indico.

unzip ampache-4.4.3_all.zip -d /var/www/html/ampache
sudo chown -R www-data:www-data /var/www/html/ampache

sudo chown -R 755 /var/www/html/ampache

Creamos el directorio donde cargaremos la música y, le concedemos permisos.

sudo mkdir -p /data/mi_musica
sudo chown -R www-data:www-data /data/mi_musica

Ampache usa ffmpeg para convertir archivos, lo instalamos.

sudo apt install ffmpeg

Para concluir la instalación, reiniciamos nuestro servidor Ampache.

sudo reboot

Una vez reinicie el sistema, tan solo tienes que insertar tu dominio elegido en el navegador web. Te aparece la ventana de selección de idioma…

Idioma de la instalacion

Idioma de la instalación

 

Se verifica que se cumplen todos los requisitos necesarios.

Requisitos del servidor Ampache

Requisitos del servidor Ampache

 

Por último… inserta los datos que te solicita y continua. Al concluir todo el proceso, ya tendrás listo tu servidor de música Ampache, haces click en volver a la página inicial para acceder a la herramienta.

Configurar Ampache

Configurar Ampache

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

Chat de SoloLinux en Telegram

 

2 Comentarios

  1. Ramon
    24/06/2021
    • Sergio G.B.
      26/06/2021

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido