javascript

Mini Bucket 3.6.2: от беты к релизу. Полная установка со скринами и комментариями

  • суббота, 6 июня 2026 г. в 00:00:09
https://habr.com/ru/articles/1043530/

Почему Debian 9, PHP 7.0 и никаких фреймворков. И как поднять HTTPS за 5 минут

Предисловие для тех, кто не читал первую статью

В прошлый раз я рассказал, как хотел сделать две странички для SAMBA и NFS, а получилась панель управления NAS на 20+ страниц. Проект назвал Mini Bucket.

Важно: та версия была бета. Сырая, с недоработками, но живая. Её задача — показать концепцию. А народ заинтересовался. Значит, надо доводить до ума.

Теперь — версия 3.6.2. Исправлена куча проблем, добавлена безопасность, появился отдельный домен, форум и вики. И сегодня я по шагам покажу установку со скринами.

Но сначала — кратко о том, что изменилось. А потом — чистая практика.


Что исправлено в 3.6.2 (главное)

Безопасность: фатальные дыры закрыты

В бете файлы воркера, скрипты крона, временные файлы и логи лежали в зоне веб-сервера. Технически можно было отправить запрос в исполняемый файл без авторизации — ни API-ключа, ни логина с паролем.

Исправлено: все критичные файлы перенесены в var/www/minib/ за пределы папки сайта. Конфигурация Apache пересмотрена. Временные файлы и логи теперь недоступны извне.

Логика и баги

  • Хост-менеджер (ротация ключей) больше не затирает SN хоста при изменении — ротация работает.

  • Исправлено создание разделов дисков.

  • Крон теперь можно смотреть на любых серверах в связке. Добавлена возможность создавать свои скрипты и запускать по расписанию.

Базы данных

Раньше всё лежало в одном SQLite. При нагрузке вылезало «database is locked».

Решение: разделили базы по разным файлам + очередь запросов. Конфликтов больше нет.


Организация проекта: теперь не просто скрипт, а экосистема

Сначала проект жил на поддомене mini-b.itp-corp.ru. Но раз пошло — выделил отдельный домен.

👉 mini-bucket.ru

И три важных раздела:

  • Сообщество / Форум — обсуждаем баги, фичи, делимся опытом.

  • Вики / Wiki — потому что моё видение панели может быть неочевидным для других. Наполняю постепенно.

  • Донаты — если проект полезен и хочется сказать «спасибо» делом.

У кого уже стоит бета: обновляйтесь через раздел Update внутри mini-b.

Новая установка — читайте дальше.


Установка Mini Bucket 3.6.2 (пошагово со скринами)

Сразу отвечу на вопросы, которые вы зададите

Почему Debian 9?
Потому что на свой Netgear Stora MS2000 я его с трудом поставил. И он не такой ресурсоёмкий, как ванильная Ubuntu. А панель заточена под старое железо — зачем ей современный дистрибутив?

Почему PHP 7.0?
Так вышло. В Debian 9 он по умолчанию. И работает.

Почему не фреймворк? Почему не Colplit с кучей всего?
Потому что тогда это был бы не Mini Bucket, а очередная тяжелая сборка. Фреймворки тяжелые. Нашего стека PHP + JS + HTML вполне достаточно, чтобы закрыть все задачи.

Почему всё на английском?
Не всё) Местами ещё Русский встречается. Но если честно — Англоязычный рынок шире. Это стандарт. Изначально проект был полностью на Русском — резало глаз.
В планах — мультиязычность с lang-паками. Но в таком объеме приоритет явно не в этом.


Теперь — установка. Без лишних слов.

Я не буду показывать, как ставить Debian. Думаю, для моей аудитории это базовая вещь.

Ставить буду на виртуалку. У вас может быть «голое железо» — процесс тот же.

1. Подготовка системы и запуск скрипта

После установки системы логинимся в консоль. Работаем из-под root.

bash

su -

Вводим пароль root.

Ставим wget (хотя он обычно есть по умолчанию, но мало ли):

bash

apt install -y wget

Скачиваем предустановочный скрипт:

bash

wget --no-check-certificate -O minib-install.sh "https://update.mini-bucket.ru/minib/downloads/install/minib-install.sh"

Почему --no-check-certificate?
Wget ругается на сертификат Let’s Encrypt. Пропускаем проверку — это нормально для установки.

Делаем скрипт исполняемым:

bash

chmod +x minib-install.sh

Запускаем:

bash

bash minib-install.sh
Адрес в данном скрине отличается. не обращайте внимания)
Адрес в данном скрине отличается. не обращайте внимания)

2. Что делает скрипт установки (пока ждём)

Расскажу вкратце:

  1. Устанавливает все пакеты для работы Mini Bucket: NFS, SMB, rsync, vsftpd, UFW, Apache, PHP 7.0 и т.д.

  2. Создаёт нужные директории и конфиги для сервисов.

  3. Назначает права на некоторые конфиги.

  4. Вносит изменения в sudoers:

    • разрешает www-data запускать sudo

    • отключает уведомления sudo, чтобы парсинг не ломался.

  5. Копирует файлы в /var/www, конфигурирует Apache, перезапускает службы.

  6. Создаёт задания в cron.

    Вы можете скачать полный скрипт с нашего сайта и посмотреть его содержимое.


3. После установки — первый вход

Скрипт выведет URL, логин и пароль.

