Skip to main content

3.1.3 Установка S3 хранилища MinIO на Linux

Для разворачивания своего S3 хранилища можно использовать разные сервера. Мы рекомендуем MinIO - это открытое программное обеспечение, которое позволяет создавать собственное S3 хранилище на своем сервере или в облаке. С MinIO вы получите безопасное и надежное решение, а также быструю установку и простоту использования.

Если Вы планируете использовать другой сервер, обратитесь на почту info.sgnl.pro, и наши специалисты помогут Вам настроить сервер и подключится к сервису DOCS.

Здесь указаны ip адреса, с которых будут обращения со стороны сервиса SIGNAL DOCS к Вашему хранилищу.

Минимальные требования к серверу:

  • CPU: 2 core 2+Ghz
  • RAM: 8 GB
  • Storage: 100 Gb (зависит от проектов, с возможностью расширения)

Два варианта как установить MinIO на Linux, и подключить его к сервису DOCS

 

Вариант №1: https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html# 

Вариант №2: 

Установка MinIO на Linux

1. Загрузка и установка MinIO

Первым шагом является загрузка Minio. Мы будем использовать Ubuntu Server 22.04.

1.1. Перейдите на официальный сайт "MinIo". Пролистайте до пункта Install the MinIO Server, выберите вкладку "DEB (Debian/Ubuntu)" и командой 1 в терминале скачайте установочный пакет MinIO, командой 2 установите его:

image-1694682309335.png

2. Создание службы и запуск MinIO

2.1. Создадим пользователя, от имени которого будет запускать службу приложения:

sudo groupadd -r minio-user

sudo useradd -M -r -g minio-user minio-user

2.2. Добавим этому пользователю полные права на каталог, в котором будут Ваши данные:

sudo chown -R minio-user:minio-user /mnt/data/

2.3. Скачаем файл службы для приложения, чтобы MinIO работало в фоновом режиме:

wget https://github.com/minio/minio-service/tree/master/linux-systemd

2.4. Переместим скачанный файл в каталог служб:

sudo mv minio.service /lib/systemd/system/

2.5. Включим автозагрузку службы:

sudo systemctl enable minio.service

2.6. Отредактируем файл конфигурации службы:

sudo nano /etc/default/minio

Вставим в файл следующий текст:

# Volume to be used for MinIO server.

MINIO_VOLUMES="/mnt/data"

# Use if you want to run MinIO on a custom port.

MINIO_OPTS="--address :9000 --console-address :9090 --certs-dir /home/administrator/.minio/certs/"

# Root user for the server.

MINIO_ROOT_USER=minioadmin

# Root secret for the server.

MINIO_ROOT_PASSWORD=miniopassword

 # set this for MinIO to reload entries with 'mc admin service restart'

MINIO_CONFIG_ENV_FILE=/etc/default/minio

2.7. ВАЖНО! Требуется установить сертификат. См. подробнее ниже раздел “3. Подключение SSL сертификата”. После этого переходите к шагу 2.8.

2.8. Запустим службу:

sudo systemctl start minio.service

2.9. Проверим статус запуска:

systemctl status minio.service

2.10. Зададим имя суперпользователя и его пароль:

Откроем в редакторе файл:

sudo nano /etc/environment

Добавим две строки:

MINIO_ROOT_USER=minioadmin

MINIO_ROOT_PASSWORD=miniopassword

ВНИМАНИЕ! Рекомендуется указать более сложный пароль.

2.11. Запустим приложение в консоли:

sudo minio server --console-address :9090 --certs-dir /home/administrator/.minio/certs /mnt/data/

image-1686727625001.png

2.12. Приложение запущено, можно переходить к настройке MinIO

3. Подключение SSL сертификата

Вам необходимо заранее приобрести в специализированных центрах (например, https://www.reg.ru/)  коммерческий сертификат для доменного имени Вашего хранилища. Например, если адрес хранилища будет s3.YOURDOMAIN.RU, тогда сертификат необходим или непосредственно для адреса s3.YOURDOMAIN.RU, или сертификат домена типа WIldcard (*.YOURDOMAIN.RU).

Полученные данные необходимо сохранить в двух файлах:

  • сертификат в файле crt
  • закрытый ключ в файле key

Оба файла необходимо поместить в папку certs в профиле пользователя на сервере, где будет работать приложение MinIO. Например, /home/administrator/.minio/certs/

Также необходимо выстроить полную цепочку сертификата.

4. Настройка MinIO

После запуска Minio вы можете перейти в веб-интерфейс хранилища. Для этого откройте браузер и перейдите по адресу: https://localhost:9090

Введите логин и пароль суперпользователя. В предыдущих шагах (шаг 2.3.) инструкции мы указали их как minioadmin и miniopassword.


image-1686724421865.png

Создание ключа доступа

Ключ доступа в Minio используется для авторизации доступа к объектному хранилищу из сервиса DOCS. Ключ доступа включает в себя идентификатор пользователя (Access Key) и секретный ключ (Secret Key), который используется для аутентификации пользователя и обеспечения безопасности данных. Без ключа доступа невозможно получить доступ к объектам в хранилище Minio.

1. Для создания ключа доступа перейдите во вкладку Access Keys ➤ Create access key

image-1686724453631.png

2. Заполните поля Access Key и Secret Key самостоятельно или оставьте их как есть. Запомните данные поля, т.к. они понадобятся для подключения к DOCS. Нажмите Create.

image-1686724468521.png

3. Ключ доступа создан

image-1686724484229.png

Создание бакета

Для хранения файлов в Minio необходимо создать бакеты. Бакеты - это контейнеры, которые содержат файлы и папки.

1. Чтобы создать новый бакет перейдите во вкладку Buckets ➤ Create bucket

image-1686724501633.png

2. Введите имя бакета, включите переключатель Versioning и нажмите Create Bucket

image-1686724515030.png

3. Бакет создан.

image-1686724528119.png

Подключение хранилища к сервису DOCS

ВНИМАНИЕ! Для подключения к сервису DOCS данный сервер должен быть опубликован в сеть Интернет по портам 443 и 9090. И во внешней DNS-зоне Вашего домена необходимо создать A-запись с указанием IP-адреса, на котором опубликован сервер с приложением MinIO.

1. Откройте сервис docs.sgnl.pro. Перейдите в настройки сервиса: для этого нажмите на профиль ➤ Настройки

image-1686724572163.png

2. Нажмите Добавить новое хранилище

image-1686724583722.png

3. Заполните данные в появившемся окне и нажмите Сохранить:

image-1712049298094.png

Обязательные поля:

  • В строке “Название” впишите название хранилища для сервиса DOCS
  • В строку “EndPoint” вставьте ссылку на сервер с стандартным портом 443, например https://s3.YOURDOMAIN.RU
  • В строку “Access Key” вставьте ключ доступа
  • В строку “Secret Key” вставьте секретный ключ

image-1686724608258.png

  • В строку “Bucket Name” впишите название бакета

image-1686724618829.png

Не обязательные поля

  • В строку “Region” впишите регион сервера

4. Готово. Теперь можно пользоваться сервисом