Ubuntu

Installa Minio su Ubuntu 18.04 LTS

Installa Minio su Ubuntu 18.04 LTS
Minio è una soluzione self-hosted per creare il proprio Object storage. È un'alternativa per AWS S3, se hai già utilizzato quel servizio. Il software Minio stesso viene fornito come un semplice binario e anche la documentazione ufficiale suggerisce di usarlo in questo modo, invece di usare un gestore di pacchetti. Ci sono, ovviamente, immagini Docker se desideri usarle per eseguire minio sul tuo VPS.

In questo tutorial installeremo e dimostreremo l'uso di Minio su Ubuntu 18.04 server LTS. Questo VPS ha un IP statico e configurerò record DNS e connessioni TLS per rendere questo archivio oggetti il ​​più sicuro e pronto per la produzione possibile.

Prerequisiti

Ecco i prerequisiti di cui avresti bisogno se vuoi seguire:

  1. Un VPS con Ubuntu o qualsiasi altra distribuzione Linux con un IP statico (IP_ADDRESS sarà il nostro segnaposto, sostituiscilo con l'effettivo indirizzo IP del tuo VPS)
  2. Un nome di dominio pienamente qualificato [FQDN]. esempio.com sarà il nostro segnaposto.

Installazione e configurazione varie

Accediamo al nostro VPS e prepariamo le cose per il corretto funzionamento di Minio.

1.  Configurazione DNS

Vai al server dei nomi in cui sono mantenuti i record DNS del tuo dominio, molto probabilmente questo si trova sul sito web del tuo registrar di domini. Aggiungi un record A, puntando il tuo FQDN scelto (ad esempio minio.esempio.com ) all'IP_ADDRESS del tuo VPS.

2.  Utente Minio

Prima di installare Minio, creiamo un nuovo account utente UNIX con il quale verrà eseguito minio. Non vogliamo eseguirlo come root o come utente normale che potrebbe avere accesso sudo o altre applicazioni in esecuzione sotto di esso. Creiamo un account di sistema minio, chiamato minio-user:

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

3.  Scarica Minio

Quindi scarichiamo il binario minio (è scritto in Go che si compila in un piccolo binario leggero).

Ottieni il binario

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

Sposta il file binario in una posizione in cui di solito dovrebbero risiedere i file binari:

$ sudo mv minio /usr/local/bin

Rendi eseguibile il file binario e dai all'utente minio-user e raggruppa la sua proprietà:

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

4.  /etc file di configurazione, script di avvio e dispositivo di archiviazione

Abbiamo bisogno che Minio si avvii con il riavvio del sistema e venga riconosciuto come servizio in esecuzione dal sistema operativo. Non farlo comporterebbe catastrofi come quando il killer OOM vede questo processo e decide che non è abbastanza utile. Avremmo anche bisogno di una directory in cui verranno salvati i dati effettivi del nostro archivio oggetti:

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

Assicurati che minio abbia il pieno controllo su queste directory:

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

All'interno della directory /etc/default dobbiamo creare un file minio per specificare le variabili di ambiente come il numero di porta su cui ascolteremo e la directory in cui i dati dovrebbero essere salvati (il volume). Abbiamo creato il volume in precedenza che era la directory /usr/local/share/minio. Quindi usa il tuo editor di testo preferito per creare un file /etc/default/minio e aggiungi al suo interno i seguenti contenuti:

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

Assicurati di scrivere l'effettivo FDQN designato del tuo VPS invece della stringa letterale minio.esempio.com sopra. Il numero di porta 9000 è quello che usano di solito nella documentazione, ma useremo un'installazione TLS corretta in ascolto sulla porta 443. Poiché si tratta di un numero di porta inferiore a 1024, dobbiamo dire espressamente al sistema operativo che va bene che minio ascolti su queste porte:

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

Infine, dobbiamo configurare il minio servizio. Fortunatamente lo script che lo fa è disponibile nel loro repository GitHub e lo collocheremo nel posto appropriato:

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

Ricarica tutte le unità systemd e abilita l'avvio di minio all'avvio

$ sudo systemctl daemon-reload
$ sudo systemctl abilita minio

Infine, assicurati che il tuo firewall consenta la comunicazione sulla porta 443.

LetsEncrypt certificati TLS utilizzando Certbot

Abbiamo bisogno di certificati TLS negoziati tra il nostro server Minio e LetsEncrypt. Certbot è il client che fa questo per noi e automatizza anche i rinnovi dei certificati. Installiamo prima Certbot:

$ 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

Quindi installa i certificati, come documentato da Minio Docs:

$ sudo certbot certonly --standalone -d minio.esempio.com --staple-ocsp -m
[email protected] --agree-tos

Qui inserisci il tuo FQDN per il server Minio dopo il flag -d e il tuo indirizzo email dopo il flag -m. L'indirizzo e-mail è importante in quanto consente a LetsEncrypt di informarti sui rinnovi in ​​sospeso.

Le tue email saranno ora presenti in /etc/letsencrypt/live/minio.esempio.come. Naturalmente, l'ultimo nome della directory dipenderà dal nome di dominio completo scelto. Ora copia i certificati nella directory /etc/minio di Minio e dagli il permesso di accedervi.

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

Ora sei pronto per utilizzare il servizio:

$ sudo service minio start
$ sudo service minio status

Produzione:

Caricato: caricato (/etc/systemd/system/minio.servizio; Disabilitato; preset del fornitore: abilitato)
Attivo: attivo (in corso) da mar 2018-10-09 11:54:41 PDT; 5s fa
Documenti: https://docs.minio.io
Processo: 15874 ExecStartPre=/bin/bash -c [ -n "$MINIO_VOLUMES" ] && echo "Variabile
MINIO_VOLUMES non impostato in /etc/default/minio" (code=exited, status=0/SUCCESS)
PID principale: 15877 (minio)
Compiti: 13 (limite: 4915)
Gruppo C: /sistema.fetta/minio.servizio
15877 /usr/local/bin/minio server -C /etc/minio --address minio.esempio.com:443 /usr/
locale/condividi/minio/
 
Oct 09 11:54:41 hostname minio[15877]: Accesso al browser:
Oct 09 11:54:41 nome host minio[15877]: https://minio.esempio.come
Oct 09 11:54:41 hostname minio[15877]: Accesso alla riga di comando: https://docs.minio.io/docs/
minio-client-guida-rapida
Oct 09 11:54:41 nome host minio[15877]: $ mc config host add myminio
https://minio.esempio.come
PAMH22LU3YJIFLU82H2E IKJ+qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg

L'output di questo comando conterrà la chiave di accesso (PAMH22LU3YJIFLU82H2E) e chiave segreta (IKJ+qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) per minio come mostrato in grassetto sopra. Le tue chiavi sarebbero diverse, quindi non copiare quelle menzionate qui.

Usando Minio

Apri il tuo browser e visita https://minio.esempio.com (assicurati di utilizzare l'FQDN che hai assegnato) e usa l'accesso e la chiave segreta elencati nel comando di stato del servizio minio per accedere per la prima volta.

E sarai accolto dall'interfaccia utente di Minio.

Qui puoi utilizzare il segno più nell'angolo in basso a sinistra per caricare file o creare un nuovo bucket. Ho creato un nuovo bucket chiamato mybucket.

Puoi modificare la sua politica per leggere e scrivere e quindi caricare alcuni file (ad esempio immagini) in questo bucket. Minio creerà un URL univoco per ogni oggetto in un bucket. Puoi impostare criteri di lettura e scrittura per bucket, nonché la data di scadenza sull'URL del singolo oggetto.

Conclusione

Queste sono le basi per iniziare con un negozio di oggetti. Gli oggetti stessi idealmente non sono pensati per essere modificati, ma solo letti o aggiunti ai secchi. Puoi integrarlo nella tua applicazione seguendo la documentazione ufficiale.  Supporta un'ampia gamma di linguaggi di programmazione che vanno da Go, Python, JavaScript a .NETTO.

Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...
Emula i clic del mouse passando il mouse utilizzando il mouse senza clic in Windows 10
L'uso di un mouse o di una tastiera nella postura sbagliata di un uso eccessivo può causare molti problemi di salute, tra cui tensione, sindrome del t...