Ubuntu

Installera Minio på Ubuntu 18.04 LTS

Installera Minio på Ubuntu 18.04 LTS
Minio är en självvärd lösning för att skapa ditt eget objektlagring. Det är ett alternativ för AWS S3 om du har använt den tjänsten tidigare. Minio-programvaran i sig levereras som en vanlig binär och till och med den officiella dokumentationen föreslår att du använder den på det sättet istället för att använda en pakethanterare. Det finns naturligtvis Docker-bilder om du vill använda dem för att köra minio på din VPS.

I denna handledning kommer vi att installera och demonstrera användningen av Minio på Ubuntu 18.04 LTS-server. Denna VPS har en statisk IP och jag kommer att ställa in DNS-poster och TLS-anslutningar för att göra denna Objektbutik så säker och produktionsklar som möjligt.

Förutsättningar

Här är förutsättningarna du behöver om du vill följa med:

  1. En VPS som kör Ubuntu eller någon annan Linux-distro med en statisk IP (IP_ADDRESS kommer att vara vår platshållare, ersätt den med din VPS faktiska IP-adress)
  2. Ett fullständigt kvalificerat domännamn [FQDN]. exempel.com kommer att vara vår platshållare.

Installation och diverse installation

Låt oss logga in på vår VPS och göra saker redo för att Minio ska fungera ordentligt.

1.  DNS-inställning

Gå till namnservern där domänens DNS-poster upprätthålls, troligtvis finns detta på din domänregistrators webbplats. Lägg till en A-post och peka på din valda FQDN (till exempel minio.exempel.com) till din VPS IP_ADDRESS.

2.  Minio-användare

Innan vi installerar Minio, låt oss skapa ett nytt UNIX-användarkonto under vilket minio ska köras. Vi vill inte köra den som root eller som den vanliga användaren som kan ha sudo-åtkomst eller andra program som körs under den. Vi skapar ett minio-systemkonto med namnet minioanvändare:

$ sudo useradd --system minioanvändare - shell / sbin / nologin

3.  Minio nedladdning

Därefter laddar vi ner minio binärt (Det är skrivet i Go som kompileras till en liten lättviktsbinär).

Få binär

$ curl -O https: // dl.minio.io / server / minio / release / linux-amd64 / minio

Flytta binären till en plats där binärfiler vanligtvis förväntas finnas:

$ sudo mv minio / usr / local / bin

Gör den binära filen körbar och ge minioanvändaranvändare och gruppera sitt ägande:

$ sudo chmod + x / usr / local / bin / minio
$ sudo chown minio-användare: minio-användare / usr / lokal / bin / minio

4.  / etc konfigurationsfiler, startskript och lagringsenhet

Vi behöver Minio för att starta om med systemåterstart och erkännas som en löpande tjänst av operativsystemet. Att inte göra det skulle leda till katastrofer som när OOM-mördaren ser denna process och beslutar att den inte är tillräckligt användbar. Vi skulle också behöva en katalog där de faktiska uppgifterna i vår objektbutik kommer att sparas:

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

Se till att minio har full kontroll över dessa kataloger:

$ sudo chown minio-användare: minio-användare / usr / lokal / dela / minio
$ sudo chown minio-användare: minio-användare / etc / minio

Inuti / etc / standardkatalogen måste vi skapa en miniofil för att specificera miljövariabler som portnumret vi ska lyssna på och katalogen där data ska sparas (volymen). Vi skapade volymen tidigare som var / usr / local / share / minio-katalogen. Så använd din favorittextredigerare för att skapa en fil / etc / default / minio och lägg till följande innehåll i den:

MINIO_VOLUMES = "/ usr / local / share / minio /"
MINIO_OPTS = "- C / etc / minio - adress minio.exempel.com: 443 "

Se till att du skriver din VPS faktiska FDQN istället för den bokstavliga strängminio.exempel.com ovan. Portnummer 9000 är vad de brukar använda i dokumentationen men vi kommer att använda korrekt TLS-installation för att lyssna på port 443. Eftersom det är ett portnummer mindre än 1024 måste vi uttryckligen berätta för operativsystemet att det är okej att minio lyssnar på dessa portar:

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

Slutligen måste vi konfigurera minio service. Lyckligtvis är skriptet som gör det tillgängligt på deras GitHub-repo och vi kommer att placera det på rätt plats:

$ curl -O https: // raw.githubusercontent.com / minio / minio-service / master / linux-systemd /
minio.service
$ sudo mv minio.service / etc / systemd / system

