Instale o Minio no Ubuntu Top 10.Top 10 LTS

Instale o Minio no Ubuntu Top 10.Top 10 LTS
Minio é uma solução auto-hospedada para criar seu próprio armazenamento de objetos. É uma alternativa para o AWS S3, se você já usou esse serviço antes. O próprio Minio Software é enviado como um binário simples e até a documentação oficial sugere que você o use dessa maneira, em vez de usar um gerenciador de pacotes. É claro que existem imagens do Docker, se você deseja usá -las para executar o Minio em seu VPS.

Neste tutorial, estaremos instalando e demonstrando o uso de Minio no Ubuntu 18.04 servidor LTS. Este VPS tem um IP estático e eu estarei configurando conexões DNS Records e TLS para tornar esse armazenamento de objetos o mais seguro e a produção pronta possível.

Pré -requisitos

Aqui estão os pré -requisitos que você precisaria se quiser acompanhar:

  1. Um VPS executando o Ubuntu ou qualquer outro distro Linux com um IP estático (ip_address será nosso espaço reservado, substitua -o pelo endereço IP real do seu VPS)
  2. Um nome de domínio totalmente qualificado [FQDN]. exemplo.com será nosso espaço reservado.

Instalação e configuração diversa

Vamos fazer login em nosso VPS e preparar as coisas para o minio correr corretamente.

Configuração do DNS

Vá para o servidor de nomes onde os registros DNS do seu domínio são mantidos, provavelmente isso é encontrado no site do seu registrador de domínio. Adicione um registro, apontando o FQDN escolhido (por exemplo, minio.exemplo.com) para o seu VPS 'ip_address.

Minio User

Antes de instalarmos o Minio, vamos criar uma nova conta de usuário do UNIX em quem Minio será executado. Não queremos executá -lo como raiz ou como usuário regular que pode ter acesso a sudo ou outros aplicativos executando sob ele. Criamos uma conta do Minio System, chamada Minio-User:

$ sudo userAdd--System minio-usuário-Shell /sbin /nologin

Download de minio

Em seguida, baixamos o minio binário (está escrito em Go que compila em um pequeno binário leve leve).

Pegue o binário

$ curl -o https: // dl.Minio.IO/servidor/minio/release/linux-amd64/minio

Mova o binário para um local onde os binários geralmente residam:

$ sudo mv minio/usr/local/bin

Faça o arquivo binário executável e dê um usuário do minio-usuário e agrupe sua propriedade:

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

/etc. arquivos de configuração, scripts de inicialização e dispositivo de armazenamento

Precisamos de Minio para começar a reinicialização do sistema e ser reconhecido como um serviço de execução pelo sistema operacional. Não fazer isso resultaria em catástrofes como quando o assassino vê esse processo e decide que não é útil o suficiente. Também precisaríamos de um diretório em que os dados reais do nosso armazenamento de objetos sejam salvos:

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

Certifique -se de que o Minio tenha controle total sobre esses diretórios:

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

Dentro do diretório /etc /padrão, precisamos criar um arquivo minio para especificar variáveis ​​de ambiente como o número da porta em que estaremos ouvindo e o diretório onde os dados devem ser salvos (o volume). Criamos o volume anteriormente que era o diretório/usr/local/share/minio. Portanto, use seu editor de texto favorito para criar um arquivo /etc/padrão/minio e adicione o seguinte conteúdo dentro dele:

Minio_volumes = "/usr/local/share/minio/"
Minio_opts = "-c /etc /minio --ddress minio.exemplo.com: 443 "

Certifique -se de escrever o FDQN designado real do seu VPS em vez do minio de cordas literal.exemplo.com acima. Porta número 9000 é o que eles costumam usar na documentação, mas vamos usar a instalação adequada do TLS, ouvindo na porta 443. Como é um número de porta inferior a 1024, precisamos informar expressamente ao sistema operacional que não há problema em Minio ouvir nessas portas:

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

Por fim, precisamos configurar o minio serviço. Felizmente, o script que o faz está disponível no repositório do Github e o colocaremos no local apropriado:

$ curl -o https: //.GithubUserContent.com/minio/minio-service/master/linux-systemd/
Minio.serviço
$ sudo mv minio.serviço/etc/systemd/sistema

Recarregue todas as unidades Systemd e permitir que o Minio inicie a inicialização

$ sudo systemctl daemon -load
$ sudo systemctl atability minio

Por fim, verifique se o seu firewall permite a comunicação na porta 443.

