I denne opplæringen vil vi installere og demonstrere bruk av Minio på Ubuntu 18.04 LTS -server. Denne VPS har en statisk IP, og jeg vil sette opp DNS -poster og TLS -tilkoblinger for å gjøre denne objektbutikken så sikker og produksjon klar som mulig.
Her er forutsetningene du trenger hvis du vil følge med:
Installasjon og diverse oppsett
La oss logge inn på VP -ene våre og gjøre ting klare for at Minio skal løpe ordentlig.
DNS -oppsett
Gå til Nameserver der Domain's DNS -poster opprettholdes, mest sannsynlig er dette funnet på din domene -registrars nettsted. Legg til en plate, og peker din valgte FQDN (for eksempel Minio.eksempel.com) til din VPS 'IP_ADDRESS.
Minio -bruker
Før vi installerer Minio, la oss opprette en ny UNIX -brukerkonto som Minio vil løpe. Vi vil ikke kjøre det som rot eller som den vanlige brukeren som kan ha Sudo -tilgang eller andre applikasjoner som kjører under den. Vi oppretter en Minio System-konto, kalt Minio-User:
$ sudo useradd-System minio-bruker-SBIN /SBIN /NOLOLINMinio nedlasting
Neste vi laster ned Minio Binary (det er skrevet i Go What Compiles Into a Small Lightweight Binary).
Få den binære
$ Curl -o https: // dl.Minio.IO/Server/Minio/Release/Linux-AMD64/MinioFlytt det binære til et sted der binærene vanligvis forventes å ligge:
$ sudo mv minio/usr/local/binGjør den binære filen kjørbar og gi minio-brukerbruker og gruppere sitt eierskap:
$ sudo chmod +x/usr/local/bin/minio/etc Konfigurer filer, oppstartsskript og lagringsenhet
Vi trenger Minio for å starte opp med systemstart og bli anerkjent som en løpstjeneste av OS. Å ikke gjøre det ville resultere i katastrofer som når Oom-morderen ser denne prosessen og bestemmer at den ikke er nyttig nok. Vi vil også trenge en katalog der de faktiske dataene i objektbutikken vår skal lagres:
$ sudo mkdir/usr/local/share/minioForsikre deg om at Minio har full kontroll over disse katalogene:
$ SUDO Chown Minio-User: Minio-User/USR/Local/Share/MinioInne i /etc /standardkatalogen må vi opprette en Minio -fil for å spesifisere miljøvariabler som portnummeret vi vil lytte på og katalogen der dataene skal lagres (volumet). Vi opprettet volumet tidligere som var/usr/local/share/minio -katalogen. Så bruk din favoritt tekstredigerer til å opprette en fil /etc/standard/minio og legg til følgende innhold i det:
Minio_volumes = "/usr/local/share/minio/"Forsikre deg om at du skriver VPS 'faktiske utpekte FDQN i stedet for den bokstavelige streng -minio.eksempel.com ovenfor. Portnummer 9000 er det de vanligvis bruker i dokumentasjonen, men vi skal bruke riktig TLS -installasjon lytting på port 443. Siden det er et portnummer mindre enn 1024, må vi uttrykkelig fortelle OS at det er greit for Minio å lytte til disse portene:
$ sudo setcap 'cap_net_bind_service =+ep'/usr/local/bin/minioTil slutt må vi konfigurere minio service. Heldigvis er manuset som gjør det tilgjengelig på deres GitHub -repo, og vi vil plassere det på passende sted:
$ krøll -o https: // rå.GitHubUserContent.com/minio/Minio-Service/Master/Linux-Systemd/Last inn alle SystemD -enheter på nytt og gjøre det mulig for Minio å starte på oppstart
$ sudo SystemCTL Daemon-ReloadTil slutt, sørg for at brannmuren din tillater kommunikasjon i port 443.
LaSenCrypt TLS -sertifikater ved hjelp av CertBot
Vi må forhandle om TLS -sertifikater mellom minio -serveren og Letsencrypt. Certbot er klienten som gjør dette for oss og automatiserer også fornyelsen av sertifikatet. La oss først installere CertBot:
$ sudo apt oppdateringInstaller deretter sertifikatene, som dokumentert av Minio Docs:
$ sudo certbot certonly -standalone -d minio.eksempel.com -staple -ocsp -mHer skriver du inn FQDN for Minio -serveren etter -D -flagget og e -postadressen din etter -M -flagget. E -postadressen er viktig ettersom den lar Letsencrypt varsle deg om ventende fornyelser.
E -postene dine vil nå være til stede på/etc/letsencrypt/live/minio.eksempel.com. Selvfølgelig vil det siste katalognavnet avhenge av det valgte FQDN. Kopier nå sertifikatene til Minios /etc /Minio Directory og gir den tillatelse til å få tilgang til dem.
$ cp/etc/letsencrypt/live/minio.Ranvirslog.com/fullchain.pem/etc/minio/certs/public.crtNå er du klar til å bruke tjenesten:
$ sudo service minio startProduksjon:
Utgangen fra denne kommandoen vil inneholde tilgangstasten (PAMH22LU3YJIFLU82H2E) og hemmelig nøkkel (IKJ+QTC0OQDN46R3DLFSJV5BCNM8UEEIBYPDG8QG) for minio som vist med dristige bokstaver ovenfor. Tastene dine vil være annerledes, så ikke kopier de som er nevnt her.
Bruke minio
Åpne nettleseren din og besøk https: // minio.eksempel.com (Sørg for å bruke FQDN du tildelte) og bruk tilgangen og den hemmelige tasten som er oppført i tjenesten minio status -kommandoen til å logge inn for første gang.
Og du vil bli møtt av Minio UI.
Her kan du bruke pluss -tegnet nederst til venstre for å laste opp filer eller opprette en ny bøtte. Jeg opprettet en ny bøtte som heter Mybucket.
Du kan redigere policyen for å lese og skrive og deretter laste opp noen få filer (si bilder) i denne bøtta. Minio vil lage en unik URL for hvert objekt i en bøtte. Du kan angi retningslinjer for lesing og skrive per bøtte, så vel som utløpsdatoen på URL for individuelle objekter.
Det er det grunnleggende om hvordan du kommer i gang med en objektbutikk. Gjenstandene i seg selv er ideelt sett ikke ment å bli endret, bare lest fra eller lagt til bøttene. Du kan integrere dette i søknaden din ved å følge den offisielle dokumentasjonen. Det støtter et bredt spekter av programmeringsspråk som spenner fra GO, Python, JavaScript til .NETT.