Установка Sonerezh на Ubuntu 18.04
Требования
- Сервер с Ubuntu 18.04.
- Нерoot‑пользователь с привилегиями sudo.
- Доступ к DNS или возможность использовать IP/hosts для ServerName.
Установка Apache, MariaDB и PHP
Sonerezh — веб‑приложение, поэтому нужен веб‑сервер и СУБД. На Ubuntu 18.04 устанавливаем Apache и MariaDB:
sudo apt-get install apache2 mariadb-server -yДобавим репозиторий Ondřej для нужной версии PHP и установим PHP 7.2 и зависимости:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php -yОбновите и установите PHP и модули, указанные ниже (команда из оригинала для Ubuntu 18.04):
sudo apt-get install php7.2 php7.2-mysql php7.2-intl php7.2-cli php7.2-gd php7.2-mbstring php-pear php7.2-curl php7.2-mysqlnd php7.2-mcrypt libav-tools git -yПосле установки запустите и включите автозапуск сервисов:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysqlВажно: если какие‑то пакеты уже помечены устаревшими или отсутствуют (например, php7.2-mcrypt), используйте эквиваленты или обновите систему до поддерживаемой версии PHP, либо рассмотрите установку через Docker.
Настройка MariaDB
По умолчанию MariaDB требует базовой безопасной настройки. Запустите мастер настройки:
sudo mysql_secure_installationРекомендуемые ответы (при установке на чистую систему):
Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: YЗатем войдите в консоль MariaDB и создайте базу данных и пользователя для Sonerezh (замените пароль и имена на свои):
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE sonerezhdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON sonerezhdb.* TO 'sonerezh'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \qВажно: используйте надёжный пароль и при необходимости ограничьте доступ по адресу (localhost) или через сокет.
Установка Sonerezh
Клонируйте репозиторий в корень веб‑серверa:
cd /var/www/html
sudo git clone --branch master https://github.com/Sonerezh/sonerezh.gitУстановите владельца и права доступа:
sudo chown -R www-data:www-data /var/www/html/sonerezh
sudo chmod -R 755 /var/www/html/sonerezhСоздайте Apache виртуальный хост:
sudo nano /etc/apache2/sites-available/sonerezh.confДобавьте конфигурацию (замените ServerName на ваш домен):
ServerAdmin [email protected]
DocumentRoot /var/www/html/sonerezh
ServerName example.com
Options FollowSymLinks
AllowOverride All
ErrorLog /var/log/apache2/sonerezh-error_log
CustomLog /var/log/apache2/sonerezh-access_log common
Включите сайт и перезапустите Apache:
sudo a2ensite sonerezh
sudo systemctl restart apache2Совет: если сервер будет доступен по HTTPS, настройте и включите сертификат (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
Доступ к Sonerezh
Откройте браузер и перейдите по адресу http://example.com (или IP/домен вашего сервера). На странице установки заполните данные базы и учётной записи администратора.


После заполнения и запуска вы попадёте на страницу входа:

Войдите под данными администратора и проверьте панель управления:


Бычная проверка после установки (чек‑лист)
- DNS/hosts указывают на IP сервера.
- Apache слушает порт 80/443 и виртуальный хост активен (sudo a2ensite).
- PHP работает, модули mysqli/mbstring/gd установлены.
- MariaDB доступна, база создаётся и пользователь имеет права.
- Права на /var/www/html/sonerezh установлены для www-data.
- Веб‑установка успешно прошла и можно войти в админ‑панель.
Альтернативные подходы
- Nginx вместо Apache: используйте PHP‑FPM и конфигурацию server {} для /var/www/html/sonerezh.
- Docker: запустите Sonerezh в контейнере (образы community могут быть доступны) — упрощает изоляцию и обновления.
- Сборка на более новой Ubuntu: для современных версий PHP рассмотрите Ubuntu 20.04+/PHP 7.4+.
Резервное копирование и восстановление (мини‑методология)
- Резерв базы данных: еженощный дамп через cron
mysqldump -u root -p'ROOTPASS' sonerezhdb > /backups/sonerezhdb-$(date +%F).sql- Бэкап файлов Sonerezh и метаданных (артефакты и конфиги): rsync/tar к удалённому хранилищу.
- Проверяйте резервные копии восстановлением на тестовом стенде.
- Храните резерв в двух местах: локально и удалённо (облако/другой DC).
Безопасность и приватность
- Используйте HTTPS (Let’s Encrypt) и включите принудительное перенаправление с HTTP на HTTPS.
- Ограничьте доступ к MariaDB только с localhost или через unix‑сокет.
- Регулярно обновляйте ОС и PHP‑модули.
- Не храните административные аккаунты с простыми паролями.
- Если у вас есть пользователи из ЕС — проверьте требования GDPR к хранению данных и предоставлению возможности удаления аккаунта.
Отладка и распространённые ошибки
- 500 Internal Server Error: проверьте логи Apache (/var/log/apache2/sonerezh-error_log) и права на файлы.
- Ошибка подключения к БД: проверьте host/user/password, привилегии и что MariaDB слушает локально.
- Отсутствие PHP‑модулей: проверьте php -m и установите недостающие модули.
- Плохая производительность: проверьте I/O, использование диска, индексацию медиа, включите кэширование на уровне веб‑сервера/Reverse Proxy.
Роли и задачи (быстрые чек‑листы)
Администратор сервера:
- Установить и настроить Apache/MariaDB/PHP.
- Настроить бэкап и мониторинг.
Администратор Sonerezh (веб):
- Создать админ‑аккаунт, добавить каталоги с музыкой.
- Управлять пользователями и правами доступа.
Пользователь:
- Подключиться через веб‑интерфейс и создать плейлисты.
Миграция и обновления
- Перед обновлением делайте полный бэкап БД и файлов.
- При переходе на новую версию PHP тестируйте Sonerezh на стенде: проверьте совместимость модулей.
- Рассмотрите контейнеризацию для упрощения будущих миграций.
Критерии приёмки
- Веб‑интерфейс Sonerezh доступен по указанному домену/IP.
- Вход в админ‑панель успешен, добавление и проигрывание треков работает.
- Автоматические бэкапы выполняются и проходят проверку восстановления.
- HTTPS настроен и действует для всех пользователей.
Резюме
Sonerezh — лёгкое PHP‑приложение для стриминга собственной музыки. Развёртывание на Ubuntu 18.04 включает установку Apache, MariaDB и PHP, настройку базы данных и виртуального хоста. После установки обязательно настроить HTTPS, резервное копирование и обновления. При проблемах проверьте логи, права доступа и наличие необходимых PHP‑модулей.
Полезные ссылки:
Важно: замените example.com и пароли в примерах на ваши доменные имена и надёжные пароли.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента