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, посочвайки избраното от вас FQDN (например 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 / server / minio / release / linux-amd64 / minio

Преместете двоичния файл на място, където обикновено се очаква да се намират двоични файлове:

$ sudo mv minio / usr / local / bin

Направете двоичния файл изпълним и дайте на потребителя на минимален потребител и групирайте неговата собственост:

$ 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 трябва да създадем мини файл, за да посочим променливи на средата като номера на порта, който ще слушаме, и директорията, в която данните трябва да бъдат запазени (тома). По-рано създадохме тома, който беше директория / usr / local / share / minio. Затова използвайте любимия си текстов редактор, за да създадете файл / etc / default / minio и добавете следното съдържание вътре в него:

MINIO_VOLUMES = "/ usr / local / share / minio /"
MINIO_OPTS = "- C / etc / minio - адрес на 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: // raw.githubuserсъдържание.com / minio / minio-service / master / linux-systemd /
минио.обслужване
$ sudo mv minio.service / etc / systemd / system

Презаредете всички systemd единици и активирайте minio при стартиране

$ sudo systemctl daemon-reload
$ sudo systemctl активира minio

И накрая, уверете се, че вашата защитна стена позволява комуникация на порт 443.

LetsEncrypt TLS сертификати с помощта на Certbot

Трябва да договорим TLS сертификати между нашия сървър Minio и LetsEncrypt. Certbot е клиентът, който прави това за нас и също така автоматизира подновяването на сертификата. Нека първо инсталираме Certbot:

$ sudo apt актуализация
$ sudo apt-get инсталиране на софтуер-свойства-общи
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get update
$ sudo apt-get инсталирайте certbot

След това инсталирайте сертификатите, както е документирано от Minio Docs:

$ sudo certbot certonly --standalone -d minio.пример.com --staple-ocsp -m
потребителско име @ имейл.com --agree-tos

Тук въвеждате вашето FQDN за сървъра на Minio след флага -d и вашия имейл адрес след флага. Имейл адресът е важен, тъй като позволява на LetsEncrypt да ви уведоми за чакащи подновявания.

Имейлите ви вече ще присъстват в / etc / letsencrypt / live / minio.пример.com. Разбира се, последното име на директория ще зависи от избраното ви FQDN. Сега копирайте сертификатите в директорията / etc / minio на Minio и му дайте разрешение за достъп.

$ cp / etc / letsencrypt / live / minio.ranvirslog.com / пълна верига.pem / etc / minio / certs / public.crt
$ cp / etc / letsencrypt / live / minio.ranvirslog.com / privkey.pem / etc / minio / certs / private.ключ
$ 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.обслужване; хора с увреждания; предварително зададен от доставчика: активиран)
Активен: активен (работи) от вторник 2018-10-09 11:54:41 PDT; Преди 5s
Документи: https: // docs.минио.io
Процес: 15874 ExecStartPre = / bin / bash -c [-n "$ MINIO_VOLUMES"] && echo "Променлива
MINIO_VOLUMES не са зададени в / etc / default / minio "(код = излязъл, статус = 0 / УСПЕХ)
Основен PID: 15877 (минимум)
Задачи: 13 (ограничение: 4915)
CGroup: / система.филия / минио.обслужване
└─15877 / usr / local / bin / minio server -C / etc / minio --adresress minio.пример.com: 443 / usr /
местно / споделяне / минио /
 
09 октомври 11:54:41 име на хост minio [15877]: Достъп до браузър:
09 октомври 11:54:41 име на хост minio [15877]: https: // minio.пример.com
09 октомври 11:54:41 име на хост minio [15877]: Достъп до командния ред: https: // docs.минио.io / docs /
minio-client-quickstart-guide
09 октомври 11:54:41 име на хост minio [15877]: $ mc config host add myminio
https: // minio.пример.com
PAMH22LU3YJIFLU82H2E IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg
..

Резултатът от тази команда ще съдържа ключа за достъп (PAMH22LU3YJIFLU82H2E) и таен ключ (IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) за minio, както е показано с удебелени букви по-горе. Вашите ключове ще бъдат различни, така че не копирайте споменатите тук.

Използване на Minio

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

И ще бъдете посрещнати от потребителския интерфейс на Minio.

Тук можете да използвате знака плюс в долния ляв ъгъл, за да качите файлове или да създадете нова група. Създадох нова кофа, наречена mybucket.

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

Заключение

Това са основите на начина, по който започвате с обектния магазин. Самите обекти в идеалния случай не са предназначени да бъдат модифицирани, просто се четат от или се добавят към групите. Можете да интегрирате това във вашето приложение, като следвате официалната документация.  Той поддържа широк спектър от езици за програмиране, вариращи от Go, Python, JavaScript до .НЕТ.

Екранен тракпад и указател на мишката на AppyMouse за таблети с Windows
Потребителите на таблети често пропускат показалеца на мишката, особено когато са привични да използват лаптопите. Смартфоните и таблетите със сензоре...
Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...
Как да промените левия и десния бутон на мишката на компютър с Windows 10
Напълно нормално е всички устройства на компютърни мишки да са ергономично проектирани за десничари. Но има налични устройства за мишка, които са спец...