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

С помощью Sonerezh вы можете наслаждаться своей музыкой в любом месте, просто открыв веб-браузер и имея доступ к интернету.
Для выполнения этого руководства необходимо установить LAMP или LEMP на Ubuntu 16.04. Если вы еще не выполнили эту установку, пожалуйста, ознакомьтесь с приведенными ниже инструкциями.
- Установка LAMP (Apache, MariaDB, PHP7) на Ubuntu 16.04: пошаговая инструкция.
- Установка LEMP (Nginx, MariaDB, PHP7-FPM) на Ubuntu 16.04: пошаговая инструкция.
После того как вы установите LAMP или LEMP, вернитесь на эту страницу и продолжайте изучение.
Содержание статьи
- 1 Установка Sonerezh на Ubuntu 16.04.
- 2 Разработка базы данных MariaDB/MySQL для Sonerezh
- 3 Конфигурация виртуального хоста для Apache
- 4 Конфигурация сервера Nginx.
- 5 Настройка HTTPS в Nginx
- 6 Завершите процесс установки.
- 7 Сервер для потоковой передачи музыки Sonerezh, разработанный с использованием веб-технологий.
- 8 Автоматическое обновление сертификата.
Установка Sonerezh на Ubuntu 16.04.
Самая последняя стабильная версия — Sonerezh 1.1.3, выпущенная 19 декабря 2016 года. Ее можно скачать через Git из репозитория на Github.
Перейдите в каталог /var/www/.
cd /var/www/
Установите Git и примените его для клонирования Sonerezh с GitHub.
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 на своем домашнем сервере, потребуется настроить переадресацию портов на вашем маршрутизаторе.
В течение нескольких секунд на экране должно появиться сообщение, подтверждающее успешное получение и установку бесплатного TLS/SSL сертификата на вашем сервере Apache. По умолчанию настройки TLS/SSL получают высший балл A+ в тестировании SSL Labs. Если вы выбрали Nginx вместо Apache, создайте файл конфигурации для блока сервера Nginx. Скопируйте и вставьте указанные строки в файл, заменив выделенную красным область на выбранное вами доменное имя. Также потребуется создать A-запись для этого домена. Если Sonerezh устанавливается на домашний сервер, потребуется настроить переадресацию портов на вашем маршрутизаторе. Закройте файл после сохранения и проверьте конфигурацию. Если проверка прошла успешно, выполните перезагрузку Nginx. Перейдите на страницу установки по адресу music. your-domain.com/install. Появится веб-мастер Sonerezh, который отобразит список необходимых условий. Для их выполнения введите следующую команду. Для завершения установки необходимо ввести информацию о базе данных и создать административную учетную запись. Однако перед этим рекомендуется установить бесплатный TLS-сертификат от Let’s Encrypt, чтобы обезопасить данные, вводимые в процессе веб-установки, от возможного перехвата. Установите клиентское приложение certbot (Let’s Encrypt). Теперь выполните следующую команду для получения бесплатного TLS/SSL сертификата. Подставьте свои реальные данные вместо выделенного красным текста. Через несколько секунд вы увидите сообщение, указывающее на успешное получение бесплатного TLS/SSL сертификата. Теперь настройте TLS, отредактировав файл конфигурации серверного блока Sonerezh. Настройте конфигурации следующим образом. 
Конфигурация сервера Nginx.
sudo nano /etc/nginx/conf.d/sonerezh.confserver { 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 - tsudo systemctl reload nginxsudo apt install php7.0-gd libav-toolsНастройка HTTPS в Nginx
sudo apt install letsencryptsudo letsencrypt certonly --webroot --agree-tos --email your-email-address - d music. your-domain.com - w /var/www/sonerezh/app/webroot/
sudo nano /etc/nginx/conf.d/sonerezh.confserver < 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



