В этом уроке вы узнаете, как установить медиасервер Subsonic на Ubuntu 18.04 и 19.04, настроить обратный прокси для Subsonic с использованием веб-сервера Nginx или Apache, а также активировать HTTPS.
Subsonic — это бесплатный веб-стример для медиа, разработанный на Java, который работает на платформах Linux, MacOS и Windows. Он позволяет вам воспроизводить музыку с вашего домашнего компьютера или любого другого устройства, подключённого к интернету, через веб-браузер. Благодаря этому, отпадает необходимость использовать программы для синхронизации файлов, такие как Resilio Sync или Syncthing, чтобы слушать свою музыку в любом месте.

- Совместимость с MP3, OGG, AAC и другими аудио — или видеоформатами, передаваемыми через HTTP.
- Совместим с любыми сетевыми медиаплеерами, включая Winamp, iTunes, XMMS, VLC, MusicMatch и Windows Media Player.
- Отображение альбомных обложек, создание динамических плейлистов и автоматическое перекодирование.
- Приложение доступно для Android, iPhone, Windows Phone, а также для компьютеров на Mac, Windows и через браузер Chrome. В версии для Android предусмотрена возможность использования в режиме оффлайн.
- Слушайте подкасты, оценивайте их, оставляйте отзывы и формируйте собственные плейлисты.
- Делитесь своими музыкальными предпочтениями с близкими и друзьями.
- Видеопоток (доступно в премиум-версии)
- и многое иное
Содержание статьи
Инструкция по установке Subsonic Media Server на Ubuntu 18.04 и 19.04.
Сервер медиа Subsonic разработан на Java, поэтому для его работы необходимо установить Java Runtime Environment. Вы можете установить openjdk 8, выполнив следующую команду.
sudo apt update sudo apt install openjdk-8-jre
На момент написания данной статьи Subsonic не поддерживает Java 11. Если вы уже установили Java 11 на Ubuntu 18.04 или 19.04, вам потребуется выполнить следующую команду для выбора версии Java по умолчанию.
sudo update-alternatives --config java
Введите цифру, чтобы установить Java 8 в качестве версии по умолчанию.
Затем скачайте пакет Subsonic в формате deb, используя следующую команду, которая загружает версию 6.1.5. Чтобы узнать о последней версии, посетите страницу загрузки Subsonic. Если появилась новая версия, просто замените 6.1.5 на её номер.
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb
Установите его при помощи dpkg.
sudo dpkg - i subsonic-6.1.5.deb
После установки демон Subsonic будет запущен автоматически. Вы можете проверить его состояние с помощью:
systemctl status subsonic
●subsonic.service - LSB: Демон Subsonic загружен: выполнен (/etc/init. d/subsonic; не удачно; настройка поставщика: включена) Статус: активен.активный (работает) с Пт 2018-12-02 08:03:27 UTC; 7 мин назад Документы: man:systemd-sysv-generator(8) CGroup: /system. slice/subsonic.service └─3316 java - Xmx150m - Dsubsonic. home=/var/subsonic - Dsubsonic. host=0
Если он не функционирует, вы можете активировать его вручную с помощью
sudo systemctl start subsonic
И активировать автоматический запуск при старте системы.
sudo systemctl enable subsonic
По умолчанию Subsonic настроен на прослушивание по адресу 0.0.0.0:4040, что позволяет ему обрабатывать запросы как из локальной сети, так и из Интернета.
Если вы установили Subsonic на своем локальном компьютере с Ubuntu, введите следующий URL в адресную строку браузера, чтобы открыть веб-интерфейс Subsonic.
http://localhost:4040
Если вы настроили Subsonic на сервере с Ubuntu, который доступен в сети, введите следующий URL в браузере, чтобы открыть веб-интерфейс Subsonic.
http://your-server-ip:4040

При использовании Java 11 на Ubuntu может возникнуть ошибка. Чтобы ее устранить, рекомендуется перейти на Java 8.
Имейте в виду, что при установке медиасервера Subsonic на домашнем сервере для доступа из внешней сети необходимо настроить переадресацию портов на маршрутизаторе. Если ваш интернет-провайдер предоставляет динамический IP-адрес, рекомендуется также настроить динамический DNS.
Имя пользователя и пароль по умолчанию — admin. После входа в систему вам следует перейти в Настройки >Пользователи могут обновить пароль для администратора.

