Установка сервера потоковой музыки Sonerezh на Ubuntu 16.04 с использованием Apache или Nginx

Sonerezh — это независимый веб-сервер для потоковой передачи музыки, разработанный на PHP и HTML5. Он более легковесен, чем Subsonic, который создан на Java. Sonerezh представляет собой программное обеспечение с открытым исходным кодом и распространяется под лицензией AGPL. В данном руководстве описывается процесс установки Sonerezh на Ubuntu 16.04 с использованием Apache или Nginx.

  • Современный и удобный в эксплуатации веб-интерфейс.
  • Управляйте своими плейлистами: включайте названия песен, альбомы и исполнителей в свои подборки.
  • Передача музыкальных файлов с использованием системы управления пользователями
  • Автоматизированное извлечение метаданных и загрузка файлов.
  • Автоматическая конвертация в формат mp3.
  • Обычный поисковый механизм

установить sonerezh на сервер Ubuntu

С помощью Sonerezh вы можете наслаждаться своей музыкой в любом месте, просто открыв веб-браузер и имея доступ к интернету.

Для выполнения этого руководства необходимо установить LAMP или LEMP на Ubuntu 16.04. Если вы еще не выполнили эту установку, пожалуйста, ознакомьтесь с приведенными ниже инструкциями.

  • Установка LAMP (Apache, MariaDB, PHP7) на Ubuntu 16.04: пошаговая инструкция.
  • Установка LEMP (Nginx, MariaDB, PHP7-FPM) на Ubuntu 16.04: пошаговая инструкция.

После того как вы установите LAMP или LEMP, вернитесь на эту страницу и продолжайте изучение.

Установка Sonerezh на Ubuntu 16.04.

Самая последняя стабильная версия — Sonerezh 1.1.3, выпущенная 19 декабря 2016 года. Ее можно скачать через Git из репозитория на Github.

Перейдите в каталог /var/www/.

cd /var/www/

Установите Git и примените его для клонирования Sonerezh с GitHub.

Читайте также:  Как определить версию ядра Linux с помощью команд и инструментов

sudo apt install git sudo git clone --branch master https://github.com/Sonerezh/sonerezh. git

Назначьте владельцем новой директории веб-сервер (www-data).

sudo chown www-data:www-data /var/www/sonerezh/ - R

Разработка базы данных MariaDB/MySQL для Sonerezh

Для подключения к серверу баз данных MariaDB/MySQL используйте следующую команду:

mysql - u root - p

Затем необходимо создать базу данных для Sonerezh. В данном руководстве база данных именуется sonerezh, но вы можете выбрать любое другое название по вашему усмотрению.

create database sonerezh;

Создайте учетную запись пользователя в базе данных и дайте этому пользователю полные права на базу данных sonerezh. Замените your-password на желаемый пароль.

grant all privileges on sonerezhКонечно! Пожалуйста, предоставьте текст, который вы хотите перефразировать.sonerezh@localhost распознан с помощью 'your-password';

Отмените привилегии и завершите сеанс.

flush privileges; exit;

Конфигурация виртуального хоста для Apache

В директории /etc/apache2/sites-available/ будет создан файл sonerezh.conf.

sudo nano /etc/apache2/sites-available/sonerezh.conf

Скопируйте и вставьте указанные строки в файл. Замените текст, выделенный красным, на доменное имя, которое вы предпочитаете. Также необходимо создать A-запись для этого доменного имени. Если вы устанавливаете Sonerezh на своем домашнем сервере, потребуется настроить переадресацию портов на вашем маршрутизаторе.

