Как выполнить установку медиасервера Subsonic на Ubuntu 18.04 и 19.04 с последующей активацией HTTPS

В этом уроке вы узнаете, как установить медиасервер Subsonic на Ubuntu 18.04 и 19.04, настроить обратный прокси для Subsonic с использованием веб-сервера Nginx или Apache, а также активировать HTTPS.

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

subsonic-ubuntu-18.04-install

  • Совместимость с 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 по умолчанию.

Читайте также:  Как установить Magento2 на Fedora 34/33

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

subsonic-ubuntu-18.04-18.10

При использовании Java 11 на Ubuntu может возникнуть ошибка. Чтобы ее устранить, рекомендуется перейти на Java 8.

Имейте в виду, что при установке медиасервера Subsonic на домашнем сервере для доступа из внешней сети необходимо настроить переадресацию портов на маршрутизаторе. Если ваш интернет-провайдер предоставляет динамический IP-адрес, рекомендуется также настроить динамический DNS.

Имя пользователя и пароль по умолчанию — admin. После входа в систему вам следует перейти в Настройки >Пользователи могут обновить пароль для администратора.

Читайте также:  Запустить команду command на удаленном хосте в Linux

субзвуковой медиа-сервер для Ubuntu 18.04

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

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

Читайте также:  Найти файлы php и проверить их в Linux

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 для данного субдомена.

ServerName subsonic. your-domain.comОшибка 404 обрабатывается через файл /404.html. Корневая директория установлена на /var/www. Прокси-сервер перенаправляет запросы на http://localhost:4040/, а также обратно через ProxyPassReverse. Заголовок X-Frame-Options всегда сбрасывается.

Сохраните файл и закройте его. После этого включите данный виртуальный хост.

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.