Ladda om alla systemd enheter och aktivera minio att starta vid start

$ sudo systemctl daemon-reload
$ sudo systemctl aktiverar minio

Slutligen, se till att din brandvägg tillåter kommunikation vid port 443.

LetsEncrypt TLS-certifikat med Certbot

Vi måste förhandla fram TLS-certifikat mellan vår Minio-server och LetsEncrypt. Certbot är klienten som gör detta åt oss och automatiserar också certifikatförnyelserna. Låt oss först installera Certbot:

$ sudo apt uppdatering
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get-uppdatering
$ sudo apt-get install certbot

Installera sedan certifikaten, som dokumenterats av Minio Docs:

$ sudo certbot certonly - fristående -d minio.exempel.com --staple-ocsp -m
användarnamn @ e-post.com --agree-tos

Här anger du din FQDN för Minio-servern efter -d-flaggan och din e-postadress efter -m-flaggan. E-postadressen är viktig eftersom den tillåter LetsEncrypt att meddela dig om väntande förnyelser.

Dina e-postmeddelanden kommer nu att finnas på / etc / letsencrypt / live / minio.exempel.com. Naturligtvis beror det sista katalognamnet på din valda FQDN. Kopiera nu certifikaten till Minio / etc / minio-katalogen och ge den behörighet att komma åt dem.

$ 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.nyckel-
$ chown minioanvändare: minioanvändare / etc / minio / certs / public.crt
$ chown minio-användare: minio-användare / etc / minio / certs / privat.nyckel-

Nu är du redo att använda tjänsten:

$ sudo service minio start
$ sudo service minio status

Produktion:

Laddad: laddad (/ etc / systemd / system / minio.service; Inaktiverad; leverantörsinställning: aktiverad)
Aktiv: aktiv (igång) sedan tis 2018-10-09 11:54:41 PDT; För 5 år sedan
Dokument: https: // dokument.minio.io
Process: 15874 ExecStartPre = / bin / bash -c [-n "$ MINIO_VOLUMES"] && echo "Variabel
MINIO_VOLUMES inte inställd i / etc / default / minio "(kod = avslutad, status = 0 / SUCCESS)
Huvud-PID: 15877 (minio)
Uppgifter: 13 (gräns: 4915)
CGroup: / system.skiva / minio.service
└─15877 / usr / local / bin / minio server -C / etc / minio --adress minio.exempel.com: 443 / usr /
lokal / dela / minio /
 
09 okt 11:54:41 värdnamn minio [15877]: Webbläsaråtkomst:
09 okt 11:54:41 värdnamn minio [15877]: https: // minio.exempel.com
09 okt 11:54:41 värdnamn minio [15877]: Kommandoradsåtkomst: https: // docs.minio.io / docs /
minio-klient-snabbstartsguide
09 okt 11:54:41 värdnamn minio [15877]: $ mc config host lägg till myminio
https: // minio.exempel.com
PAMH22LU3YJIFLU82H2E IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg
..

Utgången från det här kommandot innehåller åtkomstnyckeln (PAMH22LU3YJIFLU82H2E) och hemlig nyckel (IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) för minio som visas i fetstil ovan. Dina nycklar skulle vara annorlunda så kopiera inte de som nämns här.

Använda Minio

Öppna din webbläsare och besök https: // minio.exempel.com (se till att använda det FQDN du har tilldelat) och använd åtkomst- och hemlig nyckel som listas i ditt tjänstminiostatuskommando för att logga in för första gången.

Och du kommer att hälsas av Minio UI.

Här kan du använda plustecknet längst ned till vänster för att ladda upp filer eller skapa en ny hink. Jag skapade en ny hink som heter mybucket.

Du kan redigera dess policy för att läsa och skriva och sedan ladda upp några filer (säg bilder) i den här skopan. Minio skapar en unik URL för varje objekt i en hink. Du kan ställa in policyer för läsning och skrivning per hink samt utgångsdatum för enskilda objekts URL.

Slutsats

Det är grunderna för hur du kommer igång med en objektbutik. Objekten själva är idealiskt inte avsedda att modifieras, bara läsas från eller läggs till skoporna. Du kan integrera detta i din ansökan genom att följa den officiella dokumentationen.  Den stöder ett brett utbud av programmeringsspråk som sträcker sig från Go, Python, JavaScript till .NETTO.

Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...
5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...
Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...