Installer minio på Ubuntu Topp 10.Topp 10 LTS

Installer minio på Ubuntu Topp 10.Topp 10 LTS
Minio er en selvhostet løsning for å lage din egen objektlagring. Det er et alternativ for AWS S3, hvis du har brukt den tjenesten før. Selve minio -programvaren blir sendt som en vanlig binær, og til og med den offisielle dokumentasjonen antyder at du bruker den på den måten, i stedet for å bruke en pakkeansvarlig. Det er selvfølgelig Docker -bilder hvis du ønsker å bruke dem til å kjøre Minio på VPS -ene.

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.

Forutsetninger

Her er forutsetningene du trenger hvis du vil følge med:

  1. En VPS som kjører Ubuntu eller en hvilken som helst annen Linux -distro med en statisk IP (IP_Address vil være vår plassholder, erstatte den med VPS 'faktiske IP -adresse)
  2. Et fullt kvalifisert domenenavn [FQDN]. eksempel.com vil være vår plassholder.

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 /NOLOLIN

Minio 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/Minio

Flytt det binære til et sted der binærene vanligvis forventes å ligge:

$ sudo mv minio/usr/local/bin

Gjør den binære filen kjørbar og gi minio-brukerbruker og gruppere sitt eierskap:

$ sudo chmod +x/usr/local/bin/minio
$ SUDO Chown Minio-User: Minio-User/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/minio
$ sudo mkdir /etc /minio

Forsikre deg om at Minio har full kontroll over disse katalogene:

$ SUDO Chown Minio-User: Minio-User/USR/Local/Share/Minio
$ sudo chown minio-bruker: minio-bruker /etc /minio

Inne 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/"
Minio_opts = "-c /etc /minio-address Minio.eksempel.com: 443 "

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/minio

Til 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/
Minio.service
$ sudo mv minio.Service/etc/Systemd/System

Last inn alle SystemD -enheter på nytt og gjøre det mulig for Minio å starte på oppstart

$ sudo SystemCTL Daemon-Reload
$ sudo SystemCTL Aktiver minio

Til 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 oppdatering
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot/certbot
$ sudo apt-get oppdatering
$ sudo apt-get install certbot

Installer deretter sertifikatene, som dokumentert av Minio Docs:

$ sudo certbot certonly -standalone -d minio.eksempel.com -staple -ocsp -m
brukernavn@e -post.com-agree-tos

Her 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.crt
$ cp/etc/letsencrypt/live/minio.Ranvirslog.com/privkey.pem/etc/minio/certs/privat.nøkkel
$ Chown Minio-User: Minio-User/etc/Minio/Certs/Public.crt
$ Chown Minio-User: Minio-User/etc/Minio/Certs/Private.nøkkel

Nå er du klar til å bruke tjenesten:

$ sudo service minio start
$ sudo service minio status

Produksjon:

  • Minio.Service - Minio
Lastet: Lastet (/etc/SystemD/System/Minio.service; funksjonshemmet; Forhåndsinnstilt leverandør: aktivert)
Aktiv: aktiv (løpende) siden tue 2018-10-09 11:54:41 PDT; For 5 år siden
Dokumenter: https: // dokumenter.Minio.io
Prosess: 15874 execStartpre =/bin/bash -c [-n "$ minio_volumes"] && ekko "variabel
Minio_volumes ikke satt inn/etc/standard/minio "(kode = forlatt, status = 0/suksess)
Hoved PID: 15877 (Minio)
Oppgaver: 13 (grense: 4915)
CGroup: /System.skive/minio.service
└─15877/usr/local/bin/minio server -c/etc/minio -address Minio.eksempel.com: 443 /usr /
Lokal/aksje/minio/
9. oktober 11:54:41 Vertsnavn Minio [15877]: nettlesertilgang:
9. oktober 11:54:41 Vertsnavn Minio [15877]: https: // Minio.eksempel.com
9. oktober 11:54:41 Hostname Minio [15877]: Kommandolinjetilgang: https: // Dokumenter.Minio.io/dokumenter/
Mini-klient-quickstart-guide
9. oktober 11:54:41 Vertsnavn Minio [15877]: $ MC Config Host Add MyMinio
https: // minio.eksempel.com
PAMH22LU3YJIFLU82H2E IKJ+QTC0OQDN46R3DLFSJV5BCNM8UEEIBYPDG8QG
..

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.

Konklusjon

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.