Гид по технологиям

Установка и настройка Ampache на Ubuntu 20.04

6 min read Самохостинг Обновлено 24 Nov 2025
Ampache на Ubuntu 20.04 — установка и настройка
Ampache на Ubuntu 20.04 — установка и настройка

Почему этот гайд

Ampache позволяет организовать собственный стриминг музыки и видео с веб-интерфейса и совместим с клиентами Subsonic. Руководство рассчитано на администратора сервера с доступом по root или sudo и покрывает распространённые проблемы и последующие шаги по эксплуатации.

Краткий список возможностей Ampache

  • API и потоковая передача в любые клиенты
  • Настраиваемые каталоги и права доступа
  • HTML5-плеер в браузере
  • Поддержка авторизации: MySQL/MariaDB, LDAP, HTTP, PAM
  • Совместимость с Subsonic-клиентами

Требования

  • Сервер с Ubuntu 20.04
  • Доступ root или пользователь с sudo
  • Зарезервированное место для медиатеки (рекомендуется отдельный диск или смонтированный раздел)
  • Домейное имя, указывающее на сервер (например, ampache.example.com)

Подготовка системы

Перед началом обновите пакеты и перезагрузите систему при необходимости:

apt-get update -y
apt-get upgrade -y
reboot

Важно: после обновления ядра или критичных пакетов перезагрузка может быть обязательна.

Установка LAMP и зависимостей

Ampache требует веб-сервер, PHP и базу данных. Установите необходимые пакеты:

apt-get install apache2 libapache2-mod-php php php-cli mariadb-server php-mysql php-curl php-json php-gd php-xml unzip curl git zip ffmpeg -y

Откройте PHP-конфиг для Apache и скорректируйте параметры под медиасервер:

nano /etc/php/7.4/apache2/php.ini

Измените/добавьте значения:

upload_max_filesize = 100M
post_max_size = 100M
date.timezone = Europe/Moscow
expose_php = Off

Сохраните и перезапустите Apache:

systemctl restart apache2

Примечание: timezone локализован под Россию. При необходимости укажите ваш часовой пояс.

Настройка MariaDB

Защитите установку MariaDB:

mysql_secure_installation

Откройте оболочку MariaDB и создайте базу и пользователя для Ampache (замените пароль на надёжный):

mysql -u root -p
CREATE DATABASE ampachedb;
CREATE USER 'ampache'@'localhost' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON ampachedb.* TO 'ampache'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Совет: не давайте прямой удалённый root-доступ к СУБД, держите подключение локальным.

Скачивание и развертывание Ampache

Скачайте текущую релизную сборку (пример для v4.1.1):

wget https://github.com/ampache/ampache/releases/download/4.1.1/ampache-4.1.1_all.zip
unzip ampache-4.1.1_all.zip -d /var/www/html/ampache
chown -R www-data:www-data /var/www/html/ampache

Активируйте необходимые .htaccess для поддиректорий:

cd /var/www/html/ampache
mv rest/.htaccess.dist rest/.htaccess
mv play/.htaccess.dist play/.htaccess
mv channel/.htaccess.dist channel/.htaccess

Создайте каталог для музыки и назначьте владельца:

mkdir -p /data/Music
chown -R www-data:www-data /data/Music

Рекомендация: если музыка хранится на отдельном диске, смонтируйте его в /data/Music и укажите в /etc/fstab.

Конфигурация Apache

Создайте виртуальный хост для Ampache:

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

Вставьте конфигурацию (измените ServerName на ваш домен):



    ServerName ampache.linuxbuz.com
    DocumentRoot /var/www/html/ampache

    
        AllowOverride All
        Require all granted
    

    RewriteEngine on
    CustomLog /var/log/apache2/ampache.access.log common
    ErrorLog  /var/log/apache2/ampache.error.log

Проверьте конфигурацию и активируйте сайт и модули:

apachectl configtest
a2ensite ampache
a2enmod expires rewrite
systemctl reload apache2

Если вы используете UFW, откройте порты:

ufw allow OpenSSH
ufw allow 'Apache Full'
ufw enable

SSL с Let’s Encrypt (Certbot)

Установите Certbot и модуль для Apache:

apt-get install certbot python3-certbot-apache -y
certbot --apache -d ampache.linuxbuz.com

Во время диалога укажите e-mail и выберите редирект HTTP→HTTPS (рекомендуется). Проверьте автоматическое продление:

certbot renew --dry-run

Важно: Certbot обычно устанавливает systemd-таймер для автоматического продления. Если вы предпочитаете cron, добавьте тестовый сценарий в crontab.

Первичная настройка через веб-интерфейс

Откройте в браузере https://ampache.linuxbuz.com и следуйте мастеру установки. Примеры экранов:

Выбор языка

Выберите язык и нажмите Start Configuration.

Проверка требований

Убедитесь, что все необходимые PHP-расширения установлены, затем Continue.

Конфигурация базы данных

Укажите данные базы: DB host localhost, имя базы ampachedb, пользователя ampache и его пароль. Снимите Create Database, включите Create Tables, снимите Create Database Users, нажмите Insert Database.

Генерация конфигурации

Выберите ffmpeg для транскодирования и нажмите Create Config.

Регистрация администратора

Создайте администратора, затем выполните Update Now для обновления пакетов и плагинов.

Вход администратора

После входа вы увидите дашборд Ampache и сможете создавать каталоги (Add Catalog), сканировать медиатеку и настраивать права.

Дашборд Ampache

Рекомендации по эксплуатации и безопасность

  • Права и владельцы: держите каталоги и конфигурационные файлы под www-data, но избегайте избыточных прав 777.
  • Отключите удалённый доступ к MariaDB: bind-address = 127.0.0.1 если внешний доступ не нужен.
  • Ограничьте доступ к /var/www/html/ampache/.git и другим скрытым папкам через .htaccess или конфиг Apache.
  • Настройте fail2ban для защиты формы входа и SSH.
  • Регулярные бэкапы: конфигурация /etc/letsencrypt, база данных и /data/Music. Используйте rsync или инструмент резервного копирования.
  • Минимизируйте раскрытие PHP: expose_php = Off, display_errors = Off в продакшн.

Автоматизация задач

  • Автообновление SSL: certbot работает с systemd timer; проверяйте renew –dry-run регулярно.
  • Плановое сканирование медиатеки: вы можете добавить cron-задачу, которая вызывает URL сканирования через curl с ключом администратора, либо настроить встроенные задачи в Ampache.

Пример cron (раз в сутки) для веб-скана каталога:

0 3 * * * /usr/bin/curl -s 'https://ampache.linuxbuz.com/rest.php?action=refresh_catalog&key=ВАШ_КЛЮЧ' >/dev/null 2>&1

Замените ВАШ_КЛЮЧ на ключ API администратора или используйте защищённый метод.

Отладка распространённых ошибок

  • Ошибка 500 после установки: проверьте /var/log/apache2/ampache.error.log и права файлов.
  • Ошибка соединения с БД: проверьте правильность пользователя/пароля и что MariaDB слушает localhost.
  • Проблемы с транскодированием: убедитесь, что ffmpeg установлен и путь в конфигурации Ampache корректен.
  • Ошибки .htaccess: включите модуль rewrite (a2enmod rewrite) и AllowOverride All в конфигурации каталога.

Критерии приёмки

  • Сайт доступен по HTTPS без предупреждений браузера.
  • Админ-панель открывается, аутентификация успешна.
  • Добавленный каталог сканируется и музыка отображается.
  • Воспроизведение файлов работает в браузере и/или через Subsonic-совместимый клиент.

Чек-листы по ролям

Администратор:

  • Установить и обновить пакеты, настроить Apache и MariaDB
  • Настроить SSL и автоматическое продление
  • Настроить бэкап базы и медиа

Оператор резервного копирования:

  • Еженедельное тестовое восстановление
  • Ротация резервов (удаление старых резервов)