ServerName music. your-domain.comКорневая папка документации находится по адресу /var/www/sonerezh.Опции - Индексы РазрешитьПереопределение Все # Apache 2.2.xРазрешить, Запретить Доступ разрешен для всех.Apache 2.4.x–apache: Применяйте плагин Apache для автоматического получения и установки сертификата.

  • – согласие с условиями обслуживания: Подтвердите ваше согласие с условиями использования.
  • –redirect: Настройте перенаправление всего HTTP-трафика на HTTPS для виртуального хоста.
  • –hsts : Заставляет браузер использовать только TLS.
  • В течение нескольких секунд на экране должно появиться сообщение, подтверждающее успешное получение и установку бесплатного TLS/SSL сертификата на вашем сервере Apache.

    sonerezh на Ubuntu 16.04

    По умолчанию настройки TLS/SSL получают высший балл A+ в тестировании SSL Labs.

    Конфигурация сервера Nginx.

    Если вы выбрали Nginx вместо Apache, создайте файл конфигурации для блока сервера Nginx.

    sudo nano /etc/nginx/conf.d/sonerezh.conf

    Скопируйте и вставьте указанные строки в файл, заменив выделенную красным область на выбранное вами доменное имя. Также потребуется создать A-запись для этого домена. Если Sonerezh устанавливается на домашний сервер, потребуется настроить переадресацию портов на вашем маршрутизаторе.

    server { listen 80; server_name music. your-domain.com; root /var/www/sonerezh/app/webroot; index index.php; location / { try_files $uri $uri/ /index.php?$args; expires 14d; add_header Cache-Control 'public'; } # Раздел ниже обрабатывает кеш миниатюр на стороне клиента (браузера) (необязательно, но рекомендуется) location ~* /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?\.[a-z]+)$ { try_files /img/resized/$1 /index.php?$args; add_header Cache-Control 'public'; expires 14d; access_log off; } location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass unix:/run/php/php7.0-fpm.sock; include fastcgi.conf; # Если fastcgi.conf недоступен на вашей платформе, возможно, вам нужно # раскомментировать следующую строку #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }

    Закройте файл после сохранения и проверьте конфигурацию.

    sudo nginx - t

    Если проверка прошла успешно, выполните перезагрузку Nginx.

    sudo systemctl reload nginx

    Перейдите на страницу установки по адресу music. your-domain.com/install. Появится веб-мастер Sonerezh, который отобразит список необходимых условий. Для их выполнения введите следующую команду.

    sudo apt install php7.0-gd libav-tools

    Настройка HTTPS в Nginx

    Для завершения установки необходимо ввести информацию о базе данных и создать административную учетную запись. Однако перед этим рекомендуется установить бесплатный TLS-сертификат от Let’s Encrypt, чтобы обезопасить данные, вводимые в процессе веб-установки, от возможного перехвата.

    Установите клиентское приложение certbot (Let’s Encrypt).

    sudo apt install letsencrypt

    Теперь выполните следующую команду для получения бесплатного TLS/SSL сертификата. Подставьте свои реальные данные вместо выделенного красным текста.

    sudo letsencrypt certonly --webroot --agree-tos --email your-email-address - d music. your-domain.com - w /var/www/sonerezh/app/webroot/

    Через несколько секунд вы увидите сообщение, указывающее на успешное получение бесплатного TLS/SSL сертификата.

    sonerezh ubuntu nginx

    Теперь настройте TLS, отредактировав файл конфигурации серверного блока Sonerezh.

    sudo nano /etc/nginx/conf.d/sonerezh.conf

    Настройте конфигурации следующим образом.

    server < listen 80; server_name music. your-domain.com; return 301 https://$server_name$request_uri; > server < listen 443 ssl http2; server_name music. your-domain.comroot /var/www/sonerezh/app/webroot; ssl_certificate /etc/letsencrypt/live/music. your-domain.com/fullchain. pem; ssl_certificate_key /etc/letsencrypt/live/music. your-domain.com

    lua< try_files $uri $uri/ /index.php?$args; expires 14d; add_header Cache-Control 'public'; >Раздел ниже отвечает за обработку кэша миниатюр на стороне клиента (в браузере) # (не обязательно, но желательно) расположение~

  • /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?.[a-z]+)$
  • < try_files /img/resized/$1 /index.php?$args; add_header Cache-Control 'public'; expires 14d; access_log off; >location ~ \.php$ < try_files $uri =404; fastcgi_index index.php; fastcgi_pass unix:/run/php/php7.0-fpm.sock; include fastcgi.conf; # Если fastcgi.conf недоступен на вашей платформе, вы можете # раскомментировать следующую строку #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; >>

    Закройте файл после сохранения и проверьте конфигурацию.

    sudo nginx - t

    Если проверка прошла успешно, выполните перезагрузку Nginx.

    sudo systemctl reload nginx

    Завершите процесс установки.

    Теперь ваше соединение защищено с помощью HTTPS, и вы можете ввести данные вашей базы данных в веб-инсталляторе. Также не забудьте создать учетную запись администратора и указать директорию с музыкой.

    sonerezh nginx

    Сервер для потоковой передачи музыки Sonerezh, разработанный с использованием веб-технологий.

    Сервер потоковой передачи музыки Sonerezh

    Автоматическое обновление сертификата.

    Для автоматического продления сертификата Let’s Encrypt необходимо внести изменения в файл crontab для пользователя root.

    sudo crontab - e

    Вставьте указанную строку в конец документа.

    @daily letsencrypt renew --quiet && systemctl reload apache2

    Если вы работаете с Nginx, замените apache2 на nginx.

    @daily letsencrypt renew --quiet && systemctl reload nginx

    Перезагрузка требуется для того, чтобы веб-сервер смог установить новый сертификат.

    На этом всё! Я надеюсь, что данное руководство было полезным для вас в установке сервера потоковой передачи музыки Sonerezh на Ubuntu 16.04 с использованием Apache или Nginx. Также вам может быть интересно ознакомиться с процессом установки сервера потоковой передачи музыки Subsonic.