O autor selecionou a Open Internet/Free Speech Fund para receber uma doação como parte do programa Write for DOnations.
O Ampache é um servidor de streaming de música de código aberto, que permite que você hospede e gerencie sua coleção de músicas digitais em seu próprio servidor. O Ampache pode fazer o streaming de suas músicas para seu computador, smartphone ou smart TV. Isso significa que você não precisa manter cópias de suas músicas no dispositivo que deseja usar para ouvi-las. Com o Ampache, você pode gerenciar sua coleção em seu servidor usando a interface Web do Ampache e ouvi-las em qualquer lugar.
Neste tutorial, você instalará e configurará o servidor Web e PHP do Apache, que exibirão sua instância do Ampache. Você criará, em seguida, um banco de dados MySQL que o Ampache utilizará para armazenar todas as informações operacionais. Por fim, você fará o upload de suas coleções de músicas para começar a fazer o streaming delas.
Antes de iniciar este guia, será necessário o seguinte:
Neste passo, você baixará o arquivo ZIP do Ampache ao seu servidor, desempacotará o arquivo em seu diretório base de instalação e fará algumas alterações necessárias no sistema de arquivos.
Primeiro, faça login em seu servidor com usuário não root. Em seguida, crie o diretório base do Ampache com o seguinte comando:
- sudo mkdir /var/www/ampache
Depois, instale o utilitário zip
necessário para desempacotar o arquivo do Ampache:
- sudo apt install zip
Agora baixe o arquivo ZIP da versão mais recente. Você pode encontrar o link da versão mais recente na página GitHub do Ampache. Nestes exemplos, é utilizada a versão 4.1.1
:
- wget https://github.com/ampache/ampache/releases/download/4.1.1/ampache-4.1.1_all.zip
Agora, desempacote o arquivo ZIP no diretório /var/www/ampache/
usando a opção -d
:
- sudo unzip ampache-4.1.1_all.zip -d /var/www/ampache/
Em seguida, defina o usuário e a identidade de grupo dos arquivos do Ampache para que o Apache consiga ler, gravar e executar os arquivos de instância do Ampache:
- sudo chown --recursive www-data:www-data /var/www/ampache/
A opção --recursive
faz com que o chown
altere a propriedade e a identidade de grupo de todos os arquivos e do subdiretório em /var/www/ampache/
para o usuário e grupo do Apache, www-data
.
Em seguida, renomeie os arquivos .htaccess
incluídos no arquivos ZIP. Os arquivos .htaccess
contêm informações de segurança e outras informações de operação para o Apache. Mas eles funcionarão apenas com o nome de extensão de arquivo .htaccess
. Renomeie os arquivos .htaccess.dist
fornecidos para .htaccess
com os comandos a seguir:
- sudo mv /var/www/ampache/rest/.htaccess.dist /var/www/ampache/rest/.htaccess
- sudo mv /var/www/ampache/play/.htaccess.dist /var/www/ampache/play/.htaccess
- sudo mv /var/www/ampache/channel/.htaccess.dist /var/www/ampache/channel/.htaccess
Agora, você criará o diretório que terá seus arquivos de música. Por razões de segurança, é melhor criar este diretório fora do diretório de instalação do Ampache. Desta maneira, ele não será legível ou modificável por solicitações Web mal-intencionadas, pois ele se encontra fora do DocumentRoot
do Ampache.
Crie o diretório /data/Music
com o seguinte comando:
- sudo mkdir -p /data/Music
Em seguida, altere a propriedade e identidade de grupo do arquivo para que o Apache consiga lê-lo e gravar nele:
- sudo chown www-data:www-data /data/Music
Para terminar a configuração, você instalará o FFmpeg, que é um utilitário que converte áudio e vídeo de um formato para outro. Por exemplo, você pode usá-lo para converter um arquivo de música em MP3 para um arquivo de música em OPUS. O Ampache utiliza o FFmpeg para converter rapidamente o áudio no formato em que foi enviado para um formato que o dispositivo de áudio possa reproduzir. Este é um processo conhecido como transcodificação.
Este processo é útil pois nem todos os dispositivos podem reproduzir todos os formatos de música. O Ampache consegue detectar quais formatos são compatíveis no aparelho de reprodução e fornece automaticamente sua música no formato adequado.
Instale o FFmpeg com o seguinte comando:
- sudo apt install ffmpeg
Você agora desempacotou e preparou sua instância do Ampache para o instalador Web e instalou o utilitário FFmpeg. Em seguida, você configurará o Apache e o PHP para auxiliar sua instância do Ampache.
Nesta seção, você configurará o Apache criando um novo arquivo VirtualHost, que fornecerá a configuração de que o Apache necessita para exibir seu domínio do servidor do Ampache. Você também instalará alguns módulos adicionais do PHP que ampliam as habilidades dele para cobrir as necessidades do Ampache.
Primeiro, instale alguns módulos adicionais do PHP que não estão incluídos na instalação PHP padrão:
- sudo apt install php-mysql php-curl php-json php-gd php7.2-xml
Estes módulos fornecem as seguintes funcionalidades adicionais:
php-mysql
— Habilita o PHP para se comunicar com um banco de dados MySQL.php-curl
— Habilita o PHP para usar o utilitário curl para baixar arquivos, como a arte da capa de um álbum, a partir de servidores remotos.php-json
— Habilita o PHP para ler e manipular arquivos de texto no formato JSON.php-gd
— Habilita o PHP para manipular e criar arquivos de imagem.php7.2-xml
— Habilita o PHP para ler e manipular arquivos de texto em formato XML.Em seguida, habilite alguns módulos do Apache usando o utilitário a2enmod
:
- sudo a2enmod rewrite expires
Estes módulos do Apache permitem que ele faça o seguinte:
rewrite
— Modifica ou reescreve URLs seguindo as regras fornecidas pelo Ampache.expires
— Configura o tempo de expiração da cache para objetos, como imagens, para que eles sejam armazenados de maneira mais eficiente pelos navegadores.Agora, você criará o arquivo VirtualHost
, que informará ao Apache como e onde carregar a instância do Ampache.
Nota: se você criou um arquivo VirtualHost
de teste, que utilize seu nome de domínio do Ampache ao seguir o guia “Como instalar o Linux, o Apache, o MySQL e a pilha PHP (LAMP) no 18.04”, será necessário desabilitá-lo. Utilize o utilitário a2dissite
para desabilitá-lo.
- sudo a2dissite test_virtalhost_file
Agora, crie e abra o arquivo VirtualHost
com seu editor de texto em /etc/apache2/sites-available/ampache.conf
:
- sudo nano /etc/apache2/sites-available/ampache.conf
Adicione o modelo VirtualHost
seguinte em seu arquivo:
<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>
Você deve alterar o your_domain
para o nome de domínio para o qual você redirecionou o seu servidor. Quando terminar de editar este arquivo, salve e saia do editor.
As diretivas neste arquivo VirtualHost
são:
ServerName
— O nome de domínio que o Apache usará para exibir sua instância do Ampache.DocumentRoot
— A localização do sistema de arquivos em seu servidor onde a instância do Ampache está localizada. Esse é o mesmo lugar que você desempacotou o arquivo ZIP no Passo 1.Directory
— Esta seção passa a configuração do Apache que é aplicável aos arquivos e diretórios contidos no caminho.RewriteEngine
— Habilita a reescrita do módulo Apache.CustomLog
— Cria um arquivo de registro que o Apache utilizará para registrar todos os registros de acesso ao seu servidor Ampache.ErrorLog
— Cria um arquivo de registro que o Apache utilizará para registrar todos os registros de erro gerados pelo seu servidor Ampache.Em seguida, verifique com utilitário apachectl
se o arquivo VirtualHost
que você criou não possui nenhum erro:
- sudo apachectl configtest
Se a configuração não contiver erros, você verá o seguinte resultado após o comando:
OutputSyntax OK
Se a configuração contiver erros, a saída mostrará o nome de arquivo e o número da linha onde o erro foi encontrado.
Nota: se você vir o erro:
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
Em seguida, será necessário editar o arquivo de configuração principal do Apache em /etc/apache2/apache2.conf
e adicionar a seguinte linha:
ServerName your_domain
Depois, habilite a nova configuração do VirtualHost
usando o utilitário a2ensite
:
- sudo a2ensite ampache
A configuração final é opcional, mas recomendada. A configuração padrão para se fazer upload de arquivos no PHP é que não pode ser feito nenhum upload de arquivos maiores do que 2MB. Os arquivos de música tendem a serem maiores do que este tamanho. Aumentar este tamanho permitirá que você utilize a interface do Ampache para fazer o upload de arquivos maiores em sua coleção de música.
Abra o /etc/php/7.2/apache2/php.ini
com o seguinte comando:
- sudo nano /etc/php/7.2/apache2/php.ini
E modifique as seguintes linhas:
. . .
upload_max_filesize = 2M
. . .
post_max_size = 8M
. . .
Para:
. . .
upload_max_filesize = 100M
. . .
post_max_size = 110M
. . .
Você poderá fazer o upload de arquivos de música de até 100MB. Utilize um valor maior, caso queira fazer upload de arquivos maiores que este tamanho. Salve e saia do arquivo.
Por fim, recarregue sua configuração atualizada do Apache:
- sudo systemctl reload apache2.service
Você configurou o Apache para exibir o Ampache via HTTP. Em seguida, você obterá um certificado TLS e configurará o Apache para usá-lo. Desta forma, você poderá acessar com segurança o Ampache via HTTPS.
Neste passo, você receberá um certificado TLS do Let’s Encrypt gratuito usando o utilitário Certbot, que habilita o acesso à navegação HTTPS. O Certbot criará o certificado, gerará automaticamente a configuração necessária do Apache e gerenciará a renovação automática do certificado.
Isso é importante, pois toda vez que você fizer o login no Ampache, você enviará seu nome de usuário e senha pela Internet. Se não estiver usando o HTTPS, então sua senha será enviada em texto simples, que pode ser lido ao passar pela Internet.
As versões LTS do Ubuntu normalmente não contêm os pacotes mais recentes. Isso também vale para o programa Certbot. Os desenvolvedores do Certbot mantêm um repositório Ubuntu dedicado conhecido como PPA. Assim, os usuários do Ubuntu conseguem manter uma cópia atualizada do Certbot.
Instale o repositório do Certbot com o seguinte comando:
- sudo add-apt-repository ppa:certbot/certbot
Agora, instale o utilitário certbot
:
- sudo apt install python-certbot-apache
Em seguida, utilize o certbot
para obter o certificado TLS:
- sudo certbot --apache -d your_domain
A opção --apache
utiliza o plug-in do Apache que permite que o Certbot leia e configure o Apache automaticamente. O -d your_domain
especifica o nome de domínio para o qual você deseja que o Certbot crie o certificado.
Quando executar o comando certbot
, você terá que responder a uma série de perguntas. Será solicitado que você digite um endereço de e-mail e que concorde com os termos de serviço.
Se o certbot
confirmar que você controla seu domínio, ele pedirá que defina suas configurações do 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 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):
No redirect
: o Apache auxiliará o Ampache através do HTTP e do HTTPS.Redirect
: o Apache redirecionará todas as conexões HTTP para o HTTPS automaticamente. Isso significa que seu servidor Ampache estará disponível apenas via HTTPS. Esta é a opção mais segura e não afetará a maneira como sua instância Ampache se comporta. Esta é a escolha que recomendamos.Finalmente, teste se a renovação automática do certificado funciona executando o seguinte comando:
- sudo certbot renew --dry-run
A opção --dry-run
significa que o certbot
fará uma tentativa de renovação sem fazer alterações permanentes em seu servidor. Se o teste for bem-sucedido, a saída incluirá a seguinte linha:
OutputCongratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/your_domain/fullchain.pem (success)
O Apache e o PHP estão prontos para exibir sua instância do Ampache. No próximo passo, você criará e configurará o banco de dados do Ampache.
O Ampache utiliza um banco de dados MySQL para armazenar informações, como playlists, preferências de usuário e assim por diante. Neste passo, você criará um banco de dados e um usuário do MySQL que o Ampache utilizará para acessá-lo.
Você precisará fornecer três informações para completar as seguintes instruções e assim criar o banco de dados do Ampache:
ampache_database
: o nome do banco de dados Ampache.database_user
: o usuário MySQL que o Ampache usará para acessar o banco de dados. Este não é um usuário do sistema e ele pode acessar apenas o banco de dados.database_password
: a senha do usuário do banco de dados. Escolha uma senha segura.Anote estes detalhes. Você precisará deles mais tarde.
Primeiro, abra o shell interativo do MySQL com o comando mysql
:
- mysql --user=root --password
O --user=root
abre o shell do MySQL como o usuário root do MySQL, e o --password
solicita a senha do usuário root.
O seguinte comando criará um banco de dados vazio:
- CREATE DATABASE ampache_database;
Em seguida, crie o usuário MySQL:
- CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'database_password';
Agora, dê ao novo usuário acesso completo ao banco de dados:
- GRANT ALL PRIVILEGES ON ampache_database.* TO 'database_user'@'localhost';
Por fim, verifique se o novo banco de dados existe, executando o seguinte comando:
- SHOW DATABASES;
Você verá o seguinte resultado:
+--------------------+
| Database |
+--------------------+
| information_schema |
| ampache_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
Saia do shell do MySQL digitando exit;
.
Teste o banco de dados, nome do usuário e senha ao tentar fazer o login ao shell do MySQL com o database_user
.
Digite o seguinte comando para fazer o login ao shell do MySQL como o novo usuário:
- mysql --user=database_user --password ampache_database
Você criou o banco de dados que o Ampache utilizará. Você finalizou a configuração de seu servidor e está pronto para completar a instalação com o instalador Web.
Neste passo, você utilizará o instalador Web do Ampache para terminar a instalação, fornecendo ao Ampache as informações que precisará para executar, como o usuário administrador Web, os detalhes do banco de dados e outras configurações.
Inicie a instalação digitando https://your_domain
em seu navegador.
Selecione o idioma de interface do Ampache e clique no botão Iniciar Configuração para continuar.
Esta página é onde o Ampache verifica se o servidor cumpre seus requisitos. Cada linha nesta página representa um teste que o instalador realiza para garantir que, por exemplo, todos os módulos necessários do PHP estejam presentes e funcionando. Você verá que cada teste possui uma marca de seleção para indicar que seu servidor está pronto para o Ampache.
Clique no botão Continuar para seguir para a próxima página.
Esta página cria o banco de dados do Ampache se ele não existir e o formata. Preencha os campos da seguinte maneira:
ampache_database
localhost
database_user
database_password
Clique no botão Inserir banco de dados para continuar.
Esta página criará o arquivo de configuração que o Ampache utilizará para funcionar. Preencha os campos como segue:
Caminho Web:<EMPTY>
Nome do banco de dados: ampache_database
Nome do host do MySQL: localhost
Porta do MySQL (opcional):<EMPTY>
Nome de usuário do MySQL: database_user
Senha do MySQL: database_password
Tipo de instalação Deixe isso na configuração padrão.
Permitir transcodificação Selecione ffmpeg na lista suspensa.
Players Deixe-os nas configurações padrão.
Clique no botão Criar Configuração para continuar.
Esta página cria o primeiro usuário da interface Web. Este usuário é criado com privilégios administrativos completos, e é o usuário que você utilizará para fazer login e configurar o Ampache pela primeira vez.
Escolha um nome de usuário e uma senha segura. Digite a senha nos campos Senha e Confirmar senha.
Clique no botão Criar Conta para continuar.
Esta página realizará alterações administrativas no banco de dados do Ampache sempre que necessário. Estas alterações são feitas durante a atualização de versão. No entanto, como esta é uma nova instalação, o instalador não fará nenhuma alteração.
Clique no botão Atualizar agora! para continuar.
Esta página exibe e explica qualquer atualização que o instalador tenha feito no passo anterior. Você deve ver que não há atualizações listadas.
Clique no link [Retornar para página principal] para seguir para a página de login. Digite seu nome de usuário e senha que definiu para fazer login em seu servidor Ampache.
O Ampache ainda não está totalmente configurado e pronto para ser utilizado. Agora, você completará a configuração adicionando suas músicas e poderá começar a usar seu novo servidor Ampache.
Um servidor de música não serve para nada se não tiver músicas para reproduzir. Neste passo, você configurará um catálogo de músicas e fará o upload de algumas músicas. “Catálogo” é o nome que o Ampache dá a uma coleção de músicas. O Ampache consegue ler músicas de origens variadas, estejam elas dentro ou fora do servidor. Entretanto, neste tutorial, você fará o upload e armazenará suas músicas no servidor em um catálogo local (modo como o Ampache se refere a elas).
Primeiro, na linha seguinte, clique no link adicionar um Catálogo na primeira página que você visualizar ao fazer login no Ampache:
Nenhum Catálogo configurado. Para começar a fazer o streaming de sua mídia, será necessário adicionar um Catálogo.
Isso levará você à página Adicionar Catálogo. Preencha os campos como segue:
dê a este catálogo um nome curto e fácil de lembrar.
local
/data/Music
Clique no botão Adicionar Catálogo para completar esta página.
Na página seguinte, clique no botão Continuar. Isso levará você à página Mostrar Catálogos, que exibirá os detalhes do catálogo que você criou. Você poderá alterar as configurações do catálogo a qualquer momento.
Habilite o recurso de upload Web do Ampache clicando no terceiro ícone de navegação para abrir as configurações estendidas:
Role para baixo para a seção Configurar Servidor e clique no link Sistema para abrir a página de configuração do sistema.
Encontre a linha Permitir uploads do usuário e selecione Habilitar no menu suspenso da coluna Valor.
Você também pode escolher os níveis de usuário que poderão fazer upload de arquivos de música. O nível padrão é o Gerenciador de Catálogos, que permite que o Gerenciador de Catálogos e todos os usuários com privilégios maiores façam upload de músicas. Neste caso, o usuário com privilégios maiores é o administrador.
Você também precisa definir o catálogo ao qual a música será adicionada. Defina isso usando a linha Catálogo de Destino. Selecione o catálogo que você criou no Valor suspenso.
Clique no botão Atualizar preferências no final da página para completar a configuração. Tudo está pronto para fazer o upload de algumas músicas.
Primeiro, clique no primeiro ícone de configuração:
Em seguida, clique no link Upload na seção Músicas.
Na página Upload, clique no botão Procurar para localizar seus arquivos de música em seu computador e faça o upload deles.
Se você deixar os rótulos Artista e Álbum em branco, o Ampache lerá, de maneira automática, as tags ID3 dos arquivos de música para descobrir o artista e o álbum. Após fazer o upload de algumas músicas, você poderá encontrá-las clicando nos links Músicas, Álbuns ou Artistas na seção Músicas no painel de navegação à esquerda.
Seu servidor de músicas Ampache está pronto para começar a fazer o streaming de suas músicas.
Neste artigo, você instalou e configurou um servidor de streaming de música Ampache e fez o upload de algumas das suas músicas. Agora, você pode escutá-las onde quiser e em qualquer um de seus dispositivos. A Documentação do Ampache ajudará você a usar e estender seu servidor de streaming. Estes aplicativos do Android e este aplicativo do iOS farão o streaming de suas músicas para o seu telefone. O Ampache organiza suas músicas no servidor usando as tags ID3 nos arquivos delas. O programa MusicMrainz ajudará você a gerenciar as tags ID3 dos seus arquivos de música.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.