Налаштування та використання об'єктного сховища MinIO у ServBay
MinIO — це високопродуктивний, сумісний із API Amazon S3 відкритий сервер об'єктного сховища. Він ідеально підходить для імітації хмарних сховищ у локальних середовищах розробки та зберігання неструктурованих даних, таких як зображення, відео, лог-файли, резервні копії та образи контейнерів. Завдяки ServBay ви можете легко розгорнути та адмініструвати локальний екземпляр MinIO на macOS.
Огляд
ServBay забезпечує встановлення MinIO в один клік і надає зручний графічний інтерфейс для його налаштування — це значно спрощує створення локального S3-сумісного сховища для розробників. Вам не потрібно боротися із командним рядком чи складними налаштуваннями, щоб швидко отримати повнофункціональну систему для зберігання об'єктів — ідеальну для розробки та тестування застосунків.
Більше того, ServBay автоматично налаштовує безпечну та просту у використанні веб-консоль для керування вашим MinIO. Стандартний домен: https://minio.servbay.host/
.
Необхідні умови
- На вашій системі macOS вже встановлено та запущено ServBay.
- У вас є базове розуміння об'єктних сховищ (поняття bucket, object тощо).
Покрокова інструкція
1. Встановлення пакета MinIO
Передусім потрібно встановити MinIO у ServBay:
- Відкрийте додаток ServBay.
- У лівому меню натисніть Пакети (Packages).
- У переліку знайдіть розділ
Об'єктне сховище
—MinIO
. - Натисніть кнопку встановлення поруч із
MinIO
і зачекайте на завершення інсталяції. - Натисніть кнопку активації, щоб увімкнути сервіс
MinIO
.
2. Налаштування сервісу MinIO
Після інсталяції пройдіть первинну конфігурацію MinIO:
У лівому меню ServBay натисніть Object Storage.
У випадаючому списку оберіть MinIO, щоб відкрити сторінку налаштування.
Ви побачите такі параметри (їх можна змінити або лишити стандартними):
- Bind IP (IP для привʼязки): IP-адреса, на якій прослуховується сервіс MinIO. Значення за замовчуванням —
127.0.0.1
— обмежує доступ лише до локальної машини, що є найбезпечнішим варіантом для локальної розробки. - API Port (Порт API): Порт для з'єднання з S3 API. Ваш застосунок підключатиметься до MinIO через цей порт. Типове значення —
9000
. - Root user (Кореневий користувач): Імʼя адміністратора MinIO. За замовчуванням —
minio
. - Root password (Пароль адміністратора): Пароль адміністратора. Рекомендуємо встановити складний та унікальний пароль і зберігати його в надійному місці — він є ключем до ваших даних.
- Data Path (Шлях до даних): Шлях до директорії на локальному диску для зберігання об'єктів та метаданих MinIO. Типовий шлях —
/Applications/ServBay/data/minio
. Ви можете швидко перейти до цієї папки у Finder, натиснувши на іконку папки справа.
- Bind IP (IP для привʼязки): IP-адреса, на якій прослуховується сервіс MinIO. Значення за замовчуванням —
3. Збережіть налаштування та запустіть сервіс
- Після внесення змін натисніть Зберегти (Save) у нижньому правому куті.
- Якщо все працює правильно, індикатор стану стане зеленим — це означає, що MinIO успішно запущено.
4. Доступ до веб-консолі MinIO
Одна з ключових зручностей ServBay — автоматично налаштована веб-консоль MinIO:
Перший спосіб: На екрані налаштувань MinIO у правому верхньому куті натисніть іконку браузера (виглядає як компас) — ServBay автоматично відкриє веб-консоль у вашому браузері.
Другий спосіб: Введіть у браузері адресу
https://minio.servbay.host/
.Авторизуйтеся, використовуючи
Root user
іRoot password
з попереднього етапу.
Після входу ви отримаєте інтуїтивну веб-консоль для створення бакетів (Buckets), завантаження/керування файлами (Objects), встановлення політик доступу тощо.
5. Використання MinIO у застосунках
Ваші застосунки (наприклад, PHP, Node.js, Python тощо) можуть підключатися до MinIO у ServBay через будь-який SDK, сумісний із S3. Для підключення потрібна така інформація:
- Endpoint (Кінцева точка):
http://127.0.0.1:9000
- Access Key ID (Ідентифікатор доступу): ваш
Root user
(наприклад,minio
) - Secret Access Key (Секретний ключ): ваш
Root password
- Use path style endpoint (Використовувати path-style endpoint): рекомендується встановити в
true
.
Приклад PHP-коду (AWS SDK for PHP)
Спочатку встановіть SDK:
bash
composer require aws/aws-sdk-php
1
Далі налаштуйте і використовуйте клієнт S3 у вашому коді:
php
<?php
require 'vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
$s3Client = new S3Client([
'profile' => 'default',
'version' => 'latest',
'region' => 'us-east-1', // Для MinIO region може бути будь-яким валідним рядком
'endpoint' => 'http://127.0.0.1:9000',
'use_path_style_endpoint' => true,
'credentials' => [
'key' => 'minio', // Ваш Root user
'secret' => 'your-strong-password', // Ваш Root password
],
]);
try {
$buckets = $s3Client->listBuckets();
foreach ($buckets['Buckets'] as $bucket) {
echo $bucket['Name'] . "\n";
}
} catch (AwsException $e) {
// Вивести інформацію про помилку
echo "Error: " . $e->getMessage() . "\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Поширені питання (FAQ)
- Q: Я забув пароль Root password для MinIO. Як його скинути?
- A: Скидання пароля в ServBay дуже просте. Просто введіть новий пароль у вікні налаштувань MinIO, натисніть Зберегти, а потім перезапустіть сервіс MinIO. ServBay автоматично оновить файл конфігурації.
- Q: Сервіс MinIO не запускається. Що робити?
- A: Перевірте наступне:
- Клікніть по іконці журналу (логів) у правому верхньому куті налаштувань MinIO, щоб переглянути детальну помилку.
- Переконайтеся, що порт
9000
не зайнятий іншою програмою. - Впевніться, що вказаний вами шлях
Data Path
існує та ServBay має права на читання/запис у цю папку.
- A: Перевірте наступне:
- Q: Чи можна змінити API-порт MinIO?
- A: Так. Змініть поле
API Port
у налаштуваннях MinIO, збережіть зміни і перезапустіть сервіс. Не забудьте оновити налаштування ваших застосунків на новий порт.
- A: Так. Змініть поле
Висновок
Завдяки ServBay налаштування та запуск локального екземпляру MinIO на macOS стає надзвичайно простим. Це відкриває широкі можливості для локальної розробки застосунків із підтримкою S3-сховищ і заощаджує час на налаштуванні інфраструктури, дозволяючи сконцентруватися на бізнес-логіці проекту.