Автор выбрал фонд Open Internet/Free Speech для получения пожертвований в рамках программы Write for DOnations.
Ampache — это сервер для потоковой трансляции музыки с открытым исходным кодом, который позволяет публиковать и управлять вашей цифровой музыкальной коллекцией на своем собственном сервере. Ampache может транслировать поток музыки на ваш компьютер, смартфон, планшет или телевизор с поддержкой технологии Smart TV. Вам больше не придется хранить вашу коллекцию музыки отдельно на каждом устройстве для прослушивания. Ampache позволит вам управлять вашей музыкой на сервере при помощи веб-интерфейса Ampache и прослушивать ее в любом месте, где бы вы не находились.
В этом руководстве вы установите и настроите веб-сервер Apache и PHP, который будет обслуживать ваш экземпляр Ampache. Затем вы создадите базу данных MySQL, которая будет использоваться Ampache для хранения всей рабочей информации. В заключении вы загрузите свою коллекцию музыки для дальнейшей потоковой трансляции.
Для прохождения этого обучающего руководства вам потребуется следующее:
На этом шаге вы загрузите ZIP-архив Ampache на ваш сервер, распакуете его в домашнюю директорию для установки и внесете необходимые системные изменения.
Войдите на сервер как non-root user. Создайте домашнюю директорию Ampache с помощью следующей команды:
- sudo mkdir /var/www/ampache
Установите утилиту zip
для распаковки архива Ampache:
- sudo apt install zip
Загрузите ZIP-архив с последней версией. Ссылка на последнюю версию находится на странице Ampache GitHub. В этом руководстве используется версия 4.1.1
:
- wget https://github.com/ampache/ampache/releases/download/4.1.1/ampache-4.1.1_all.zip
Распакуйте ZIP-архив в директорию /var/www/ampache/
, используя опцию -d
:
- sudo unzip ampache-4.1.1_all.zip -d /var/www/ampache/
Определите пользователя и групповую принадлежность файлов Ampache, чтобы Apache смог считывать, записывать и выполнять файлы экземпляра Ampache:
- sudo chown --recursive www-data:www-data /var/www/ampache/
Опция --recursive
позволяет команде chown
менять владельца и групповую принадлежность всех файлов, а также поддиректорию в /var/www/ampache
на пользователя и группу www-data
Apache.
Переименуйте файлы .htaccess
в ZIP-архиве. Файлы .htaccess
содержат информацию по безопасности и рабочие данные Apache. Эти файлы могут работать только с расширением .htaccess
. Переименуйте полученные файлы .htaccess.dist
в .htaccess
, выполнив следующие команды:
- 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
Далее вы создадите директорию для ваших музыкальных файлов. В целях обеспечения безопасности эта директория не должна находиться в директории с установочными файлами Ampache. Это защитит ее от считывания и злоумышленники не смогут внести изменения в нее, так как она будет находиться за пределами DocumentRoot
Ampache.
Создайте директорию /data/Music
с помощью следующей команды:
- sudo mkdir -p /data/Music
Измените владельца и групповую принадлежность, чтобы Apache мог выполнять считывание и запись файлов:
- sudo chown www-data:www-data /data/Music
Для завершения настройки установите утилиту FFmpeg для конвертации аудио и видео из одного формата в другой. Например, вы сможете использовать ее для конвертации музыкального файла из MP3 формата в формат OPUS. Ampache использует FFmpeg для быстрой конвертации аудиофайла из формата загрузки в формат для проигрывания на устройстве. Этот процесс называется транскодингом.
Он удобен, так как многие устройства не поддерживают воспроизведение всех форматов музыкальных файлов. Ampache может определять форматы, поддерживаемые устройством, и автоматически конвертировать загружаемые файлы в нужный формат.
Установите FFmpeg с помощью следующей команды:
- sudo apt install ffmpeg
Распаковка завершена, вы подготовили ваш экземпляр Ampache для веб-установщика и установили утилиту FFmpeg. Далее вы настроите Apache и PHP для обслуживания вашего экземпляра Ampache.
В этом разделе вы настроите Apache, создадите новый файл VirtualHost, который будет определять конфигурацию Apache для обслуживания вашего домена сервера Ampache. Вы также установите дополнительные модули PHP, расширяющие возможности PHP для удовлетворения требований Ampache
Установите несколько дополнительных модулей PHP, которые не были включены в пакет установки PHP по умолчанию:
- sudo apt install php-mysql php-curl php-json php-gd php7.2-xml
Эти модули обеспечат следующие дополнительные возможности:
php-mysql
— обеспечивает связь между PHP и базой данных MySQL.php-curl
— позволяет PHP использовать утилиту curl для загрузки файлов, например, обложек альбомов с внешних серверов.php-json
— позволяет PHP считывать и работать с текстовыми файлами в формате JSON.php-gd
— позволяет PHP создавать и работать с файлами изображений.php7.2-xml
- позволяет PHP создавать и работать с файлами в формате XML.Включите пару модулей Apache с помощью утилиты a2enmod
:
- sudo a2enmod rewrite expires
Эти модули позволяют Apache выполнять следующее:
rewrite
— изменяет или перезаписывает URL-адреса согласно правилам Ampache.expires
— определяет период хранения объектов, например, изображений, для повышенной эффективности хранения данных в браузере.Сейчас вы создадите файл VirtualHost
, указывающий Apache на то, как и откуда загрузить экземпляр Ampache.
Примечание. Если вы создали тестовый файл VirtualHost
, в котором используется ваше доменное имя Ampache, созданное по инструкциям из руководства «Установка стека Linux, Apache, MySQL, PHP (LAMP) на Ubuntu 18.04», вы должны выключить его. Для выключения воспользуйтесь утилитой a2dissite
:
- sudo a2dissite test_virtalhost_file
Создайте и откройте файл VirtualHost
в текстовом редакторе в /etc/apache2/sites-available/ampache.conf
:
- sudo nano /etc/apache2/sites-available/ampache.conf
Добавьте следующий шаблон VirtualHost
в ваш файл:
<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>
Измените your_domain
на доменное имя, которое вы перенаправили на ваш сервер. После завершения сохраните файл и выйдите из редактора.
Директивы в файле VirtualHost
:
ServerName
— доменное имя, которое Apache будет использовать для обслуживания вашего экземпляра Ampache.DocumentRoot
— местоположение файловой системы на вашем сервере с установленным экземпляром Ampache. Оно совпадает с местом распаковки ZIP-архива на шаге 1.Directory
— этот раздел передает конфигурацию в Apache, которая применяется ко всем файлам и директориям в составе пути.RewriteEngine
— позволяет выполнить перезапись модуля Apache.CustomLog
— создает файл журнала, который будет использовать Apache для записи всех сеансов доступа для вашего сервера Ampache.ErrorLog
— создает файл журнала, который будет использовать Apache для записи всех ошибок, создаваемых сервером Ampache.Используя утилиту apachecl
, проверьте файл VirtualHost
на отсутствие ошибок:
- sudo apachectl configtest
Если ошибки отсутствуют, после команды вы увидите следующий результат:
OutputSyntax OK
Если в конфигурации содержатся ошибки, в результате будет указано имя файла и номер строки, где была обнаружена ошибка.
Примечание. В случае обнаружения ошибки:
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
Отредактируйте файл основной конфигурации Apache в /etc/apache2/apache2.conf
и добавьте следующую строку:
ServerName your_domain
Активируйте новую конфигурацию VirtualHost
с помощью утилиты a2ensite
:
- sudo a2ensite ampache
Конечная конфигурация необязательна, но рекомендуется. По умолчанию в PHP нельзя загружать файлы размером, превышающим 2 Мб. Музыкальные файлы обычно имеют больший размер, поэтому увеличение значения по умолчанию позволит использовать интерфейс Ampache для загрузки файлов большего размера в вашу коллекцию музыки.
Откройте /etc/php/7.2/apache2/php.ini
с помощью следующей команды:
- sudo nano /etc/php/7.2/apache2/php.ini
Внесите изменения в следующие строки:
. . .
upload_max_filesize = 2M
. . .
post_max_size = 8M
. . .
До:
. . .
upload_max_filesize = 100M
. . .
post_max_size = 110M
. . .
Теперь вы сможете загружать музыкальный файлы размером до 100 Мб. Введите большее значение для загрузки файлов большего размера. Сохраните и закройте файл.
Перезагрузите обновленную конфигурацию Apache:
- sudo systemctl reload apache2.service
Вы только что настроили Apache для обслуживания Ampache через HTTP. Далее вы получите сертификат TLS, произведете настройку Apache для защиты доступа к Ampache через HTTPS.
На этом шаге вы получите бесплатный TLS сертификат Let’s Encrypt TLS с помощью утилиты Certbot, который активирует протокол HTTPS. Certbot создаст сертификат, автоматически сгенерирует требуемую конфигурацию для Apache и произведет автоматическое обновление сертификата.
Это важно, поскольку при каждом входе в Ampache вы будете отсылать ваше имя пользователя и пароль через сеть Интернет. Если не использовать HTTPS, то незащищенный пароль можно будет прочесть во время его пересылки по сети Интернет.
Релизы LTS для Ubuntu обычно не имеют последних пакетов, для этого используется программа Certbot. Разработчики Certbot создали репозиторий специально для Ubuntu, также известный как PPA, где пользователи Ubuntu имеют возможность скачать Certbot и выполнить ее обновление до последней версии.
Установите репозиторий Certbot с помощью команды:
- sudo add-apt-repository ppa:certbot/certbot
Установите утилиту certbot
:
- sudo apt install python-certbot-apache
Используйте утилиту Certbot
для получения сертификата TLS:
- sudo certbot --apache -d your_domain
Опция --apache
использует плагин Apache, позволяющий Certbot автоматически считывать и настраивать Apache. your_domain
определяет доменное имя для которого Certbot создаст сертификат.
При выполнении команды certbot
вам будет предложено ответить на несколько вопросов. От вас попросят ввести адрес электронной почты и согласиться с условиями обслуживания.
Если программа certbot
успешно установит, что домен контролируется вами, она попросит вас произвести настройку 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
: Apache будет обслуживать Ampache через HTTP и HTTPS.Redirect
: Apache автоматически перенаправит любые соединения через HTTP на HTTPS. Это будет означать, что доступ к вашему серверу Ampache будет возможен только через HTTPS. Опция обеспечивает большую защиту и не влияет на работу вашего экземпляра Ampache. Рекомендуется сделать этот выбор.Убедитесь, что автоматическое обновление сертификата было успешно выполнено с помощью команды:
- sudo certbot renew --dry-run
Опция --dry-run
означает, что certbot
проверит попытку обновления без внесения постоянных изменений в ваш сервер. Если проверка пройдет успешно, в результате будет содержаться следующая строка:
OutputCongratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/your_domain/fullchain.pem (success)
Apache и PHP готовы к обслуживанию вашего экземпляра Ampache. На следующем шаге вы создадите и настроите базу данных Ampache.
Ampache использует базу данных MySQL для хранения различной информации, например, плейлистов, пользовательских настроек и т. д. На этом шаге вы создадите базу данных и пользователя MySQL, который будет иметь доступ к ней.
Для создания базы данных Ampache вам необходимо предоставить следующую информацию:
ampache_database
: имя базы данных Ampache.database_user
: пользователь MySQL, который будет использоваться Ampache для доступа к базе данных. Этот пользователь отличается от пользователя системы и имеет доступ только к базе данных.database_password
: пароль пользователя базы данных. Убедитесь, что выбрали надежный пароль.Запомните указанную информацию, она понадобится вам позднее.
Откройте интерактивную оболочку MySQL с помощью команды mysql
:
- mysql --user=root --password
--user=root
открывает оболочку MySQL от имени root user, а --password
запрашивает пароль пользователя.
Создайте пустую базу данных с помощью команды:
- CREATE DATABASE ampache_database;
Создайте пользователя MySQL:
- CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'database_password';
Предоставьте новому пользователю полный доступ к базе данных:
- GRANT ALL PRIVILEGES ON ampache_database.* TO 'database_user'@'localhost';
Проверьте, что новая база данных была создана с помощью команды:
- SHOW DATABASES;
Результат будет выглядеть следующим образом:
+--------------------+
| Database |
+--------------------+
| information_schema |
| ampache_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
Выполните выход из оболочки MySQL с помощью команды exit;
.
Проверьте базу данных, имя пользователя и пароль путем входа в оболочку MySQL с database_user
.
Введите следующую команду для входа в оболочку MySQL в качестве нового пользователя:
- mysql --user=database_user --password ampache_database
Вы создали базу данных для использования Ampache. Вы закончили настройку сервера и готовы завершить процесс установки с помощью веб-установщика.
На этом шаге вы используете веб-установщик Ampache для завершения процесса установки и предоставления Ampache необходимой информации для работы, например, имени администратора веб-интерфейса, информации по базе данных и других настроек.
Введите https://your_domain
в ваш браузер для начала веб-установки.
Выберите язык интерфейса Ampache и нажмите кнопку Start Configuration, чтобы продолжить.
На этой странице Ampache выполнит проверку соответствия сервера необходимым требованиям. Каждая строка страницы выполняет определенную проверку, например, проверку того, что все модули PHP присутствуют и находятся в рабочем состоянии. После того, как рядом с каждой проверкой появится галочка зеленого цвета, это будет означать, что ваш сервер готов к работе с Ampache.
Нажмите Continue для перехода на следующую страницу.
Если база данных Ampache отсутствует, то на этой странице она будет создана и отформатирована. Заполните следующие поля:
ampache_database
localhost
database_user
database_password
Нажмите кнопку Insert Database для продолжения.
На этой странице создается файл конфигурации для использования Ampache. Заполните поля следующим образом:
Сетевой путь:<EMPTY>
Имя базы данных: ampache_database
Имя хоста MySQL: localhost
Порт MySQL Port (необязательно):<EMPTY>
Имя пользователя MySQL: database_user
Пароль MySQL: database_password
Тип установки Оставьте значение по умолчанию.
Разрешить транскодинг Выберите ffmpeg из выпадающего списка.
Проигрыватели Оставьте значения по умолчанию.
Нажмите кнопку Create Config для продолжения.
На этой странице создается главный пользователь веб-интерфейса. Этот пользователь будет обладать всеми административными правами и привилегиями, вы используете его для входа и первой настройки Ampache.
Выберите имя пользователя и надежный пароль, введите пароль в поля Password и Confirm Password.
Нажмите кнопку Create Account для продолжения.
На этой странице можно внести любые необходимые административные изменения в базу данных Ampache. Изменения вносятся во время последующего обновления программы, так как установка была выполнена в первый раз, никаких изменений не будет.
Нажмите кнопку **Update Now!** для продолжения.
На этой странице отображаются и разъясняются все изменения, произведенные установщиком на предыдущем шаге. Для вас эта страница будет пустой.
Пройдите по ссылке [Return to main page] для перехода на страницу входа в систему. Введите имя пользователя и пароль, которые были определены для входа на сервер Ampache.
Для начала использования Ampache необходимо выполнить еще одну небольшую настройку. Настройка будет заключаться в добавлении музыки для вашего нового сервера Ampache.
Для начала использования сервера необходимо добавить музыкальные файлы. На этом шаге вы настроите каталог для музыки и загрузите в него несколько музыкальных файлов. “Каталог” - это имя, которое Ampache присваивает коллекции музыки. Ampache может загружать музыку как с сервера, так и из внешних источников, здесь вы загрузите и сохраните музыкальные файлы с сервера в локальный каталог Ampache.
Пройдите по ссылке add a Catalog в следующей сроке на первой странице, которую вы увидите после входа в Ampache:
Настройка Catalog еще не выполнена. Для начала потокового воспроизведения ваших медиа-файлов вам потребуется добавить Catalog.
Для этого нужно перейти на страницу Add Catalog. Заполните поля следующим образом:
local
/data/Music
Нажмите кнопку Add Catalog для завершения действий на этой странице.
Нажмите кнопку Continue на следующей странице. На экране появится страница Show Catalogs, где будет отображаться информация по созданному каталогу. Настройки каталога можно изменять в любое время.
Включите утилиту веб-загрузки Ampache, нажав на третью навигационную иконку для доступа к расширенным настройкам:
Прокрутите вниз до раздела Server Config и пройдите по ссылке System для того, чтобы открыть страницу с системными настройками.
Найдите строку Allow user uploads и выберите Enable из выпадающего меню в столбце Value.
Вы также можете выбрать уровень пользователя для загрузки музыкальных файлов. Уровень по умолчанию Catalog Manager, он позволяет всем пользователям уровня Catalog Manager и выше загружать музыку. В нашем случае это администратор.
Также необходимо установить каталог для добавления музыкальных файлов. Определите его в строке Destination catalog. Выберите созданный каталог из выпадающего списка Value.
Нажмите кнопку Update Preferences для завершения настройки конфигурации. Вы можете загрузить музыкальные файлы.
Нажмите на первую иконку настроек:
Пройдите по ссылке Upload в разделе Music.
Нажмите Browse на странице Upload, найдите музыкальные файлы на вашем компьютере и загрузите их.
Если вы оставите ярлыки Artist и Album пустыми, Ampache будет автоматически считывать ID3 теги музыкальных файлов, чтобы определить исполнителя и название альбома. После загрузки музыкальных файлов их можно будет найти с помощью ссылок Songs, Albums или Artists в разделе Music на навигационной панели слева.
Ваш музыкальный сервер Ampache готов к потоковому воспроизведению музыки.
В этой статье вы научились устанавливать и настраивать сервер потоковой трансляции музыки Ampache и загружать музыкальные файлы. Вы можете начать прослушивание музыки в любом месте, где бы вы не были, на любом из ваших устройств. Дополнительная информация по использованию и расширенным возможностям вашего сервера потоковой трансляции музыки находится в Документации Ampache. Эти приложения Android и эти приложения iOS можно использовать для потоковой трансляции музыки на ваш телефон. Ampache организует вашу музыку на сервере с помощью ID3 тегов в музыкальных файлах. Программа MusicMrainz поможет вам управлять ID3 тегами ваших музыкальных файлов.
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!