V tomto tutoriálu budeme instalovat a demonstrovat použití Minio na Ubuntu 18.04 LTS server. Tento VPS má statickou IP adresu a budu nastavovat záznamy DNS a připojení TLS, aby byl tento objektový obchod co nejbezpečnější a připravenější na produkci.
Předpoklady
Tady jsou předpoklady, které byste potřebovali, pokud chcete postupovat:
- VPS se systémem Ubuntu nebo jinou distribucí Linuxu se statickou IP (IP_ADDRESS bude náš zástupný symbol, nahraďte jej skutečnou IP adresou VPS)
- Plně kvalifikovaný název domény [FQDN]. příklad.com bude náš zástupný symbol.
Instalace a různé nastavení
Přihlaste se k našemu VPS a připravte věci na správné fungování Minio.
1. Nastavení DNS
Přejděte na jmenný server, kde jsou vedeny záznamy DNS vaší domény, s největší pravděpodobností ji najdete na webu registrátora domény. Přidejte záznam A a nasměrujte vybraný plně kvalifikovaný název domény (například minio.příklad.com) na vaši VPS 'IP_ADDRESS.
2. Minio uživatel
Před instalací Minio vytvořme nový uživatelský účet UNIX, pod kterým bude minio běžet. Nechceme to spouštět jako root nebo jako běžný uživatel, který může mít sudo access nebo jiné aplikace běžící pod ním. Vytvoříme systémový účet minio s názvem mini-uživatel:
$ sudo useradd --systém minio-uživatel - shell / sbin / nologin3. Minio stahování
Dále stáhneme minio binární soubor (je napsán v Go, který se kompiluje do malého odlehčeného binárního souboru).
Získejte binární soubor
$ curl -O https: // dl.minio.io / server / minio / vydání / linux-amd64 / minioPřesuňte binární soubor na místo, kde se obvykle očekává umístění binárních souborů:
$ sudo mv minio / usr / local / binUdělejte spustitelný binární soubor a dejte uživateli minio-uživatele a seskupte jeho vlastnictví:
$ sudo chmod + x / usr / local / bin / minio$ sudo chown minio-user: minio-user / usr / local / bin / minio
4. Konfigurační soubory / etc, spouštěcí skripty a úložné zařízení
Potřebujeme, aby se Minio spustilo s restartováním systému a OS nás rozpoznal jako běžící službu. Pokud to neuděláte, mělo by to za následek katastrofy, jako když zabiják OOM uvidí tento proces a rozhodne se, že to není dostatečně užitečné. Potřebovali bychom také adresář, do kterého se budou ukládat skutečná data našeho úložiště objektů:
$ sudo mkdir / usr / local / share / minio$ sudo mkdir / etc / minio
Ujistěte se, že minio má plnou kontrolu nad těmito adresáři:
$ sudo chown minio-user: minio-user / usr / local / share / minio$ sudo chown minio-uživatel: minio-uživatel / etc / minio
Uvnitř adresáře / etc / default musíme vytvořit soubor minio, abychom specifikovali proměnné prostředí, jako je číslo portu, na kterém budeme poslouchat, a adresář, kam by měla být data uložena (svazek). Dříve jsme vytvořili svazek, který byl adresář / usr / local / share / minio. Vytvořte tedy soubor pomocí svého oblíbeného textového editoru / etc / default / minio a přidejte do něj následující obsah:
MINIO_VOLUMES = "/ usr / local / share / minio /"MINIO_OPTS = "- C / etc / minio - adresa minio.příklad.com: 443 "
Ujistěte se, že místo doslovného řetězce minio napíšete skutečně označené FDQN vašeho VPS.příklad.com výše. Číslo portu 9000 obvykle používají v dokumentaci, ale použijeme správnou instalaci TLS naslouchající na portu 443. Jelikož se jedná o číslo portu menší než 1024, musíme OS výslovně sdělit, že je v pořádku, aby minio naslouchalo na těchto portech:
$ sudo setcap 'cap_net_bind_service = + ep' / usr / local / bin / minioNakonec musíme nakonfigurovat minio servis. Naštěstí skript, který to dělá, je k dispozici v jejich repozitáři GitHub a my jej umístíme na příslušné místo:
$ curl -O https: // raw.githubusercontent.com / minio / minio-service / master / linux-systemd /minio.servis
$ sudo mv minio.service / etc / systemd / system
Znovu načtěte všechny systémové jednotky a povolte minio spuštění při spuštění
$ sudo systemctl daemon-reload$ sudo systemctl povolit minio
Nakonec se ujistěte, že váš firewall umožňuje komunikaci na portu 443.
Umožňuje zašifrovat certifikáty TLS pomocí Certbotu
Musíme sjednat certifikáty TLS mezi naším serverem Minio a LetsEncrypt. Certbot je klient, který to dělá za nás a také automatizuje obnovení certifikátů. Nejprve si nainstalujte Certbot:
$ sudo apt aktualizace$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get aktualizace
$ sudo apt-get nainstalovat certbot
Poté nainstalujte certifikáty, jak dokumentuje Minio Docs:
$ sudo certbot certonly --standalone -d minio.příklad.com --staple-ocsp -muživatelské jméno @ e-mail.com - souhlasím
Zde zadáte FQDN pro server Minio za příznakem -d a svou e-mailovou adresu za příznakem -m. E-mailová adresa je důležitá, protože umožňuje službě LetsEncrypt upozorňovat vás na nevyřízená obnovení.
Vaše e-maily budou nyní k dispozici na / etc / letsencrypt / live / minio.příklad.com. Poslední název adresáře bude samozřejmě záviset na vámi zvoleném plně kvalifikovaném názvu domény. Nyní zkopírujte certifikáty do adresáře / etc / minio společnosti Minio a udělejte mu oprávnění k přístupu k nim.
$ cp / etc / letsencrypt / live / minio.ranvirslog.com / fullchain.pem / etc / minio / certs / public.crt$ cp / etc / letsencrypt / live / minio.ranvirslog.com / privkey.pem / etc / minio / certs / private.klíč
$ chown minio-uživatel: minio-uživatel / etc / minio / certs / public.crt
$ chown minio-uživatel: minio-uživatel / etc / minio / certs / private.klíč
Nyní jste připraveni službu využívat:
$ sudo služba minio startStav minio služby $ sudo
Výstup:
- minio.služba - Minio
Aktivní: aktivní (běží) od Út 2018-10-09 11:54:41 PDT; Před 5 s
Dokumenty: https: // dokumenty.minio.io
Proces: 15874 ExecStartPre = / bin / bash -c [-n "$ MINIO_VOLUMES"] && echo "Proměnná
MINIO_VOLUMES není nastaveno v / etc / default / minio "(kód = ukončen, stav = 0 / ÚSPĚCH)
Hlavní PID: 15877 (minio)
Úkoly: 13 (limit: 4915)
CGroup: / system.plátek / minio.servis
└─15877 / usr / local / bin / minio server -C / etc / minio --adresa minio.příklad.com: 443 / usr /
místní / sdílet / minio /
9. října 11:54:41 hostname minio [15877]: Přístup do prohlížeče:
9. října 11:54:41 hostname minio [15877]: https: // minio.příklad.com
9. října 11:54:41 hostname minio [15877]: Přístup z příkazového řádku: https: // docs.minio.io / dokumenty /
minio-client-quickstart-guide
9. října 11:54:41 hostname minio [15877]: $ mc config host přidat myminio
https: // minio.příklad.com
PAMH22LU3YJIFLU82H2E IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg
…
Výstup tohoto příkazu bude obsahovat přístupový klíč (PAMH22LU3YJIFLU82H2E) a tajný klíč (IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) pro minio, jak je uvedeno tučnými písmeny výše. Vaše klíče by se lišily, takže nekopírujte ty, které jsou zde uvedeny.
Používání Minio
Otevřete prohlížeč a navštivte https: // minio.příklad.com (nezapomeňte použít plně kvalifikovaný název domény, který jste přiřadili) a k prvnímu přihlášení použijte přístupový a tajný klíč uvedený v příkazu o stavu služby minio.
A uvítá vás uživatelské rozhraní Minio.
Zde můžete pomocí znaménka plus v levém dolním rohu nahrát soubory nebo vytvořit nový segment. Vytvořil jsem nový kbelík s názvem mybucket.
Můžete upravit jeho zásady pro čtení a zápis a poté nahrát několik souborů (řekněme obrázků) do tohoto segmentu. Minio vytvoří pro každý objekt v kbelíku jedinečnou adresu URL. Můžete nastavit zásady pro čtení a zápis na kbelík a také datum vypršení platnosti na adrese URL jednotlivého objektu.
Závěr
To jsou základy toho, jak začít s ukládáním objektů. Samotné objekty nejsou v ideálním případě určeny k tomu, aby byly upravovány, pouze čteny nebo přidávány do segmentů. Toto můžete integrovat do své aplikace podle oficiální dokumentace. Podporuje širokou škálu programovacích jazyků od Go, Python, JavaScript až po .SÍŤ.