Замовити зараз | Завантажити | Часті запитання
Існує багато способів встановлення MinIO. Нижче ми розглянемо метод встановлення з бінарних файлів. У наступному описі ми надамо додаткові кроки, крім основного встановлення, для налагодження служби правильно. Опис буде включати, серед іншого, налаштування служби, проксі-сервера nginx та SSL-сертифікатів.
У поточному прикладі ми використовуватимемо операційну систему Debian 10.
1 - Встановлення та налаштування сервера MinIO
Якщо ви не оновлювали базу даних пакетів нещодавно, виконайте оновлення:
sudo apt update
Потім завантажте бінарний файл сервера Minio з офіційного веб-сайту:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Вивід
# wget https://dl.min.io/server/minio/release/linux-amd64/minio
--2022-08-10 10:01:59-- https://dl.min.io/server/minio/release/linux-amd64/minio
Розширення dl.min.io (dl.min.io)... 178.128.69.202, 138.68.11.125
Підключення до dl.min.io (dl.min.io)|178.128.69.202|:443... підключено.
Відправлено HTTP-запит, очікування відповіді... 200 OK
Довжина: 96968704 (92M) [application/octet-stream]
Зберігається в: ‘minio’minio 100%[======================================================================>] 92,48M 16,7MB/s in 6,8s
2022-08-10 10:02:07 (13,6 MB/s) - ‘minio’ збережено [96968704/96968704]
Після завершення завантаження файлу, в робочому каталозі буде файл з ім'ям minio. Використовуйте наступну команду, щоб зробити його виконавчим:
sudo chmod +x minio
Тепер перемістіть файл до каталогу /usr/local/bin
, де очікує знайти його скрипт запуску системи Minio:
sudo mv minio /usr/local/bin
Це дозволить нам створити файл одиниці служби в наступних кроках цього навчального посібника, щоб забезпечити автоматичний запуск Minio при завантаженні системи.
З міркувань безпеки рекомендується уникати запуску сервера Minio як корінь. Це обмежить можливість завданого пошкодження системи в разі порушення безпеки. Оскільки скрипт systemd, який ви використовуватимете на кроці 2, шукає обліковий запис та групу з іменем minio-user, створіть нового користувача з такою назвою:
sudo useradd -r minio-user -s /sbin/nologin
У цій команді ви використовуєте прапорець -s для налаштування оболонки /sbin/nologin як оболонку для minio-user. Це оболонка, яка не дозволяє користувачеві входити в систему, що не є необхідним для minio-user.
Далі передайте власність до бінарного файлу Minio minio-user:
sudo chown minio-user:minio-user /usr/local/bin/minio
Далі вам потрібно створити каталог, де Minio буде зберігати файли. Це місце буде де ви будете зберігати кошики, які ви використовуватимете пізніше для організації об'єктів, які ви зберігаєте на вашому сервері Minio. У цьому навчальному посібнику використовується назва каталогу minio:
sudo mkdir /usr/local/share/minio
Надайте власність minio-user для цього каталогу:
sudo chown minio-user:minio-user /usr/local/share/minio
Більшість файлів конфігурації сервера зберігаються в каталозі /etc
, тому саме тут потрібно створити файл конфігурації:
sudo mkdir /etc/minio
Надайте власність minio-user цьому каталогу:
sudo chown minio-user:minio-user /etc/minio
Використовуйте Nano або ваш редактор тексту за власним вибором, щоб створити файл середовища, необхідний для зміни конфігурації за замовчуванням:
sudo nano /etc/default/minio
Після відкриття файлу, додайте наступні рядки для налаштування кількох важливих змінних середовища в файлі середовища:
MINIO_ACCESS_KEY="minio"
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :9001"
MINIO_SECRET_KEY="miniostorage"
Давайте розглянемо ці змінні та встановлені значення:
- MINIO_ACCESS_KEY: Ця змінна вказує ключ доступу, який ви будете використовувати для доступу до інтерфейсу браузера Minio.
- MINIO_SECRET_KEY: Ця змінна вказує особистий ключ, який ви будете використовувати для передачі облікових даних для доступу до інтерфейсу Minio. У цьому навчальному посібнику ми використовуватимемо значення miniostorage, але ми рекомендуємо вибрати інший, більш складний пароль для забезпечення безпеки вашого сервера.
- MINIO_VOLUMES: Ця змінна вказує каталог зберігання, який ви створили для ваших кошиків.
- MINIO_OPTS: Ця змінна визначає, де і як сервер надає дані. Прапорець -C повідомляє Minio каталог конфігурації для використання, а прапорець --address вказує IP-адресу та порт для прив'язки. Якщо IP-адресу не вказано, Minio буде прив'язаний до того, що встановлено на сервері, включаючи localhost та будь-які IP-адреси, пов'язані з Docker, тому ми рекомендуємо вказати IP-адресу безпосередньо тут. Ви можете змінити порт за замовчуванням 9000 за бажанням.
Збережіть та закрийте файл середовища після внесення змін.
Ви встановили Minio та встановили кілька важливих змінних середовища. Далі вам потрібно налаштувати сервер для роботи як системну службу.
2 - Встановлення системного скрипта запуску MinIO
На цьому кроці ви налаштуете сервер Minio на управління як системною службою.
Створіть файл /etc/systemd/system/minio.service
sudo nano /etc/systemd/system/minio.service
Зміст файлу:
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
Потім виконайте наступну команду для перезавантаження всіх одиниць systemd:
sudo systemctl daemon-reload
sudo systemctl enable minio
Тепер, коли системний скрипт встановлено і налаштовано, час запустити сервер.
3 - Запуск сервера MinIO
На цьому кроці ви запустите сервер і зміните налаштування брандмауера для доступу через інтерфейс браузера.
Запустіть сервер Minio:
sudo systemctl start minio
Потім перевірте статус Minio, IP-адресу, до якої він прив'язаний, використання пам'яті та інше за допомогою наступної команди:
sudo systemctl status minio
Результат буде виглядати так:
4 - Забезпечення доступу до сервера MinIO за допомогою сертифіката Let’s Encrypt SSL/TLS
Вам потрібно замінити yourdomain.com на свій власний домен
Certbot - це консольний інструмент генерації сертифікатів для Let's Encrypt.
У цьому рецепті ми згенеруємо сертифікат Let's Encrypt за допомогою Certbot. Цей сертифікат потім буде використовуватися для сервера MinIO.
Встановіть Certbot
sudo apt update
sudo apt install certbot nginx python3-certbot-nginx -y
Настроїть Nginx проксі з сервером MinIO
Проксі всі запити
rm /etc/nginx/sites-enabled/default
nano /etc/nginx/sites-enabled/minio
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:9000;
}
}
Замініть yourdomain.com на свій власний домен.
Збережіть файл і перевірте конфігурацію Nginx:
sudo nginx -t
Якщо все налаштовано правильно, ви повинні отримати повідомлення, яке підтверджує, що конфігурація коректна.
Перезавантажте Nginx для застосування змін:
sudo systemctl restart nginx
Отримайте сертифікат Let's Encrypt
sudo certbot --nginx
Вас запитають про вашу електронну пошту та погодження з умовами користування Let's Encrypt. Після цього сертифікат буде автоматично встановлено та настроєно для вашого домену.
Тепер ви можете перевірити статус сертифіката, перейшовши за посиланням:
https://www.ssllabs.com/ssltest/analyze.html?d=yourdomain.com
Переконайтеся, що ви бачите рейтинг A, який вказує на правильну установку та налаштування сертифіката.
Minio і Let's Encrypt
Ви успішно налаштували Minio разом із сертифікатом Let's Encrypt, що дозволяє вам безпечно використовувати сервер Minio через захищене з'єднання SSL/TLS.
Висновок:
У цьому навчальному посібнику ми розглянули процес встановлення і налаштування сервера Minio на сервері з операційною системою Debian 10. Ми також показали, як налаштувати сервер Minio як системну службу, щоб він автоматично запускався при завантаженні системи. За допомогою Certbot і Let's Encrypt ми забезпечили безпечний доступ до сервера Minio через захищене з'єднання SSL/TLS.
Minio - це високопродуктивна, розподілена система для зберігання та обробки об'єктів. Ви можете використовувати його для створення свого власного сервера для зберігання об'єктів, а також для роботи з різними додатками, які підтримують протоколи S3.
Ми сподіваємося, що цей навчальний посібник допоміг вам встановити і налаштувати сервер Minio та забезпечити безпечний доступ до нього за допомогою сертифіката Let's Encrypt.