LetSencrypt TLS Certificados usando o CERTBOT

Precisamos negociar certificados TLS entre nosso servidor Minio e LetSencrypt. CertBot é o cliente que faz isso por nós e também automatiza as renovações de certificados. Vamos primeiro instalar o certbot:

$ sudo apt update
$ sudo apt-get Install-Properties-Common
$ sudo add-aprop-repository ppa: certbot/certbot
Atualização $ sudo apt-get
$ sudo apt-get install certbot

Em seguida, instale os certs, conforme documentado por Minio Docs:

$ sudo certbot certonly -Standalone -d minio.exemplo.COM -STAPLE -OCSP -M
nome de usuá[email protected] --AGREE-TOS

Aqui você entra no seu FQDN para o servidor Minio após o sinalizador -d e seu endereço de e -mail após -m sinalizador. O endereço de e -mail é importante, pois permite que o LetSencrypt notifique você sobre renovações pendentes.

Seus e -mails agora estarão presentes em/etc/letSencrypt/Live/minio.exemplo.com. Claro, o último nome do diretório dependeria do seu FQDN escolhido. Agora copie os certificados para o diretório Minio /etc /minio e dê permissão para acessá -los.

$ cp/etc/letSencrypt/vive/minio.ranvirslog.com/fullchain.PEM/etc/minio/certs/público.Crt
$ cp/etc/letSencrypt/vive/minio.ranvirslog.com/privky.PEM/etc/minio/certs/privado.chave
$ CHOW.Crt
$ CHOW.chave

Agora você está pronto para usar o serviço:

$ sudo service minio start
$ sudo service minio status

Saída:

  • Minio.Serviço - Minio
Carregado: carregado (/etc/systemd/system/minio.serviço; desabilitado; Predefinição do fornecedor: ativado)
Ativo: ativo (em execução) desde a termos 2018-10-09 11:54:41 PDT; 5s atrás
Docs: https: // docs.Minio.io
Processo: 15874 ExecStartPre =/Bin/Bash -c [-n "$ minio_volumes"] && eco "variável
Minio_volumes não definido em/etc/default/minio "(código = saindo, status = 0/sucessor)
PID principal: 15877 (Minio)
Tarefas: 13 (Limite: 4915)
CGROUP: /Sistema.fatia/minio.serviço
└─15877/usr/local/bin/minio servidor -c/etc/minio --ddress minio.exemplo.com: 443 /usr /
Local/Share/Minio/
09 de outubro 11:54:41 HostName Minio [15877]: Acesso ao navegador:
09 de outubro 11:54:41 HostName Minio [15877]: https: // minio.exemplo.com
09 de outubro 11:54:41 HostName Minio [15877]: Acesso à linha de comando: https: // docs.Minio.io/docs/
MiniO-Client-Quickstart-Guide
09 de outubro 11:54:41 HostName Minio [15877]: $ MC Config Host Add Myminio
https: // minio.exemplo.com
PAMH22LU3YJIFLU82H2E IKJ+QTC0OQDN46R3DLFSJV5BCNM8UEEEIBYPDG8QG
..

A saída deste comando conterá a chave de acesso (PAMH22LU3YJIFLU82H2E) e chave secreta (Ikj+qtc0oqdn46r3dlfsjv5bcnm8ueeibypdg8qg) para Minio, como mostrado em letras em negrito acima. Suas chaves seriam diferentes, então não copie as mencionadas aqui.

Usando o minio

Abra seu navegador e visite https: // minio.exemplo.com (Certifique -se de usar o FQDN que você atribuiu) e use a chave de acesso e secreto listada no seu comando de status de serviço para fazer login pela primeira vez.

E você será recebido pela minio interfim.

Aqui você pode usar o sinal de mais no canto inferior esquerdo para fazer upload de arquivos ou criar um novo balde. Eu criei um novo balde chamado mybucket.

Você pode editar sua política de ler e escrever e depois enviar alguns arquivos (por exemplo, imagens) neste balde. Minio criará um URL único para cada objeto em um balde. Você pode definir políticas para leitura e gravação por balde, bem como a data de validade no URL do objeto individual.

Conclusão

Esse é o básico de como você começa com uma loja de objetos. Os próprios objetos idealmente não devem ser modificados apenas lendo ou adicionados aos baldes. Você pode integrar isso ao seu aplicativo seguindo a documentação oficial. Ele suporta uma ampla gama de linguagens de programação que variam de Go, Python, JavaScript para .LÍQUIDO.