Ubuntu

Установите Minio на Ubuntu 18.04 LTS

Установите Minio на Ubuntu 18.04 LTS
Minio - это самостоятельное решение для создания собственного хранилища объектов. Это альтернатива AWS S3, если вы уже пользовались этим сервисом раньше. Само программное обеспечение Minio поставляется в виде простого двоичного файла, и даже официальная документация предлагает вам использовать его таким образом вместо использования диспетчера пакетов. Конечно, есть образы Docker, если вы хотите использовать их для запуска minio на своем VPS.

В этом руководстве мы установим и продемонстрируем использование Minio в Ubuntu 18.04 LTS сервер. Этот VPS имеет статический IP-адрес, и я буду настраивать записи DNS и TLS-соединения, чтобы сделать это хранилище объектов максимально безопасным и готовым к работе.

Предпосылки

Вот предварительные условия, которые вам понадобятся, если вы захотите следовать по тексту:

  1. VPS под управлением Ubuntu или любого другого дистрибутива Linux со статическим IP-адресом (IP_ADDRESS будет нашим заполнителем, замените его фактическим IP-адресом вашего VPS)
  2. Полное доменное имя [FQDN]. пример.com будет нашим заполнителем.

Установка и прочие настройки

Давайте войдем в наш VPS и подготовим все для правильной работы Minio.

1.  Настройка DNS

Перейдите на сервер имен, на котором хранятся записи DNS вашего домена, скорее всего, он находится на веб-сайте вашего регистратора доменов. Добавьте запись A, указав выбранное вами полное доменное имя (например, minio.пример.com) на IP_ADDRESS вашего VPS.

2.  Пользователь Minio

Перед установкой Minio давайте создадим новую учетную запись пользователя UNIX, под которой будет запускаться minio. Мы не хотим запускать его как root или как обычный пользователь, у которого может быть доступ sudo или другие приложения, работающие под ним. Мы создаем системную учетную запись minio с именем minio-user:

$ sudo useradd --system minio-user --shell / sbin / nologin

3.  Minio Скачать

Затем мы загружаем двоичный файл minio (он написан на Go, который компилируется в небольшой легкий двоичный файл).

Получите двоичный файл

$ curl -O https: // dl.минио.io / сервер / minio / выпуск / Linux-amd64 / minio

Переместите двоичный файл в место, где обычно ожидаются двоичные файлы:

$ sudo mv minio / usr / местный / бен

Сделайте двоичный файл исполняемым и предоставьте пользователю minio и группе его право собственности:

$ sudo chmod + x / usr / local / bin / minio
$ sudo chown minio-user: minio-user / usr / local / bin / minio

4.  / etc файлы конфигурации, сценарии запуска и устройство хранения

Нам нужно, чтобы Minio запускался с перезагрузкой системы и распознавался ОС как работающая служба. Невыполнение этого может привести к катастрофам, например, когда OOM-убийца увидит этот процесс и решит, что он недостаточно полезен. Нам также понадобится каталог, в котором будут сохранены фактические данные нашего хранилища объектов:

$ sudo mkdir / usr / local / share / minio
$ sudo mkdir / etc / minio

Убедитесь, что minio имеет полный контроль над этими каталогами:

$ sudo chown minio-user: minio-user / usr / local / share / minio
$ sudo chown minio-user: minio-user / etc / minio

Внутри каталога / etc / default нам нужно создать файл minio, чтобы указать переменные среды, такие как номер порта, который мы будем прослушивать, и каталог, в котором должны быть сохранены данные (объем). Ранее мы создали том, который был каталогом / usr / local / share / minio. Так что используйте свой любимый текстовый редактор для создания файла / и т. д. / по умолчанию / minio и добавьте в него следующее содержимое:

MINIO_VOLUMES = "/ usr / local / share / minio /"
MINIO_OPTS = "- C / etc / minio --address minio.пример.com: 443 "

Убедитесь, что вы указали фактическое обозначение FDQN вашего VPS вместо буквальной строки minio.пример.com выше. Номер порта 9000 - это то, что они обычно используют в документации, но мы собираемся использовать правильную установку TLS, прослушивая порт 443. Поскольку это номер порта меньше 1024, мы должны прямо указать ОС, что minio может прослушивать эти порты:

$ sudo setcap 'cap_net_bind_service = + ep' / usr / local / bin / minio

Наконец, нам нужно настроить minio услуга. К счастью, скрипт, который это делает, доступен в их репозитории на GitHub, и мы разместим его в соответствующем месте:

$ curl -O https: // необработанный.githubusercontent.com / minio / minio-service / master / linux-systemd /
минио.услуга
$ sudo mv minio.сервис / и т. д. / systemd / system