Добавьте медиапапки в разделе настроек и нажмите кнопку сохранения. Убедитесь, что папка доступна пользователю, под аккаунтом которого работает Subsonic. После добавления папки нажмите «Сканировать медиапапку сейчас», и вы сможете прослушивать музыку на главной странице.

Смена учетной записи
По умолчанию служба Subsonic функционирует под учетной записью пользователя root. Для повышения безопасности рекомендуется изменить её на стандартного пользователя. Это можно сделать, отредактировав файл /etc/default/subsonic.
sudo nano /etc/default/subsonic
Ищите следующую строку:
SUBSONIC_USER=root
Замените root на имя вашей учетной записи, например, linuxbabe.
SUBSONIC_USER=linuxbabe
Сохраните файл и закройте его. После этого перезапустите демона subsonic, чтобы изменения начали действовать.
sudo systemctl restart subsonic
Конфигурация обратного прокси Nginx для Subsonic
Для того чтобы использовать доменное имя с веб-интерфейсом Subsonic, вы можете настроить обратный прокси-сервер Nginx. Установите Nginx на Ubuntu 18.04 или 19.04, воспользовавшись следующей командой.
sudo apt install nginx
После этого создайте файл блока сервера для прокси-сервера.
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
Сохраните следующий текст в файл. Замените subsonic. your-domain.com на ваше уникальное доменное имя. Блок location позволит Nginx перенаправлять запросы к серверу Subsonic. Не забудьте создать запись A для вашего поддомена.
server { listen 80; server_name subsonic. your-domain.com; location / { proxy_pass http://127.0.0.1:4040; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}
Сохраните файл и закройте его. После этого проверьте настройки Nginx.
sudo nginx - t
При успешном завершении теста выполните перезагрузку Nginx для применения новой конфигурации.
sudo systemctl reload nginx
Теперь медиасервер Subsonic работает за Nginx, и доступ к его веб-интерфейсу можно получить через доменное имя (subsonic. your-domain.com).
Настройка HTTPS с использованием Nginx
Для активации защищённого соединения HTTPS достаточно получить и настроить бесплатный TLS/SSL сертификат от Let’s Encrypt. Чтобы это сделать, потребуется установить клиент Let’s Encrypt (certbot) при помощи следующей команды:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt install certbot python3-certbot-nginx
После этого выполните команду, которая задействует плагин Certbot Nginx для автоматического получения и установки TLS-сертификата. Замените выделенный текст на свои реальные данные.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain subsonic. your-domain.com
Спустя несколько секунд вам должно появиться поздравительное сообщение, подобное приведённому ниже, что будет свидетельствовать о том, что сертификат успешно активирован.
Снова откройте веб-интерфейс вашего медиасервера Subsonic, и вы заметите, что соединение по протоколу HTTP…
Включите указанные настройки в файл. Подставьте вместо subsonic. your-domain.com ваше реальное доменное имя. Также не забудьте добавить A запись DNS для данного субдомена.
Сохраните файл и закройте его. После этого включите данный виртуальный хост.
sudo a2ensite subsonic-proxy.conf
sudo systemctl restart apache2
Теперь вы можете использовать доменное имя для доступа к веб-интерфейсу Subsonic.
Для обеспечения безопасности веб-сайта можно включить HTTPS на сервере Apache.
Для активации защищенного HTTPS-соединения вы можете получить и установить бесплатный сертификат TLS/SSL от Let’s Encrypt. Установите клиент Let’s Encrypt (certbot) следующим образом:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt install certbot python3-certbot-apache
После этого получите и установите сертификат с помощью плагина для Apache.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple --email your-email-address - d subsonic. your-domain.com
Вскоре вы увидите сообщение с поздравлением, подобное приведенному ниже, что будет свидетельствовать о том, что сертификат был успешно оформлен.
Ваш TLS-сертификат будет установлен автоматически. Вернитесь в веб-интерфейс вашего медиасервера Subsonic, и вы заметите, что соединение по HTTP будет автоматически перенаправлено на HTTPS.
Этот руководство поможет вам установить медиасервер Subsonic на Ubuntu 18.04 и Ubuntu 19.04. Если информация окажется полезной, подпишитесь на нашу бесплатную рассылку или следите за нами в Google+, Twitter.

