One place for hosting & domains

      Streaming

      Установка Ampache Music Streaming Server на Ubuntu 18.04


      Автор выбрал фонд Open Internet/Free Speech для получения пожертвований в рамках программы Write for DOnations.

      Введение

      Ampache — это сервер для потоковой трансляции музыки с открытым исходным кодом, который позволяет публиковать и управлять вашей цифровой музыкальной коллекцией на своем собственном сервере. Ampache может транслировать поток музыки на ваш компьютер, смартфон, планшет или телевизор с поддержкой технологии Smart TV. Вам больше не придется хранить вашу коллекцию музыки отдельно на каждом устройстве для прослушивания. Ampache позволит вам управлять вашей музыкой на сервере при помощи веб-интерфейса Ampache и прослушивать ее в любом месте, где бы вы не находились.

      В этом руководстве вы установите и настроите веб-сервер Apache и PHP, который будет обслуживать ваш экземпляр Ampache. Затем вы создадите базу данных MySQL, которая будет использоваться Ampache для хранения всей рабочей информации. В заключении вы загрузите свою коллекцию музыки для дальнейшей потоковой трансляции.

      Предварительные требования

      Для прохождения этого обучающего руководства вам потребуется следующее:

      • Один сервер Ubuntu 18.04, настроенный в соответствии с инструкциями по начальной настройке сервера с Ubuntu 18.04, а также non-root, sudo user.
      • Apache, MySQL, и PHP, установленные на вашем сервере согласно инструкциям из Установка стека Linux, Apache, MySQL, PHP (LAMP) на Ubuntu 18.04.
      • Доменное имя, настроенное так, чтобы указывать на ваш сервер. Вы можете узнать, как указывать домены на DigitalOcean Droplet, из руководства Настройка имени хоста с помощью DigitalOcean.

      Шаг 1 — Установка Ampache

      На этом шаге вы загрузите ZIP-архив Ampache на ваш сервер, распакуете его в домашнюю директорию для установки и внесете необходимые системные изменения.

      Войдите на сервер как non-root user. Создайте домашнюю директорию Ampache с помощью следующей команды:

      • sudo mkdir /var/www/ampache

      Установите утилиту zip для распаковки архива Ampache:

      Загрузите 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 с помощью следующей команды:

      Распаковка завершена, вы подготовили ваш экземпляр Ampache для веб-установщика и установили утилиту FFmpeg. Далее вы настроите Apache и PHP для обслуживания вашего экземпляра Ampache.

      Шаг 2 — Настройка Apache и PHP

      В этом разделе вы настроите 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 в ваш файл:

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

      <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

      Если ошибки отсутствуют, после команды вы увидите следующий результат:

      Output

      Syntax 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:

      Конечная конфигурация необязательна, но рекомендуется. По умолчанию в PHP нельзя загружать файлы размером, превышающим 2 Мб. Музыкальные файлы обычно имеют больший размер, поэтому увеличение значения по умолчанию позволит использовать интерфейс Ampache для загрузки файлов большего размера в вашу коллекцию музыки.

      Откройте /etc/php/7.2/apache2/php.ini с помощью следующей команды:

      • sudo nano /etc/php/7.2/apache2/php.ini

      Внесите изменения в следующие строки:

      /etc/php/7.2/apache2/php.ini

      . . .
      upload_max_filesize = 2M
      . . .
      post_max_size = 8M
      . . .
      

      До:

      /etc/php/7.2/apache2/php.ini

      . . .
      upload_max_filesize = 100M
      . . .
      post_max_size = 110M
      . . .
      

      Теперь вы сможете загружать музыкальный файлы размером до 100 Мб. Введите большее значение для загрузки файлов большего размера. Сохраните и закройте файл.

      Перезагрузите обновленную конфигурацию Apache:

      • sudo systemctl reload apache2.service

      Вы только что настроили Apache для обслуживания Ampache через HTTP. Далее вы получите сертификат TLS, произведете настройку Apache для защиты доступа к Ampache через HTTPS.

      Шаг 3 — Активация 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:

      Output

      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):
      • No redirect​​​: Apache будет обслуживать Ampache через HTTP и HTTPS.
      • Redirect: Apache автоматически перенаправит любые соединения через HTTP на HTTPS. Это будет означать, что доступ к вашему серверу Ampache будет возможен только через HTTPS. Опция обеспечивает большую защиту и не влияет на работу вашего экземпляра Ampache. Рекомендуется сделать этот выбор.

      Убедитесь, что автоматическое обновление сертификата было успешно выполнено с помощью команды:

      • sudo certbot renew --dry-run

      Опция --dry-run означает, что certbot проверит попытку обновления без внесения постоянных изменений в ваш сервер. Если проверка пройдет успешно, в результате будет содержаться следующая строка:

      Output

      Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/your_domain/fullchain.pem (success)

      Apache и PHP готовы к обслуживанию вашего экземпляра Ampache. На следующем шаге вы создадите и настроите базу данных Ampache.

      Шаг 4 — Создание базы данных MySQL

      Ampache использует базу данных MySQL для хранения различной информации, например, плейлистов, пользовательских настроек и т. д. На этом шаге вы создадите базу данных и пользователя MySQL, который будет иметь доступ к ней.

      Для создания базы данных Ampache вам необходимо предоставить следующую информацию:

      1. ampache_database: имя базы данных Ampache.
      2. database_user: пользователь MySQL, который будет использоваться Ampache для доступа к базе данных. Этот пользователь отличается от пользователя системы и имеет доступ только к базе данных.
      3. 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';

      Проверьте, что новая база данных была создана с помощью команды:

      Результат будет выглядеть следующим образом:

      +--------------------+
      | 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. Вы закончили настройку сервера и готовы завершить процесс установки с помощью веб-установщика.

      Шаг 5 — Использование веб-установщика

      На этом шаге вы используете веб-установщик Ampache для завершения процесса установки и предоставления Ampache необходимой информации для работы, например, имени администратора веб-интерфейса, информации по базе данных и других настроек.

      Введите https://your_domain​​​ в ваш браузер для начала веб-установки.

      Выберите язык установки

      Выберите язык интерфейса Ampache и нажмите кнопку Start Configuration, чтобы продолжить.

      Требования

      На этой странице Ampache выполнит проверку соответствия сервера необходимым требованиям. Каждая строка страницы выполняет определенную проверку, например, проверку того, что все модули PHP присутствуют и находятся в рабочем состоянии. После того, как рядом с каждой проверкой появится галочка зеленого цвета, это будет означать, что ваш сервер готов к работе с Ampache.

      Нажмите Continue для перехода на следующую страницу.

      Вставка базы данных Ampache

      Если база данных Ampache отсутствует, то на этой странице она будет создана и отформатирована. Заполните следующие поля:

      • Требуемое имя базы данных: ampache_database
      • Имя хоста MySQL: localhost
      • Порт MySQL (необязательно):<EMPTY>
      • Имя администратора MySQL: database_user
      • Пароль администратора MySQL: database_password
      • Создайте базу данных:<UNCHECKED>
      • Создайте таблицы (ampache.sql):<CHECKED>
      • Создайте пользователя базы данных:<UNCHECKED>

      Изображение заполненной формы

      Нажмите кнопку 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

      На этой странице можно внести любые необходимые административные изменения в базу данных Ampache. Изменения вносятся во время последующего обновления программы, так как установка была выполнена в первый раз, никаких изменений не будет.

      Нажмите кнопку Update Now!​​​ для продолжения.

      Обновление Ampache

      На этой странице отображаются и разъясняются все изменения, произведенные установщиком на предыдущем шаге. Для вас эта страница будет пустой.

      Пройдите по ссылке [Return to main page] для перехода на страницу входа в систему. Введите имя пользователя и пароль, которые были определены для входа на сервер Ampache.

      Для начала использования Ampache необходимо выполнить еще одну небольшую настройку. Настройка будет заключаться в добавлении музыки для вашего нового сервера Ampache.

      Шаг 6 — Добавление вашей музыки в Ampache

      Для начала использования сервера необходимо добавить музыкальные файлы. На этом шаге вы настроите каталог для музыки и загрузите в него несколько музыкальных файлов. “Каталог” – это имя, которое Ampache присваивает коллекции музыки. Ampache может загружать музыку как с сервера, так и из внешних источников, здесь вы загрузите и сохраните музыкальные файлы с сервера в локальный каталог Ampache.

      Пройдите по ссылке add a Catalog в следующей сроке на первой странице, которую вы увидите после входа в Ampache:

      Настройка Catalog еще не выполнена. Для начала потокового воспроизведения ваших медиа-файлов вам потребуется добавить Catalog.

      Для этого нужно перейти на страницу Add Catalog​​​. Заполните поля следующим образом:

      • Имя каталога“: присвойте каталогу короткое, запоминающееся имя.
      • Тип каталога: local
      • Шаблон имени файла:<EMPTY>
      • Шаблон папки: оставьте значение по умолчанию.
      • Gather Art:<CHECKED>
      • Создавать плейлисты из файлов плейлистов (m3u, m3u8, asx, pls, xspf):<UNCHECKED>
      • Путь: /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 тегами ваших музыкальных файлов.



      Source link

      Comment installer le serveur de streaming musical Ampache sur Ubuntu 18.04


      L’auteur a choisi Open Internet/Free Speech Fund pour recevoir un don dans le cadre du programme Write for DOnations.

      Introduction

      Ampache est un serveur de streaming musical open-source qui vous permet d’héberger et de gérer votre collection de musique numérique sur votre propre serveur. Ampache peut diffuser votre musique en continu sur votre ordinateur, votre smartphone, votre tablette ou votre smart TV. Cela signifie que vous n’avez pas à conserver plusieurs copies de votre musique sur l’appareil que vous voulez utiliser pour l’écouter. Avec Ampache, vous pouvez gérer votre collection sur votre serveur en utilisant l’interface web d’Ampache et l’écouter n’importe où.

      Dans ce tutoriel, vous allez installer et configurer le serveur web Apache, ainsi que PHP (qui servira votre instance Ampache). Vous créerez ensuite une base de données MySQL qu’Ampache utilisera pour stocker toutes ses informations opérationnelles. Enfin, vous téléchargerez votre collection de musique afin de pouvoir commencer à diffuser votre musique en continu.

      Conditions préalables

      Avant de commencer ce guide, vous aurez besoin des éléments suivants :

      Étape 1 – Installation d’Ampache

      Au cours de cette étape, vous allez télécharger l’archive ZIP Ampache sur votre serveur, la décompresser dans le répertoire d’origine de son installation et apporter les modifications nécessaires au système de fichiers.

      Tout d’abord, connectez-vous à votre serveur en tant qu’utilisateur non root. Ensuite, créez le répertoire d’accueil d’Ampache avec la commande suivante :

      • sudo mkdir /var/www/ampache

      Maintenant, installez l’utilitaire zip dont vous aurez besoin pour décompresser l’archive Ampache :

      Puis téléchargez la dernière version de l’archive ZIP. Vous pouvez trouver le lien vers la dernière version sur la page GitHub d’Ampache. Dans ces exemples, la version 4.1.1 est utilisée :

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

      Ensuite, décompressez l’archive ZIP dans le répertoire /var/www/ampache/ en utilisant l’option -d :

      • sudo unzip ampache-4.1.1_all.zip -d /var/www/ampache/

      Définissez l’identité de l’utilisateur et du groupe des fichiers Ampache afin qu’Apache puisse lire, écrire et exécuter les fichiers d’instance Ampache :

      • sudo chown --recursive www-data:www-data /var/www/ampache/

      L’option --recursive fait que chown change la propriété et l’identité de groupe de tous les fichiers et du sous-répertoire sous /var/www/ampache/ en utilisateur et groupe d’Apache www-data.

      Maintenant, renommez les fichiers .htaccess qui sont inclus dans l’archive ZIP. Les fichiers .htaccess contiennent des informations sur la sécurité et sur d’autres opérations pour Apache, mais ils ne fonctionneront qu’avec l’extension de fichier .htaccess. Renommez les fichiers .htaccess.dist fournis en .htaccess avec les commandes suivantes :

      • 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

      Vous allez maintenant créer le répertoire qui contiendra vos fichiers musicaux. Pour des raisons de sécurité, il est préférable de créer ce répertoire en dehors du répertoire d’installation d’Ampache. De cette façon, il ne sera pas lisible ou modifiable par des requêtes web malveillantes, car il réside en dehors du DocumentRoot d’Ampache.

      Créez le répertoire /data/Music avec la commande suivante :

      • sudo mkdir -p /data/Music

      Changez ensuite son propriétaire et l’identité de son groupe pour qu’Apache puisse y lire et y écrire :

      • sudo chown www-data:www-data /data/Music

      Pour terminer la configuration, vous installerez FFmpeg, utilitaire permettant de convertir l’audio et la vidéo d’un format à un autre. Par exemple, vous pourriez l’utiliser pour convertir un fichier de musique MP3 en un fichier de musique OPUS. Ampache utilise FFmpeg pour convertir l’audio en temps réel du format dans lequel il a été téléchargé vers un format que l’appareil d’écoute peut lire. Il s’agit d’un processus connu sous le nom de transcoding.

      C’est utile car tous les appareils ne sont pas capables de lire tous les formats de musique. Ampache peut détecter quels formats sont pris en charge par l’appareil de lecture et fournir automatiquement votre musique dans le format pris en charge.

      Installez FFmpeg avec la commande suivante :

      Vous avez maintenant décompressé et préparé votre instance Ampache pour l’installateur web et installé l’utilitaire FFmpeg. Ensuite, vous allez configurer Apache et PHP pour servir votre instance Apache.

      Étape 2 – Configuration d’Apache et de PHP

      Dans cette section, vous configurerez Apache en créant un nouveau fichier VirtualHost, qui fournira la configuration dont Apache a besoin pour servir votre domaine de serveur Ampache. Vous installerez également quelques modules PHP supplémentaires qui étendent les capacités de PHP, afin de couvrir les besoins d’Ampache

      Tout d’abord, installez quelques modules PHP supplémentaires qui n’étaient pas inclus dans l’installation par défaut de PHP :

      • sudo apt install php-mysql php-curl php-json php-gd php7.2-xml

      Ces modules offrent les fonctionnalités supplémentaires suivantes :

      • php-mysql – Permet à PHP de communiquer avec une base de données MySQL.
      • php-curl – Permet à PHP d’utiliser l’utilitaire curl pour télécharger des fichiers, tels que des pochettes d’album, à partir de serveurs distants.
      • php-json – Permet à PHP de lire et de manipuler des fichiers texte formatés en JSON.
      • php-gd – Permet à PHP de manipuler et de créer des fichiers d’images.
      • php7.2-xml – Permet à PHP de lire et de manipuler des fichiers texte formatés en XML.

      Ensuite, activez quelques modules Apache à l’aide de l’utilitaire a2enmod :

      • sudo a2enmod rewrite expires

      Ces modules Apache permettent à Apache de faire ce qui suit :

      • rewrite – Modifier ou réécrire les URL en suivant les règles fournies par Ampache.
      • expires – Définir les délais d’expiration du cache pour les objets tels que les images afin qu’ils soient stockés plus efficacement par les navigateurs.

      Maintenant, vous allez créer le fichier VirtualHost qui indique à Apache comment et où charger l’instance Ampache.

      Remarque : si vous avez créé un fichier VirtualHost de test qui utilise votre nom de domaine Ampache lorsque vous avez suivi le guide “Comment installer la pile Linux, Apache, MySQL, PHP (LAMP) sur Ubuntu 18.0”, vous devez le désactiver. Utilisez l’utilitaire a2dissite pour le désactiver :

      • sudo a2dissite test_virtalhost_file

      Maintenant, créez et ouvrez le fichier VirtualHost avec votre éditeur de texte à l’adresse /etc/apache2/sites-available/ampache.conf :

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

      Ajoutez le template VirtualHost suivant dans votre fichier :

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

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

      Vous devez changer your_domain pour le nom de domaine que vous avez redirigé vers votre serveur. Lorsque vous avez fini de modifier ce fichier, sauvegardez et quittez l’éditeur.

      Les directives de ce fichier VirtualHost sont :

      • ServerName – Le nom de domaine qu’Apache utilisera pour servir votre instance Ampache.
      • DocumentRoot – L’emplacement du système de fichiers sur votre serveur où se trouve l’instance Ampache. C’est le même endroit que celui où vous avez déballé les archives ZIP à l’étape 1.
      • Directory – Cette section transmet à Apache la configuration qui s’applique aux fichiers et aux répertoires contenus dans le chemin d’accès.
      • RewriteEngine – Permet de réécrire le module Apache.
      • CustomLog – Crée un fichier journal qu’Apache utilisera pour enregistrer tous les journaux d’accès à votre serveur Ampache.
      • ErrorLog – Crée un fichier journal qu’Apache utilisera pour enregistrer tous les journaux d’erreurs générés par votre serveur Ampache.

      Ensuite, vérifiez que le fichier VirtualHost que vous avez créé ne contient aucune erreur, à l’aide de l’utilitaire apachectl :

      • sudo apachectl configtest

      Si votre configuration ne contient aucune erreur, vous verrez la sortie suivante après la commande :

      Output

      Syntax OK

      Si votre configuration contient des erreurs, la sortie imprimera le nom du fichier et le numéro de ligne où l’erreur a été rencontrée.

      Remarque : si vous voyez l’erreur :

      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
      

      Vous devrez modifier le fichier de configuration principal d’Apache à l’adresse /etc/apache2/apache2.conf et ajouter la ligne suivante :

      ServerName your_domain
      

      Ensuite, activez la nouvelle configuration du VirtualHost en utilisant l’utilitaire a2ensite :

      La configuration finale est facultative, mais recommandée. Le paramètre par défaut pour le téléchargement de fichiers en PHP est qu’aucun fichier de plus de 2 Mo ne peut être téléchargé. Les fichiers musicaux ont tendance à être plus volumineux que cela, donc augmenter cette taille vous permettra d’utiliser l’interface Ampache pour télécharger des fichiers plus volumineux dans votre collection de musique.

      Ouvrez /etc/php/7.2/apache2/php.ini avec la commande suivante :

      • sudo nano /etc/php/7.2/apache2/php.ini

      Et modifiez les lignes suivantes :

      /etc/php/7.2/apache2/php.ini

      . . .
      upload_max_filesize = 2M
      . . .
      post_max_size = 8M
      . . .
      

      Vers :

      /etc/php/7.2/apache2/php.ini

      . . .
      upload_max_filesize = 100M
      . . .
      post_max_size = 110M
      . . .
      

      Vous pourrez désormais télécharger des fichiers de musique jusqu’à 100 Mo. Utilisez une valeur plus élevée si vous avez l’intention de télécharger des fichiers d’une taille supérieure. Enregistrez et quittez le fichier.

      Enfin, rechargez votre configuration Apache mise à jour :

      • sudo systemctl reload apache2.service

      Vous avez maintenant configuré Apache pour qu’il serve Ampache via HTTP. Ensuite, vous obtiendrez un certificat TLS et configurerez Apache pour l’utiliser afin de pouvoir accéder à Ampache en toute sécurité via HTTPS.

      Étape 3 – Activation de HTTPS

      Au cours de cette étape, vous obtiendrez gratuitement un certificat Let’s Encrypt TLS en utilisant l’utilitaire Certbot, qui permet la navigation HTTPS. Certbot va créer le certificat, générer automatiquement la configuration Apache requise et gérer le renouvellement automatique du certificat.

      C’est important, car chaque fois que vous vous connectez à Ampache, vous envoyez votre nom d’utilisateur et votre mot de passe sur Internet. Si vous n’utilisez pas HTTPS, votre mot de passe sera envoyé en texte clair et pourra donc être lu lors de son passage sur Internet.

      Les versions LTS d’Ubuntu ne possèdent pas toujours les derniers packages et cela est vrai pour le programme Certbot. Les développeurs de Certbot gèrent un dépôt Ubuntu dédié, connu sous le nom de PPA, afin que les utilisateurs d’Ubuntu puissent garder une copie à jour de Certbot.

      Installez le dépôt Certbot avec la commande suivante :

      • sudo add-apt-repository ppa:certbot/certbot

      Maintenant, installez l’utilitaire certbot :

      • sudo apt install python-certbot-apache

      Ensuite, utilisez le certbot pour obtenir le certificat TLS :

      • sudo certbot --apache -d your_domain

      L’option --apache utilise le plugin Apache qui permet à Certbot de lire et de configurer Apache automatiquement. -d your_domain indique le nom de domaine pour lequel vous souhaitez que Certbot crée le certificat.

      Lorsque vous exécutez la commande du certbot, une série de questions vous est posée. Vous serez invité à saisir une adresse électronique et à accepter les conditions de service.

      Si certbot confirme avec succès que vous contrôlez votre domaine, il vous demandera de configurer vos paramètres HTTPS :

      Output

      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):
      • No redirect : Apache servira Ampache via HTTP et HTTPS.
      • Redirect : Apache redirigea automatiquement toute connexion HTTP vers HTTPS. Cela signifie que votre serveur Ampache ne sera disponible que via HTTPS. Cette option est la plus sûre et n’affectera pas le comportement de votre instance Ampache. C’est le choix recommandé.

      Enfin, vérifiez que l’auto-renouvellement du certificat se fera avec succès en exécutant la commande suivante :

      • sudo certbot renew --dry-run

      L’option --dry-run signifie que certbot testera une tentative de renouvellement sans apporter de modifications permanentes à votre serveur. Si le test a été concluant, la sortie comprendra la ligne suivante :

      Output

      Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/your_domain/fullchain.pem (success)

      Apache et PHP sont maintenant prêts à servir votre instance Ampache. Dans l’étape suivante, vous allez créer et configurer la base de données d’Ampache.

      Étape 4 – Création d’une base de données MySQL

      Ampache utilise une base de données MySQL pour stocker des informations telles que les listes de lecture, les préférences des utilisateurs, etc. Au cours de cette étape, vous allez créer une base de données et un utilisateur MySQL qu’Ampache utilisera pour y accéder.

      Vous devrez choisir trois éléments d’information pour compléter les instructions suivantes afin de créer la base de données d’Ampache :

      1. ampache_database : le nom de la base de données Ampache.
      2. database_user : l’utilisateur MySQL qu’Ampache utilisera pour accéder à la base de données. Ce n’est pas un utilisateur système et il peut uniquement accéder à la base de données.
      3. database_password : le mot de passe de l’utilisateur de la base de données. Veillez à choisir un mot de passe sécurisé.

      Prenez note de ces détails, car vous en aurez besoin plus tard.

      Tout d’abord, ouvrez le shell interactif de MySQL avec la commande mysql :

      • mysql --user=root --password

      --user=root ouvre le shell MySQL en tant qu’utilisateur root de MySQL et --password demande le mot de passe de l’utilisateur root.

      La commande suivante créera une base de données vide :

      • CREATE DATABASE ampache_database;

      Ensuite, créez l’utilisateur MySQL :

      • CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'database_password';

      Maintenant, donnez au nouvel utilisateur l’accès complet à la base de données :

      • GRANT ALL PRIVILEGES ON ampache_database.* TO 'database_user'@'localhost';

      Enfin, vérifiez que la nouvelle base de données existe en exécutant la commande suivante :

      Vous verrez le résultat suivant :

      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | ampache_database  |
      | mysql              |
      | performance_schema |
      | sys                |
      +--------------------+
      5 rows in set (0.00 sec)
      

      Exécutez le shell MySQL en entrant exit;.

      Enfin, testez la base de données, le nom d’utilisateur et le mot de passe en essayant de vous connecter au shell MySQL avec le database_user.

      Entrez la commande suivante pour vous connecter au shell MySQL en tant que nouvel utilisateur :

      • mysql --user=database_user --password ampache_database

      Vous avez maintenant créé la base de données qu’Ampache utilisera. Vous avez terminé la configuration de votre serveur et êtes prêt à terminer l’installation avec le programme d’installation web.

      Étape 5 – Utilisation du programme d’installation Web

      Dans cette étape, vous utiliserez le programme d’installation web d’Ampache pour terminer l’installation en donnant à Ampache les informations dont il aura besoin pour fonctionner, telles qu’un utilisateur de l’interface web, les détails de la base de données et d’autres paramètres.

      Démarrez l’installation web en entrant https://your_domain dans votre navigateur.

      Choisissez votre langue d’installation

      Sélectionnez la langue de l’interface d’Ampache et cliquez sur le bouton Start Configuration pour continuer.

      Exigences

      C’est sur cette page qu’Ampache vérifie que le serveur répond à ses exigences. Chaque ligne de cette page représente un test que le programme d’installation effectue pour s’assurer, par exemple, que tous les modules PHP requis sont présents et fonctionnent. Vous verrez que chaque test comporte une coche verte pour indiquer que votre serveur est prêt pour Ampache.

      Cliquez sur le bouton Continue pour passer à la page suivante.

      Insérez la base de données Ampache

      Cette page crée la base de données d’Ampache si elle n’existe pas et la met en forme. Remplissez les champs comme suit :

      • Desired Database Name: ampache_database
      • MySQL Hostname: localhost
      • MySQL Port (facultatif):<EMPTY>
      • MySQL Administrative Username: database_user
      • MySQL Administrative Password: database_password
      • Create Database:<UNCHECKED>
      • Create Tables (ampache.sql):<CHECKED>
      • Create Database User:<UNCHECKED>

      Image montrant le formulaire complété

      Cliquez sur le bouton Insert Database pour continuer.

      Générez un fichier de configuration

      Cette page crée le fichier de configuration qu’Ampache utilisera pour s’exécuter. Remplissez les champs comme suit :

      • Web Path:<EMPTY>

      • Database Name: ampache_database

      • MySQL Hostname: localhost

      • MySQL Port (facultatif):<EMPTY>

      • MySQL Username: database_user

      • MySQL Password: database_password

      Image montrant le formulaire complété

      • Installation Type Laissez le réglage par défaut.

      • Allow Transcoding Sélectionnez ffmpeg dans la liste déroulante.

      • Players Laissez le réglage par défaut.

      Cliquez sur le bouton Create Config pour continuer.

      Créez un compte administrateur

      Cette page crée le premier utilisateur de l’interface web. Cet utilisateur est créé avec des privilèges administratifs complets et c’est celui que vous utiliserez pour vous connecter et pour la configuration initiale d’Ampache.

      Choisissez un nom d’utilisateur et un mot de passe sécurisé et saisissez-les dans les champs Password et Confirm Password.

      Cliquez sur le bouton Create Account pour continuer.

      Mises à jour Ampache

      Cette page permet d’effectuer toute modification administrative à apporter à la base de données d’Ampache. Ces modifications sont effectuées lors des mises à jour de version, mais comme il s’agit d’une nouvelle installation, le programme d’installation n’apportera aucune modification.

      Cliquez sur le bouton Update Now! pour continuer.

      Mises à jour Ampache

      Cette page affiche et explique toutes les mises à jour que le programme d’installation a effectuées à l’étape précédente. Vous ne devriez voir aucune mises à jour listée.

      Cliquez sur le lien [Return to main page] pour continuer vers la page d’accueil. Entrez votre nom d’utilisateur et votre mot de passe que vous avez définis pour vous connecter à votre serveur Ampache.

      Ampache n’est pas tout à fait prêt à être utilisé. Vous allez maintenant compléter l’installation en ajoutant votre musique afin de pouvoir commencer à utiliser votre nouveau serveur Ampache.

      Étape 6 – Ajout de votre musique à Ampache

      Un serveur musical ne sert à rien s’il n’y a pas de musique à diffuser. Dans cette étape, vous allez configurer un catalogue musical et télécharger de la musique. “Catalogue” est le nom qu’Ampache donne à une collection de musique. Ampache est capable de lire de la musique provenant de nombreuses sources sur le serveur et en dehors, mais dans ce tutoriel, vous allez télécharger et stocker votre musique sur le serveur dans un catalogue local, comme Ampache l’appelle.

      Tout d’abord, cliquez sur le lien add a Catalog sur la ligne suivante, dans la première page que vous voyez lorsque vous vous connectez à Ampache :

      Aucun catalogue n’a encore été créé. Pour commencer à écouter de la musique en streaming, vous devez ajouter un Catalogue.

      Cela vous amènera à la page Add Catalog. Remplissez les champs comme suit :

      • Catalog Name: Donnez à ce catalogue un nom court et facile à mémoriser.
      • Catalog Type: local
      • Filename Pattern:<EMPTY>
      • Folder Pattern: Laissez les valeurs par défaut.
      • Gather Art:<CHECKED>
      • Créez des listes de lecture à partir de fichiers de listes de lecture. (m3u, m3u8, asx, pls, xspf):<UNCHECKED>
      • Path: /data/Music

      Image montrant le formulaire de catalogue complété

      Cliquez sur le bouton Add Catalog pour terminer cette page.

      Sur la page qui suit, cliquez sur le bouton Continue. Cela vous amènera à la page Show Catalogs qui affichera les détails du catalogue que vous avez créé. Vous pourrez ensuite modifier les paramètres du catalogue à tout moment.

      Maintenant, activez la fonction de téléchargement d’Ampache sur le web en cliquant sur la troisième icône de navigation pour ouvrir les paramètres étendus :

      Image montrant la troisième icône de paramètres

      Faites défiler vers le bas jusqu’à la section Server Config et cliquez sur le lien System pour ouvrir la page des paramètres système.

      Trouvez la ligne Allow user uploads et sélectionnez Enable dans le menu déroulant, dans la colonne Value.

      Vous pouvez également choisir quel niveau d’utilisateur est en mesure de télécharger des fichiers musicaux. Le niveau par défaut est Catalog Manager, ce qui permet au Catalog Manager et à tous les utilisateurs avec des privilèges plus importants de télécharger de la musique. Dans ce cas, il s’agit de l’administrateur.

      Vous devez également définir le catalogue auquel la musique sera ajoutée. Définissez cela en utilisant la ligne Destination catalog. Sélectionnez le catalogue que vous avez créé dans la liste déroulante Value.

      Image montrant les lignes allow upload et destination catalog

      Cliquez sur le bouton Update Preferences en bas de la page pour terminer la configuration. Vous êtes maintenant prêt à télécharger de la musique.

      Tout d’abord, cliquez sur la première icône des paramètres :

      Icône illustrant la première icône des paramètres

      Ensuite, cliquez sur le lien Upload dans la section Music.

      Image montrant la ligne upload

      Dans la page Upload, cliquez sur le bouton Browse et localisez vos fichiers musicaux sur votre ordinateur, puis téléchargez les.

      Si vous laissez les étiquettes Artist et Album vides, Ampache lira les balises ID3 des fichiers musicaux pour découvrir automatiquement l’artiste et l’album. Une fois que vous aurez téléchargé de la musique, vous pourrez la trouver en cliquant sur les liens Songs, Albums ou Artists dans la section Music du panneau de navigation, à gauche.

      Votre serveur de musique Ampache est maintenant prêt à commencer à diffuser votre musique en continu.

      Conclusion

      Dans cet article, vous avez installé et configuré un serveur de streaming musical Ampache et téléchargé une partie de votre musique. Vous pouvez désormais écouter votre musique où que vous alliez, sur n’importe lequel de vos appareils. La documentation d’Ampache vous aidera à utiliser et à étendre votre serveur de streaming. Ces apps Android et cette app iOS diffuseront votre musique sur votre téléphone. Ampache organise votre musique sur le serveur en utilisant les balises ID3 dans les fichiers musicaux. Le programme MusicMrainz vous aidera à gérer les balises ID3 de vos fichiers musicaux.



      Source link

      How To Install the Ampache Music Streaming Server on Ubuntu 18.04


      The author selected Open Internet/Free Speech Fund to receive a donation as part of the Write for DOnations program.

      Introduction

      Ampache is an open-source music streaming server that allows you to host and manage your digital music collection on your own server. Ampache can stream your music to your computer, smartphone, tablet, or smart TV. This means that you don’t have to maintain multiple copies of your music on the device you want to use to listen to it. With Ampache you can manage your collection on your server using Ampache’s web interface and listen to it anywhere.

      In this tutorial, you will install and configure the Apache webserver and PHP that will serve your Ampache instance. You will then create a MySQL database that Ampache will use to store all of its operational information. Finally you will upload your music collection so you can start streaming your music.

      Prerequisites

      Before you begin this guide you’ll need the following:

      Step 1 — Installing Ampache

      In this step, you will download the Ampache ZIP archive to your server, unpack it to its installation home directory, and make some necessary file system changes.

      First, log in to your server as the non-root user. Then create Ampache’s home directory with the following command:

      • sudo mkdir /var/www/ampache

      Next, install the zip utility that you will need to unpack the Ampache archive:

      Next, download the ZIP archive of the latest release. You can find the link to the latest release on Ampache’s GitHub page. In these examples, version 4.1.1 is used:

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

      Next, unpack the ZIP archive into the /var/www/ampache/ directory using the -d option:

      • sudo unzip ampache-4.1.1_all.zip -d /var/www/ampache/

      Next, set the user and group identity of Ampache’s files so that Apache is able to read, write, and execute the Ampache instance files:

      • sudo chown --recursive www-data:www-data /var/www/ampache/

      The --recursive option makes chown change the ownership and group identity of all the files and subdirectory under /var/www/ampache/ to Apache’s user and group www-data.

      Next, rename the .htaccess files that are included in the ZIP archive. .htaccess files contain security and other operation information for Apache but they will only work with the file extension name .htaccess. Rename the supplied .htaccess.dist files to .htaccess with the following commands:

      • 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

      Now you’ll create the directory that will contain your music files. For security reasons, this directory is best created outside of Ampache’s installation directory. That way, it will not be readable or changeable by malicious web requests as it resides outside of Ampache’s DocumentRoot.

      Create the directory, /data/Music, with the following command:

      • sudo mkdir -p /data/Music

      Then change its owner and group identity so that Apache can read and write to it:

      • sudo chown www-data:www-data /data/Music

      To finish setting up, you’ll install FFmpeg, which is a utility that converts audio and video from one format to another. For example, you could use it to convert an MP3 music file to an OPUS music file. Ampache uses FFmpeg to convert audio on the fly from the format in which it was uploaded to a format that the listening device can play. This is a process known as transcoding.

      This is useful because not all devices are able to play all formats of music. Ampache can detect what formats are supported on the playing device and automatically supply your music in the supported format.

      Install FFmpeg with the following command:

      You’ve now unpacked and prepared your Ampache instance for the web installer and installed the FFmpeg utility. Next you’ll configure Apache and PHP to serve your Ampache instance.

      Step 2 — Configuring Apache and PHP

      In this section, you will configure Apache by creating a new VirtualHost file, which will provide the configuration that Apache needs to serve your Ampache server domain. You will also install some additional PHP modules that extend the abilities of PHP to cover the requirements of Ampache

      First, install some additional PHP modules that were not included with the default PHP installation:

      • sudo apt install php-mysql php-curl php-json php-gd php7.2-xml

      These modules provide the following additional functionality:

      • php-mysql — Enables PHP to communicate with a MySQL database.
      • php-curl — Enables PHP to use the curl utility to download files, such as album cover art, from remote servers.
      • php-json — Enables PHP to read and manipulate JSON formatted text files.
      • php-gd — Enables PHP to manipulate and create image files.
      • php7.2-xml — Enables PHP to read and manipulate XML formatted text files.

      Next, enable a couple of Apache modules using the a2enmod utility:

      • sudo a2enmod rewrite expires

      These Apache modules allow Apache to do the following:

      • rewrite — Modify or rewrite URLs following rules supplied by Ampache.
      • expires — Set the cache expiry times for objects such as images so that they are more efficiently stored by browsers.

      Now, you will create the VirtualHost file that tells Apache how and where to load the Ampache instance.

      Note: If you created a test VirtualHost file that uses your Ampache domain name when you followed the “How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 18.04” guide you must disable it. Use the a2dissite utility to disable it:

      • sudo a2dissite test_virtalhost_file

      Now, create and open the VirtualHost file with your text editor at /etc/apache2/sites-available/ampache.conf:

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

      Add the following VirtualHost template into your file:

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

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

      You must change your_domain to the domain name that you redirected to your server. When you have finished editing this file save and exit the editor.

      The directives in this VirtualHost file are:

      • ServerName — The domain name that Apache will use to serve your Ampache instance.
      • DocumentRoot — The file system location on your server where the Ampache instance is located. This is the same place that you unpacked the ZIP archive to in Step 1.
      • Directory — This section passes configuration to Apache that applies to the files and directories contained in the path.
      • RewriteEngine — Enables the rewrite Apache module.
      • CustomLog — Creates a log file that Apache will use to record all access logs for your Ampache server.
      • ErrorLog — Creates a log file that Apache will use to record all error logs generated by your Ampache server.

      Next, check that the VirtualHost file you created does not have any errors with the apachectl utility:

      • sudo apachectl configtest

      If your configuration does not contain any errors, you will see the following output after the command:

      Output

      Syntax OK

      If your configuration does contain errors, the output will print the file name and line number where the error was encountered.

      Note: If you see the error:

      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
      

      Then you will need to edit Apache’s main configuration file at /etc/apache2/apache2.conf and add the following line:

      ServerName your_domain
      

      Next, enable the new VirtualHost configuration using the a2ensite utility:

      The final configuration is optional, but recommended. The default setting for file uploads in PHP is that no file greater than 2MB can be uploaded. Music files tend to be larger than this so increasing this size will allow you to use the Ampache interface to upload larger files in your music collection.

      Open /etc/php/7.2/apache2/php.ini with the following command:

      • sudo nano /etc/php/7.2/apache2/php.ini

      And change the following lines:

      /etc/php/7.2/apache2/php.ini

      . . .
      upload_max_filesize = 2M
      . . .
      post_max_size = 8M
      . . .
      

      To:

      /etc/php/7.2/apache2/php.ini

      . . .
      upload_max_filesize = 100M
      . . .
      post_max_size = 110M
      . . .
      

      You will now be able to upload music files up to 100MB. Use a larger value if you intend to upload files larger than this size. Save and exit the file.

      Finally, reload your updated Apache configuration:

      • sudo systemctl reload apache2.service

      You’ve now configured Apache to serve Ampache over HTTP. Next you’ll obtain a TLS certificate and configure Apache to use it so you can securely access Ampache over HTTPS.

      Step 3 — Enabling HTTPS

      In this step, you will get a free Let’s Encrypt TLS certificate using the Certbot utility, which enables HTTPS browsing. Certbot will create the certificate, automatically generate the required Apache configuration, and manage the automatic renewal of the certificate.

      This is important because every time you log in to Ampache you will send your username and password across the internet. If you are not using HTTPS then your password will be sent in plain text that can be read as it travels across the internet.

      Ubuntu’s LTS releases tend not to have the latest packages and this is true of the Certbot program. The Certbot developers maintain a dedicated Ubuntu repository, known as a PPA, so that Ubuntu users can keep an up-to-date copy of the Certbot.

      Install the Certbot repository with the following command:

      • sudo add-apt-repository ppa:certbot/certbot

      Now, install the certbot utility:

      • sudo apt install python-certbot-apache

      Next, use certbot to get the TLS certificate:

      • sudo certbot --apache -d your_domain

      The --apache option uses the Apache plugin that enables Certbot to read and configure Apache automatically. -d your_domain specifies the domain name for which you want Certbot to create the certificate.

      When you run the certbot command you will be asked a series of questions. You’ll be prompted to enter an email address and agree to the terms of service.

      If certbot successfully confirms that you control your domain, it will ask you to configure your HTTPS settings:

      Output

      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):
      • No redirect: Apache will serve Ampache via HTTP and HTTPS.
      • Redirect: Apache will redirect any HTTP connections to HTTPS automatically. This means that your Ampache server will only be available via HTTPS. This option is the more secure and will not affect how your Ampache instance behaves. This is the recommended choice.

      Finally, test that the auto-renewal of the certificate will take place successfully by running the following command:

      • sudo certbot renew --dry-run

      The --dry-run option means that certbot will test a renewal attempt without making any permanent changes to your server. If the test was successful the output will include the following line:

      Output

      Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/your_domain/fullchain.pem (success)

      Apache and PHP are now ready to serve your Ampache instance. In the next step, you will create and configure Ampache’s database.

      Step 4 — Creating a MySQL Database

      Ampache uses a MySQL database to store information such as playlists, user preferences, and so on. In this step, you will create a database and MySQL user that Ampache will use to access it.

      You will need to choose three pieces of information to complete the following instructions to create Ampache’s database:

      1. ampache_database: The name of the Ampache database.
      2. database_user: The MySQL user that Ampache will use to access the database. This is not a system user and can only access the database.
      3. database_password: The database user’s password. Be sure to choose a secure password.

      Make a note of these details as you will need them later.

      First, open the interactive MySQL shell with the mysql command:

      • mysql --user=root --password

      --user=root opens the MySQL shell as the MySQL root user and --password prompts for the root user’s password.

      The following command will create an empty database:

      • CREATE DATABASE ampache_database;

      Next, create the MySQL user:

      • CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'database_password';

      Now, give the new user full access to the database:

      • GRANT ALL PRIVILEGES ON ampache_database.* TO 'database_user'@'localhost';

      Finally, check that the new database exists by running the following command:

      You will see the following output:

      +--------------------+
      | Database           |
      +--------------------+
      | information_schema |
      | ampache_database  |
      | mysql              |
      | performance_schema |
      | sys                |
      +--------------------+
      5 rows in set (0.00 sec)
      

      Exit the MySQL shell by entering exit;.

      Finally, test the database, username, and password by trying to log in to the MySQL shell with the database_user.

      Enter the following command to log in to the MySQL shell as the new user:

      • mysql --user=database_user --password ampache_database

      You’ve now created the database that Ampache will use. You’ve finished your server configuration and are ready to complete the installation with the web installer.

      Step 5 — Using the Web Installer

      In this step, you will use Ampache’s web installer to finish the installation by giving Ampache the information it will need to run, such as a web interface admin user, the database details, and other settings.

      Start the web installation by entering https://your_domain into your browser.

      Choose Installation Language

      Select Ampache’s interface language and click the Start Configuration button to continue.

      Requirements

      This page is where Ampache checks that the server meets its requirements. Each line on this page represents a test that the installer performs to ensure that, for example, all the required PHP modules are present and working. You’ll see every test has a green checkmark to indicate that your server is ready for Ampache.

      Click the Continue button to move on to the next page.

      Insert Ampache Database

      This page creates Ampache’s database if it does not exist and formats it. Fill in the fields as follows:

      • Desired Database Name: ampache_database
      • MySQL Hostname: localhost
      • MySQL Port (optional): <EMPTY>
      • MySQL Administrative Username: database_user
      • MySQL Administrative Password: database_password
      • Create Database: <UNCHECKED>
      • Create Tables (ampache.sql): <CHECKED>
      • Create Database User: <UNCHECKED>

      Image showing the completed form

      Click the Insert Database button to continue.

      Generate Configuration File

      This page creates the configuration file that Ampache will use to run. Fill in the fields as follows:

      • Web Path: <EMPTY>

      • Database Name: ampache_database

      • MySQL Hostname: localhost

      • MySQL Port (optional): <EMPTY>

      • MySQL Username: database_user

      • MySQL Password: database_password

      Image showing the completed form

      • Installation Type
        Leave this at the default setting.

      • Allow Transcoding
        Select ffmpeg from the drop-down list.

      • Players
        Leave these at the default settings.

      Click the Create Config button to continue.

      Create Admin Account

      This page creates the first web interface user. This user is created with full administrative, privileges and is the one that you will use to log in and configure Ampache for the first time.

      Choose a username and a secure password and enter it into the Password and Confirm Password fields.

      Click the Create Account button to continue.

      Ampache Update

      This page will perform any administrative changes to Ampache’s database that need making. These changes are made during version upgrades but as this is a new installation the installer will not make any changes.

      Click the Update Now! button to continue.

      Ampache Update

      This page prints and explains any updates that the installer made in the previous step. You should not see any updates listed.

      Click the [Return to main page] link to continue to the login page. Enter your username and password you set to log in to your Ampache server.

      Ampache is not quite fully set up and ready for use. You’ll now complete the setup by adding your music so you can start using your new Ampache server.

      Step 6 — Adding Your Music to Ampache

      A music server is no use without some music to play. In this step, you will configure a music catalog and upload some music. “Catalog” is the name that Ampache gives to a collection of music. Ampache is able to read music from many sources both on and off the server but in this tutorial, you will upload and store your music on the server in a local catalog, as Ampache refers to it.

      First, click the add a Catalog link in the following line on the first page that you see when you log in to Ampache:

      No Catalog configured yet. To start streaming your media, you now need to add a Catalog.

      This will take you to the Add Catalog page. Fill in the fields as follows:

      • Catalog Name: Give this catalog a short, memorable name.
      • Catalog Type: local
      • Filename Pattern: <EMPTY>
      • Folder Pattern: Leave this with the defaults.
      • Gather Art: <CHECKED>
      • Build Playlists from Playlist Files. (m3u, m3u8, asx, pls, xspf): <UNCHECKED>
      • Path: /data/Music

      Image showing the completed add catalog form

      Click the Add Catalog button to complete this page.

      On the page that follows click the Continue button. This will take you to the Show Catalogs page that will print the details for the catalog you created. You can change the catalog settings at any time in the future.

      Now, enable Ampache’s web upload facility by clicking on the third navigation icon to open the extended settings:

      Image showing the third settings icon

      Scroll down to the Server Config section and click the System link to open the system settings page.

      Find the Allow user uploads line and select Enable from the drop-down menu in the Value column.

      You can also choose what level of user is able to upload music files. The default level is Catalog Manager, this allows the Catalog Manager and all users with greater privileges to upload music. In this case, that is the administrator.

      You also need to set the catalog to which the music will get added. Set this using the Destination catalog line. Select the catalog you created in the Value drop-down.

      Image showing the allow upload and destination catalog lines

      Click the Update Preferences button at the bottom of the page to complete the configuration. You are now ready to upload some music.

      First, click the first settings icon:

      Icon showing the first settings icon

      Then click the Upload link in the Music section.

      Image showing upload link

      On the Upload page, click the Browse button and locate your music files on your computer and upload them.

      If you leave the Artist and Album labels blank then Ampache will read the ID3 tags of the music files to discover the artist and album automatically. After you have uploaded some music you will now be able to find it by clicking on the Songs, Albums, or Artists links in the Music section in the navigation panel on the left.

      Your Ampache music server is now ready to start streaming your music.

      Conclusion

      In this article, you installed and configured an Ampache music streaming server and uploaded some of your music. You can now listen to your music wherever you go on any of your devices. Ampache’s Documentation will help you use and extend your streaming server. These Android apps and this iOS app will stream your music to your phone. Ampache organizes your music on the server using the ID3 tags in the music files. The MusicMrainz program will help you manage the ID3 tags of your music files.



      Source link