3.1.4 Установка 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 установите его:
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/
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.
Создание ключа доступа
Ключ доступа в Minio используется для авторизации доступа к объектному хранилищу из сервиса DOCS. Ключ доступа включает в себя идентификатор пользователя (Access Key) и секретный ключ (Secret Key), который используется для аутентификации пользователя и обеспечения безопасности данных. Без ключа доступа невозможно получить доступ к объектам в хранилище Minio.
1. Для создания ключа доступа перейдите во вкладку Access Keys ➤ Create access key
2. Заполните поля Access Key и Secret Key самостоятельно или оставьте их как есть. Запомните данные поля, т.к. они понадобятся для подключения к DOCS. Нажмите Create.
3. Ключ доступа создан
Создание бакета
Для хранения файлов в Minio необходимо создать бакеты. Бакеты - это контейнеры, которые содержат файлы и папки.
1. Чтобы создать новый бакет перейдите во вкладку Buckets ➤ Create bucket
2. Введите имя бакета, включите переключатель Versioning и нажмите Create Bucket
3. Бакет создан.
Подключение хранилища к сервису DOCS
ВНИМАНИЕ! Для подключения к сервису DOCS данный сервер должен быть опубликован в сеть Интернет по портам 443. И во внешней DNS-зоне Вашего домена необходимо создать A-запись с указанием IP-адреса, на котором опубликован сервер с приложением MinIO.
1. Откройте сервис docs.sgnl.pro. Перейдите в настройки сервиса: для этого нажмите на профиль ➤ Настройки
2. Нажмите Добавить новое хранилище
3. Заполните данные в появившемся окне и нажмите Сохранить:
Обязательные поля:
- В строке “Название” впишите название хранилища для сервиса DOCS
- В строку “EndPoint” вставьте ссылку на сервер с стандартным портом 443, например https://s3.YOURDOMAIN.RU
- В строку “Access Key” вставьте ключ доступа
- В строку “Secret Key” вставьте секретный ключ
- В строку “Bucket Name” впишите название бакета
Не обязательные поля
- В строку “Region” впишите регион сервера
4. Готово. Теперь можно пользоваться сервисом
No Comments