Вставляем URL в браузер. Попадаем на страницу входа.

Логин: admin
Пароль: 1234

Да, пароль суперкриптостойкий. Поменяем дальше.

Жмём «Login» — попадаем на страницу проверки установки.

Важно: Ошибки могут появляться в разделе «Системные службы» (Rsync и Firewall-UFW), а также в разделе «Файлы и конфигурации» (конфигурация администратора). Эти ошибки не являются критическими — их можно смело игнорировать.

Главное — чтобы все пакеты были установлены. Пролистываем вниз, жмём Next.


4. Мастер установки

Запускается мастер. Принимаем стандартные соглашения.

Если хоть один человек в жизни их прочитает — я буду рад. Значит, не зря старался.

Далее — проверка прав на чтение/запись конфигов и базы данных.

Всё хорошо — жмём Next.


5. Имя хоста (важный момент)

Я буду использовать SSL. Поэтому имя хоста критично. Можно прописать через /etc/hosts, но проще задать сразу.

Ввожу имя хоста FQDN: minib.local

Это работает.


6. Генерация ключей

Будут созданы:

  • SN (серийный номер / ID хоста) — по нему одно «ведро» узнаёт другое.

  • API-ключ — нужен для взаимодействия фронта и бека (как локально, так и с удалёнными серверами).

Жмём  Generate Security Credentials.


7. Учётная запись администратора

Логин оставляю admin. Почту не указываю. Пароль ввожу свой.

Жмём Create account.

Видим заветную кнопку Launch MiniB.

Жмякаем на неё.

Снова проходит тест. Жмём Next — попадаем в панель управления.

Возможный глюк: из-за кеша метрики могут не загрузиться. Если панель не отвечает 5 секунд — просто перезагрузите страницу. Это поправим.


Первоначальная настройка: включаем HTTPS

Почему SSL обязателен?
Ключи передаются в заголовках запросов. В URL они не светятся, но любой Wireshark при перехвате пакета увидит ваш API-ключ. Так что HTTPS — необходимость.

8. Настраиваем Host Manager

Переходим в Host manager.

На нашем хосте находим три точки (⋮) → выбираем Edit.

В окне настроек меняем IP-адрес на наше FQDN-имя (minib.local).

Это нужно для правильной работы API.

Протокол пока оставляем HTTP (вернёмся после выпуска сертификата).

Жмём Save.


9. Создаём самоподписной сертификат

Переходим в Security → SSL Manager.

В правом верхнем углу жмём Create → Self-Signed Certificate.

Откроется окно создания сертификата.

Если у вас есть купленный сертификат или от Let's Encrypt — его можно импортировать там же.

Заполняем:

  • Certificate Name — MiniB_web

  • Domain/CN — minib.local (ваше FQDN)

  • Valid Days — 365

  • Key Size — 2048 bits (больше смысла нет)

  • Signature Algorithm — оставляем по умолчанию

Жмём Create.

Сертификат появился.
Сертификат появился.

10. Включаем HTTPS

Идём в System → Mini-B Settings.

Нас интересует переключатель Enable HTTPS в блоке HTTPS / SSL Configuration.

Включаем его.

Появляются новые поля. Жмём Select для выбора сертификата.

В открывшемся окне выбираем созданный MiniB_web.

После заполнения жмём Apply & test config.

Настройки применяются. Вы увидите ошибку — это нормально.

Ошибка означает, что интерфейс теперь работает на HTTPS. Так и задумано.


11. Заключительный шаг: DNS / hosts

Теперь нужно, чтобы ваше FQDN-имя направлялось в IP-адрес сервера.

Варианты:

  • Прописать в вашем DNS-сервере (если есть)

  • Прописать в роутере

  • Или в файле hosts на компьютере, с которого заходите

Для Windows: C:\Windows\System32\drivers\etc\hosts
Для Linux/Mac: /etc/hosts

Добавляем строку:

text

192.168.x.x   minib.local

Теперь в браузере вводим:

text

https://ваше имя:порт

Браузер покажет предупреждение о недоверенном сертификате — соглашаемся.

Логинимся. Заходим обратно в Host manager → Edit нашего хоста → переключаем протокол на HTTPS.

Жмём Save.

12. Финальный штрих (рекомендация)

Лучше зайти в SSL Manager, скачать созданный сертификат и установить его в систему (в корневые центры сертификации). Тогда браузер перестанет ругаться.


Готово. Что дальше?

Mini Bucket 3.6.2 установлен, работает по HTTPS. Теперь можно:

  • настраивать диски и RAID

  • создавать SMB/NFS-шары

  • подключать другие серверы через ротацию ключей

  • пользоваться файловым менеджером, кроном, фаерволом

В следующих статьях покажу пошаговую настройку каждого модуля — со своими комментариями: почему делаю так, а не иначе, какие грабли ожидают, как их обойти.


P.S. Обратная связь

Проект живёт и растёт благодаря вашим идеям и баг-репортам.

  • Форум / Community — сюда за идеями и вопросами.

  • Вики — помогает, если моё видение не совпадает с вашим.

  • Донаты — поддержка развития.

И помните: Mini Bucket — не очередная сборка на фреймворке. Это лёгкая панель для старого железа на чистом PHP, JS и HTML. И она работает.


Ссылки:

P.S Скрины могут содержать разные версии или имена, но старался все подогнать к одному. А то у меня и так уже целый инстаграм скриншотов на компьютере.