Перезагрузите все модули systemd и включите minio для запуска при загрузке

$ sudo systemctl демон-перезагрузка
$ sudo systemctl включить minio

Наконец, убедитесь, что ваш брандмауэр разрешает связь через порт 443.

LetsEncrypt TLS-сертификаты с помощью Certbot

Нам нужно согласовать сертификаты TLS между нашим сервером Minio и LetsEncrypt. Certbot - это клиент, который делает это за нас, а также автоматизирует продление сертификатов. Давайте сначала установим Certbot:

$ sudo подходящее обновление
$ sudo apt-get install software-properties-common
$ sudo add-apt-репозиторий ppa: certbot / certbot
$ sudo apt-get update
$ sudo apt-get install certbot

Затем установите сертификаты, как описано в Minio Docs:

$ sudo certbot certonly --standalone -d minio.пример.com --staple-ocsp -m
имя пользователя @ электронная почта.com --agree-tos

Здесь вы вводите свое полное доменное имя для сервера Minio после флага -d и ваш адрес электронной почты после флага -m. Адрес электронной почты важен, поскольку он позволяет LetsEncrypt уведомлять вас об ожидающих продлениях.

Теперь ваши электронные письма будут находиться в / etc / letsencrypt / live / minio.пример.ком. Конечно, последнее имя каталога будет зависеть от выбранного вами FQDN. Теперь скопируйте сертификаты в каталог Minio / etc / minio и дайте ему разрешение на доступ к ним.

$ cp / и т.д. / letsencrypt / live / minio.Ranvirslog.com / fullchain.pem / etc / minio / certs / public.crt
$ cp / и т.д. / letsencrypt / live / minio.Ranvirslog.com / privkey.pem / и т. д. / minio / certs / частный.ключ
$ chown minio-user: minio-user / etc / minio / certs / public.crt
$ chown minio-user: minio-user / etc / minio / certs / private.ключ

Теперь вы готовы к использованию сервиса:

$ sudo service minio start
$ sudo service minio статус

Выход:

Загружено: загружено (/ etc / systemd / system / minio.услуга; отключен; предустановка поставщика: включена)
Активен: активен (работает) с Tue 2018-10-09 11:54:41 PDT; 5с назад
Документы: https: // docs.минио.io
Процесс: 15874 ExecStartPre = / bin / bash -c [-n "$ MINIO_VOLUMES"] && echo "Переменная
MINIO_VOLUMES не задано в / etc / default / minio "(код = выход, статус = 0 / УСПЕХ)
Основной PID: 15877 (minio)
Задач: 13 (лимит: 4915)
CGroup: / система.ломтик / минио.услуга
└─15877 / usr / local / bin / minio server -C / etc / minio - адрес minio.пример.ком: 443 / usr /
местный / доля / minio /
 
9 октября, 11:54:41 имя хоста minio [15877]: Доступ через браузер:
09 октября, 11:54:41 имя хоста minio [15877]: https: // minio.пример.ком
09 октября, 11:54:41 имя хоста minio [15877]: Доступ из командной строки: https: // docs.минио.io / docs /
мини-клиент-краткое руководство
09 октября, 11:54:41 имя хоста minio [15877]: $ mc config host add myminio
https: // minio.пример.ком
PAMH22LU3YJIFLU82H2E IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg

Вывод этой команды будет содержать ключ доступа (PAMH22LU3YJIFLU82H2E) и секретный ключ (IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) для minio, как показано жирным шрифтом выше. Ваши ключи будут другими, поэтому не копируйте упомянутые здесь.

Использование Minio

Откройте браузер и посетите https: // minio.пример.com (обязательно используйте назначенное вами полное доменное имя) и используйте ключ доступа и секретный ключ, указанные в вашей служебной команде статуса minio, для первого входа в систему.

И вас встретит интерфейс Minio.

Здесь вы можете использовать знак плюса в нижнем левом углу, чтобы загружать файлы или создавать новую корзину. Я создал новую корзину под названием mybucket.

Вы можете отредактировать его политику для чтения и записи, а затем загрузить несколько файлов (например, изображений) в это ведро. Minio создаст уникальный URL для каждого объекта в корзине. Вы можете установить политики для чтения и записи для каждого сегмента, а также дату истечения срока действия в URL-адресе отдельного объекта.

Заключение

Это основы того, как начать работу с хранилищем объектов. Сами объекты в идеале не предназначены для изменения, а просто для чтения или добавления в сегменты. Вы можете интегрировать это в свое приложение, следуя официальной документации.  Он поддерживает широкий спектр языков программирования от Go, Python, JavaScript до .СЕТЬ.

Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...