Пользователь (power user):

  • Создать плейлисты, настроить мобильные клиенты
  • Тестировать воспроизведение и отчёты об ошибках

Мини-методология развёртывания

  1. Подготовка сервера: обновить, создать раздел для медиа
  2. Установка зависимостей LAMP
  3. Настройка БД и пользователей
  4. Развёртывание Ampache и проверка прав
  5. Настройка веб-хоста и SSL
  6. Первичный запуск и проверка функционала
  7. Настройка мониторинга, бэкапов и автоматизации

Технические сниппеты и полезные команды

Проверить статус Apache и MariaDB:

systemctl status apache2
systemctl status mariadb

Просмотр логов ошибок Apache:

tail -n 200 /var/log/apache2/ampache.error.log

Экспорт базы для бэкапа:

mysqldump -u root -p ampachedb > /root/backup/ampachedb-$(date +%F).sql

Скрипт для бэкапа каталога музыки:

rsync -a --delete /data/Music/ /backup/ampache/music/

Безопасность и приватность

  • Храните /etc/letsencrypt и приватные ключи в резервной копии с ограниченным доступом.
  • Для GDPR-совместимости: обеспечьте пользователя возможностью удаления своих данных и логов доступа; храните логи не дольше, чем требуется.
  • Минимизируйте данные, передаваемые третьим сервисам при интеграции.

Короткое объявление для пользователей (100–200 слов)

Мы развернули Ampache — приватный стриминговый сервер музыки и видео на базе Ubuntu 20.04. Теперь вы можете загружать личную медиатеку, слушать через браузер и мобильные Subsonic-совместимые клиенты, управлять доступами и плейлистами. Внешнее подключение защищено Let’s Encrypt, а административные функции доступны через веб-интерфейс. Если вы хотите получить доступ или добавить треки, обратитесь к администратору.

Частые вопросы

Q: Можно ли хранить медиа на внешнем сетевом хранилище?
A: Да. Смонтируйте NFS/SMB в /data/Music и назначьте права www-data.

Q: Поддерживает ли Ampache потоковое транскодирование?
A: Да, при установленном ffmpeg Ampache может транскодировать треки для потоковой передачи.

Q: Как настроить мобильный доступ?
A: Используйте Subsonic-совместимые клиенты и укажите URL вашего сервера с HTTPS и учетные данные.

Q: Как автоматизировать сканирование новых файлов?
A: Используйте cron или webhook, который вызывает REST-метод Ampache для обновления каталога.

1-line glossary

  • Ampache — веб-приложение для самохостинга медиатеки и стриминга.
  • LAMP — стек: Linux, Apache, MySQL/MariaDB, PHP.
  • Certbot — клиент для автоматического получения SSL от Let’s Encrypt.
  • ffmpeg — инструмент для конвертации и транскодирования медиаданных.

Заключение

Вы установили Ampache, настроили веб-сервер, базу данных и SSL. Следующие шаги: добавить каталоги, протестировать воспроизведение на разных клиентах, настроить регулярные бэкапы и мониторинг. Для продакшн-эксплуатации уделите особое внимание безопасности, правам доступа и автоматическому продлению сертификатов.

Важно: перед переносом большого объёма медиа протестируйте производительность сервера и пропускную способность сети.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Снять стоп-моушн на телефоне — пошагово
Видео

Снять стоп-моушн на телефоне — пошагово

Автосинхронизация Dropbox на Android
Мобильные приложения

Автосинхронизация Dropbox на Android

Как пользоваться Google — понятный гид
Инструменты

Как пользоваться Google — понятный гид

Лучшие онлайн-курсы флейты — 9 ресурсов
Музыка

Лучшие онлайн-курсы флейты — 9 ресурсов

Как исправить ошибку 0xc0000420 в Windows
Windows

Как исправить ошибку 0xc0000420 в Windows

Автоматизация кофеварки — как сделать кофе утром
Умный дом

Автоматизация кофеварки — как сделать кофе утром