Ubuntu

Installeer Minio op Ubuntu 18.04 LTS

Installeer Minio op Ubuntu 18.04 LTS
Minio is een door uzelf gehoste oplossing voor het maken van uw eigen objectopslag. Het is een alternatief voor AWS S3, als je die service eerder hebt gebruikt. De Minio-software zelf wordt geleverd als een gewoon binair bestand en zelfs de officiële documentatie stelt voor om het op die manier te gebruiken, in plaats van een pakketbeheerder te gebruiken. Er zijn natuurlijk Docker-images als je die wilt gebruiken om minio op je VPS te draaien.

In deze tutorial zullen we het gebruik van Minio installeren en demonstreren op Ubuntu 18.04 LTS-server. Deze VPS heeft een statisch IP-adres en ik zal DNS-records en TLS-verbindingen opzetten om deze Object store zo veilig en productieklaar mogelijk te maken.

Vereisten

Dit zijn de vereisten die u nodig heeft als u wilt volgen:

  1. Een VPS met Ubuntu of een andere Linux-distro met een statisch IP-adres (IP_ADDRESS zal onze tijdelijke aanduiding zijn, vervang het door het werkelijke IP-adres van uw VPS)
  2. Een volledig gekwalificeerde domeinnaam [FQDN]. voorbeeld.com wordt onze tijdelijke aanduiding.

Installatie en overige instellingen

Laten we inloggen op onze VPS en ervoor zorgen dat Minio goed werkt.

1.  DNS-instellingen

Ga naar de naamserver waar de DNS-records van uw domein worden bijgehouden, deze is waarschijnlijk te vinden op de website van uw domeinregistreerder. Voeg een A-record toe, wijzend op uw gekozen FQDN (bijvoorbeeld minio.voorbeeld.com ) naar het IP_ADDRESS van je VPS.

2.  Minio-gebruiker

Laten we, voordat we Minio installeren, een nieuw UNIX-gebruikersaccount maken waaronder minio zal draaien. We willen het niet als root uitvoeren of als de gewone gebruiker die sudo-toegang heeft of andere applicaties die eronder draaien. We maken een minio-systeemaccount aan, genaamd minio-gebruiker:

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

3.  Minio-download

Vervolgens downloaden we het minio-binaire bestand (het is geschreven in Go, dat wordt gecompileerd tot een klein lichtgewicht binair bestand).

Verkrijg het binaire bestand

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

Verplaats het binaire bestand naar een locatie waar het binaire bestand gewoonlijk wordt verwacht:

$ sudo mv minio /usr/local/bin

Maak het binaire bestand uitvoerbaar en geef minio-user gebruiker en groep het eigendom:

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

4.  /etc configuratiebestanden, opstartscripts en opslagapparaat

We hebben Minio nodig om op te starten met het opnieuw opstarten van het systeem en door het besturingssysteem herkend te worden als een actieve service. Als u dit niet doet, kan dit leiden tot catastrofes, zoals wanneer de OOM-killer dit proces ziet en besluit dat het niet nuttig genoeg is. We hebben ook een map nodig waarin de feitelijke gegevens van onze objectopslag worden opgeslagen:

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

Zorg ervoor dat minio volledige controle heeft over deze mappen:

$ sudo chown minio-gebruiker:minio-gebruiker /usr/local/share/minio
$ sudo chown minio-gebruiker:minio-gebruiker /etc/minio

In de map /etc/default moeten we een minio-bestand maken om omgevingsvariabelen op te geven, zoals het poortnummer waarnaar we zullen luisteren en de map waarin de gegevens moeten worden opgeslagen (het volume). We hebben eerder het volume gemaakt dat de map /usr/local/share/minio was. Gebruik dus je favoriete teksteditor om een ​​bestand te maken /etc/default/minio en voeg de volgende inhoud erin toe:

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

Zorg ervoor dat u de daadwerkelijk aangewezen FDQN van uw VPS schrijft in plaats van de letterlijke string minio.voorbeeld.com hierboven. Poortnummer 9000 is wat ze gewoonlijk gebruiken in de documentatie, maar we gaan de juiste TLS-installatie gebruiken die luistert naar poort 443. Aangezien het een poortnummer is dat lager is dan 1024, moeten we het besturingssysteem uitdrukkelijk vertellen dat het goed is dat minio op deze poorten luistert:

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

Ten slotte moeten we de minio . configureren onderhoud. Gelukkig is het script dat het doet beschikbaar op hun GitHub-repo en zullen we het op de juiste plaats plaatsen:

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

Laad alle systemd-eenheden opnieuw en schakel minio in om te starten bij het opstarten

$ sudo systemctl daemon-reload
$ sudo systemctl activeer minio

Zorg er ten slotte voor dat uw firewall communicatie op poort 443 toestaat.

