Ubuntu

Installer Minio på Ubuntu 18.04 LTS

Installer Minio på Ubuntu 18.04 LTS
Minio er en selvhostet løsning til oprettelse af dit eget objektlager. Det er et alternativ til AWS S3, hvis du har brugt denne tjeneste før. Selve Minio-softwaren sendes som en almindelig binær, og selv den officielle dokumentation foreslår, at du bruger den på den måde i stedet for at bruge en pakkehåndtering. Der er selvfølgelig Docker-billeder, hvis du vil bruge dem til at køre minio på din VPS.

I denne vejledning installerer og demonstrerer vi brugen af ​​Minio på Ubuntu 18.04 LTS-server. Denne VPS har en statisk IP, og jeg vil oprette DNS-poster og TLS-forbindelser for at gøre dette Objektlager så sikkert og produktionsklar som muligt.

Forudsætninger

Her er de forudsætninger, du har brug for, hvis du vil følge med:

  1. En VPS, der kører Ubuntu eller enhver anden Linux-distro med en statisk IP (IP_ADDRESS vil være vores pladsholder, udskift den med din VPS 'faktiske IP-adresse)
  2. Et fuldt kvalificeret domænenavn [FQDN]. eksempel.com vil være vores pladsholder.

Installation og diverse opsætning

Lad os logge ind på vores VPS og gøre tingene klar, så Minio kan køre ordentligt.

1.  DNS-opsætning

Gå til navneserveren, hvor dit domænes DNS-poster opretholdes, sandsynligvis findes dette på din domæneregistrators websted. Tilføj en A-post, der peger på din valgte FQDN (for eksempel minio.eksempel.com) til din VPS 'IP_ADDRESS.

2.  Minio-bruger

Før vi installerer Minio, lad os oprette en ny UNIX-brugerkonto, under hvilken minio vil køre. Vi ønsker ikke at køre det som root eller som den almindelige bruger, der muligvis har sudo-adgang eller andre applikationer, der kører under den. Vi opretter en minio-systemkonto med navnet minio-bruger:

$ sudo useradd --system minio-user - shell / sbin / nologin

3.  Minio Download

Derefter downloader vi minio binær (Det er skrevet i Go, som kompileres til en lille letvægts binær).

Få binær

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

Flyt binærprogrammet til et sted, hvor det normalt forventes, at binærfiler findes:

$ sudo mv minio / usr / local / bin

Gør den binære fil eksekverbar og giv miniobrugerbruger og gruppe dens ejerskab:

$ sudo chmod + x / usr / local / bin / minio
$ sudo chown minio-bruger: minio-bruger / usr / local / bin / minio

4.  / etc konfigurationsfiler, opstartsskripter og lagerenhed

Vi har brug for Minio til at starte med systemgenstart og blive anerkendt som en kørende tjeneste af OS. Hvis du ikke gør det, vil det resultere i katastrofer, som når OOM-morderen ser denne proces og beslutter, at den ikke er nyttig nok. Vi har også brug for et bibliotek, hvor de faktiske data i vores objektbutik skal gemmes:

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

Sørg for, at minio har fuld kontrol over disse mapper:

$ sudo chown minio-bruger: minio-user / usr / local / share / minio
$ sudo chown minio-bruger: minio-bruger / etc / minio

Inde i / etc / standardkataloget er vi nødt til at oprette en miniofil for at specificere miljøvariabler som det portnummer, vi vil lytte til, og det bibliotek, hvor dataene skal gemmes (lydstyrken). Vi oprettede lydstyrken tidligere, der var / usr / local / share / minio-biblioteket. Så brug din yndlings teksteditor til at oprette en fil / etc / default / minio og tilføj følgende indhold inde i det:

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

Sørg for at du skriver din VPS 'faktiske udpegede FDQN i stedet for den bogstavelige strengminio.eksempel.com ovenfor. Portnummer 9000 er det, de normalt bruger i dokumentationen, men vi vil bruge korrekt TLS-installation, der lytter til port 443. Da det er et portnummer, der er mindre end 1024, skal vi udtrykkeligt fortælle OS, at det er okay for minio at lytte til disse porte:

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

Endelig skal vi konfigurere minio service. Heldigvis er det script, der gør det, tilgængeligt på deres GitHub repo, og vi placerer det på det rette sted:

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

Genindlæs alle systemd enheder, og aktiver minio til at starte ved opstart

$ sudo systemctl dæmon-genindlæsning
$ sudo systemctl aktiver minio

Endelig skal du sørge for, at din firewall tillader kommunikation i port 443.

LetsEncrypt TLS-certifikater ved hjælp af Certbot

Vi er nødt til at forhandle TLS-certifikater mellem vores Minio-server og LetsEncrypt. Certbot er klienten, der gør dette for os og automatiserer også certifikatfornyelserne. Lad os først installere Certbot:

$ sudo apt opdatering
$ sudo apt-get install software-egenskaber-fælles
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get opdatering
$ sudo apt-get install certbot

Installer derefter certerne, som dokumenteret af Minio Docs:

$ sudo certbot certonly --standalone -d minio.eksempel.com --staple-ocsp -m
brugernavn @ e-mail.com --aftale-til

Her indtaster du din FQDN til Minio-serveren efter -d-flag og din e-mail-adresse efter -m-flag. E-mail-adressen er vigtig, da den giver LetsEncrypt mulighed for at underrette dig om afventende fornyelser.

Dine e-mails vil nu være til stede på / etc / letsencrypt / live / minio.eksempel.com. Naturligvis afhænger det sidste katalognavn af dit valgte FQDN. Kopier nu certs til Minio / etc / minio-biblioteket og giv det tilladelse til at få adgang 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 / private.nøgle
$ chown minio-bruger: minio-user / etc / minio / certs / public.crt
$ chown minio-bruger: minio-user / etc / minio / certs / private.nøgle

Nu er du klar til at bruge tjenesten:

$ sudo service minio start
$ sudo service minio status

Produktion:

Indlæst: indlæst (/ etc / systemd / system / minio.service; handicappet; forudindstilling af leverandør: aktiveret)
Aktiv: aktiv (kører) siden Tir 2018-10-09 11:54:41 PDT; 5s siden
Docs: https: // docs.minio.io
Process: 15874 ExecStartPre = / bin / bash -c [-n "$ MINIO_VOLUMES"] && echo "Variabel
MINIO_VOLUMES ikke indstillet i / etc / default / minio "(kode = afsluttet, status = 0 / SUCCESS)
Hoved PID: 15877 (minio)
Opgaver: 13 (grænse: 4915)
CGroup: / system.skive / minio.service
└─15877 / usr / local / bin / minio server -C / etc / minio - adresse minio.eksempel.com: 443 / usr /
lokal / del / minio /
 
9. okt 11:54:41 værtsnavn minio [15877]: Browseradgang:
9. okt 11:54:41 værtsnavn minio [15877]: https: // minio.eksempel.com
9. okt 11:54:41 værtsnavn minio [15877]: Kommandolinjeadgang: https: // docs.minio.io / docs /
minio-klient-hurtigstart-guide
9. okt 11:54:41 værtsnavn minio [15877]: $ mc config host tilføj myminio
https: // minio.eksempel.com
PAMH22LU3YJIFLU82H2E IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg
..

Outputtet fra denne kommando indeholder adgangsnøglen (PAMH22LU3YJIFLU82H2E) og hemmelig nøgle (IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) for minio som vist med fed skrift ovenfor. Dine nøgler ville være forskellige, så kopier ikke dem, der er nævnt her.

Brug af Minio

Åbn din browser og besøg https: // minio.eksempel.com (sørg for at bruge den FQDN, du har tildelt), og brug den adgangs- og hemmelige nøgle, der er angivet i din service minio-statuskommando for at logge ind for første gang.

Og du vil blive mødt af Minio UI.

Her kan du bruge plustegnet i nederste venstre hjørne til at uploade filer eller oprette en ny spand. Jeg oprettede en ny spand, der hedder mybucket.

Du kan redigere dens politik for at læse og skrive og derefter uploade et par filer (f.eks. Billeder) i denne spand. Minio opretter en unik URL til hvert objekt i en spand. Du kan indstille politikker for læsning og skrivning pr. Spand samt udløbsdatoen på det enkelte objekts URL.

Konklusion

Det er det grundlæggende i, hvordan du kommer i gang med en objektbutik. Objekterne selv er ideelt set ikke beregnet til at blive ændret, bare læst fra eller føjet til spande. Du kan integrere dette i din ansøgning ved at følge den officielle dokumentation.  Det understøtter en bred vifte af programmeringssprog lige fra Go, Python, JavaScript til .NET.

Fix SD-kortlæser fungerer ikke efter Ubuntu 16.04 opgradering
Dette spørgsmål kom ind fra en af ​​vores læsere, hvor brugeren opgraderede deres pc til Ubuntu 16.04 og fandt ud af, at SD-kortlæseren på den bærbare...
Sådan opgraderes fra Ubuntu 16.10 til Ubuntu 17.04
Canonical har frigivet Ubuntu 17.04 Zesty Zapus, der leveres med de nyeste teknologier som driverløs udskrivning, Linux Kernel 4.10 og andre masser af...