LetsEncrypt TLS-certificaten met Certbot

We moeten over TLS-certificaten onderhandelen tussen onze Minio-server en LetsEncrypt. Certbot is de klant die dit voor ons doet en ook de certificaatvernieuwingen automatiseert. Laten we eerst Certbot installeren:

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

Installeer vervolgens de certificaten, zoals gedocumenteerd door Minio Docs:

$ sudo certbot certonly --standalone -d minio.voorbeeld.com --staple-ocsp -m
[email protected] --mee eens

Hier voert u uw FQDN voor de Minio-server in na de vlag -d en uw e-mailadres na de vlag -m. Het e-mailadres is belangrijk omdat LetsEncrypt u op de hoogte kan stellen van lopende verlengingen renewal.

Uw e-mails zijn nu aanwezig in /etc/letsencrypt/live/minio.voorbeeld.com. Natuurlijk hangt de laatste mapnaam af van de door u gekozen FQDN. Kopieer nu de certificaten naar de map /etc/minio van Minio en geef het toestemming om ze te openen.

$ 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.sleutel
$ chown minio-gebruiker:minio-gebruiker /etc/minio/certs/public.crt
$ chown minio-gebruiker:minio-gebruiker /etc/minio/certs/private.sleutel

Nu bent u klaar om de service te gebruiken:

$ sudo service minio start
$ sudo service minio-status

Uitgang:

Geladen: geladen (/etc/systemd/system/minio.onderhoud; gehandicapt; vooraf ingestelde leverancier: ingeschakeld)
Actief: actief (lopend) sinds di 2018-10-09 11:54:41 PDT; 5s geleden
Documenten: https://docs.minio.io
Proces: 15874 ExecStartPre=/bin/bash -c [ -n "$MINIO_VOLUMES" ] && echo "Variabele
MINIO_VOLUMES niet ingesteld in /etc/default/minio" (code=exited, status=0/SUCCESS)
Hoofd-PID: 15877 (minio)
Taken: 13 (limiet: 4915)
CGroup: /systeem.plak/minio.onderhoud
└─15877 /usr/local/bin/minio server -C /etc/minio --address minio.voorbeeld.com:443 /usr/
lokaal/delen/minio/
 
09 oktober 11:54:41 hostnaam minio [15877]: Browsertoegang:
09 oktober 11:54:41 hostnaam minio[15877]: https://minio.voorbeeld.com
09 oktober 11:54:41 hostnaam minio [15877]: Command-line Access: https://docs.minio.io/docs/
minio-client-snelstartgids
09 oktober 11:54:41 hostnaam minio [15877]: $ mc config host voeg myminio toe
https://minio.voorbeeld.com
PAMH22LU3YJIFLU82H2E IKJ+qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg

De uitvoer van deze opdracht bevat de toegangssleutel (PAMH22LU3YJIFLU82H2E) en geheime sleutel (IKJ+qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) voor minio zoals weergegeven in vetgedrukte letters hierboven. Uw sleutels zouden anders zijn, dus kopieer de hier genoemde niet.

Minio gebruiken

Open uw browser en bezoek https://minio.voorbeeld.com (zorg ervoor dat u de FQDN gebruikt die u hebt toegewezen) en gebruik de toegangs- en geheime sleutel die worden vermeld in uw service minio-statusopdracht om voor de eerste keer in te loggen.

En je wordt begroet door de Minio UI.

Hier kun je het plusteken linksonder gebruiken om bestanden te uploaden of een nieuwe bucket te maken. Ik heb een nieuwe bucket gemaakt met de naam mybucket.

U kunt het beleid bewerken om te lezen en te schrijven en vervolgens een paar bestanden (bijvoorbeeld afbeeldingen) naar deze bucket uploaden. Minio maakt een unieke URL voor elk object in een bucket. U kunt beleid instellen voor lezen en schrijven per bucket, evenals de vervaldatum op de URL van het individuele object.

Conclusie

Dat is de basis van hoe u aan de slag gaat met een objectwinkel. De objecten zelf zijn idealiter niet bedoeld om te worden gewijzigd, maar lees ze uit of voeg ze toe aan de buckets. U kunt dit in uw aanvraag integreren door de officiële documentatie te volgen.  Het ondersteunt een breed scala aan programmeertalen, variërend van Go, Python, JavaScript tot .NETTO.

Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...
OpenTTD versus Simutrans
Je eigen transportsimulatie maken kan leuk, ontspannend en buitengewoon aanlokkelijk zijn. Daarom moet je ervoor zorgen dat je zoveel mogelijk spellen...
OpenTTD-zelfstudie
OpenTTD is een van de meest populaire simulatiegames voor bedrijven die er zijn. In dit spel moet je een geweldig transportbedrijf creëren. U begint e...