Ubuntu

Instale o Minio no Ubuntu 18.04 LTS

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

Neste tutorial iremos instalar e demonstrar o uso do Minio no Ubuntu 18.04 servidor LTS. Este VPS tem um IP estático e irei configurar registros DNS e conexões TLS para tornar este armazenamento de objeto o mais seguro e pronto para produção possível.

Pré-requisitos

Aqui estão os pré-requisitos de que você precisa se quiser continuar:

  1. Um VPS executando Ubuntu ou qualquer outra 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 substituto.

Instalação e configuração diversa

Vamos fazer o login em nosso VPS e deixar tudo pronto para o Minio funcionar corretamente.

1.  Configuração DNS

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

2.  Usuário Minio

Antes de instalar o Minio, vamos criar uma nova conta de usuário UNIX sob a qual o minio será executado. Não queremos executá-lo como root ou como usuário regular que pode ter acesso sudo ou outros aplicativos executados nele. Criamos uma conta minio system, chamada minio-user:

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

3.  Baixar Minio

Em seguida, baixamos o binário minio (escrito em Go, que é compilado em um binário pequeno e leve).

Obtenha o binário

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

Mova o binário para um local onde normalmente se espera que os binários residam:

$ sudo mv minio / usr / local / bin

Torne o arquivo binário executável e conceda ao usuário e grupo miniousuário sua propriedade:

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

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

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

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

Certifique-se de que o minio tenha controle total sobre estes diretórios:

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

Dentro do diretório / etc / default, precisamos criar um arquivo minio para especificar variáveis ​​de ambiente como o número da porta que estaremos escutando 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 / default / minio e adicione o seguinte conteúdo dentro dele:

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

Certifique-se de escrever o FDQN real designado do seu VPS em vez da string literal minio.exemplo.com acima. A porta número 9000 é o que eles geralmente usam na documentação, mas vamos usar a instalação TLS adequada ouvindo na porta 443. Como é um número de porta menor que 1024, precisamos informar expressamente ao sistema operacional que o minio pode escutar nessas portas:

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

Por último, precisamos configurar o minio serviço. Felizmente, o script que faz isso está disponível em seu repositório GitHub e vamos colocá-lo em seu local apropriado:

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

Recarregue todas as unidades do systemd e habilite o minio para iniciar na inicialização

$ sudo systemctl daemon-reload
$ sudo systemctl enable minio

Por último, certifique-se de que seu firewall permite a comunicação na porta 443.

Vamos criptografar certificados TLS usando Certbot

Precisamos de certificados TLS negociados 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 software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get update
$ sudo apt-get install certbot

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

$ sudo certbot certonly --standalone -d minio.exemplo.com --staple-ocsp -m
nomedeusuario @ email.com - concordo-tos

Aqui você insere seu FQDN para o servidor Minio após o sinalizador -d e seu endereço de e-mail após o sinalizador -m. O endereço de e-mail é importante porque permite que o LetsEncrypt o notifique 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 FQDN escolhido. Agora copie os certificados para o diretório / etc / minio do Minio e dê permissão para acessá-los.

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

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

$ sudo service minio start
$ sudo service minio status

Resultado:

Carregado: carregado (/ etc / systemd / system / minio.serviço; Desativado; predefinição do fornecedor: habilitado)
Ativo: ativo (em execução) desde terça-feira 09/10/2018 11:54:41 PDT; 5s atrás
Docs: https: // docs.minio.io
Processo: 15874 ExecStartPre = / bin / bash -c [-n "$ MINIO_VOLUMES"] && echo "Variável
MINIO_VOLUMES não definido em / etc / default / minio "(código = saiu, status = 0 / SUCCESS)
PID principal: 15877 (minio)
Tarefas: 13 (limite: 4.915)
CGroup: / system.fatia / minio.serviço
└─15877 / usr / local / bin / servidor minio -C / etc / minio --address minio.exemplo.com: 443 / usr /
local / compartilhar / minio /
 
09 de outubro 11:54:41 nome do host minio [15877]: Acesso do navegador:
09 de outubro 11:54:41 nome do host minio [15877]: https: // minio.exemplo.com
09 de outubro 11:54:41 hostname minio [15877]: Acesso de 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 + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg

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

Usando Minio

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

E você será saudado pela IU do Minio.

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

Você pode editar sua política para ler e escrever e, em seguida, fazer upload de alguns arquivos (por exemplo, imagens) neste intervalo. Minio criará um URL exclusivo para cada objeto em um intervalo. Você pode definir políticas para leitura e gravação por intervalo, bem como a data de expiração no URL do objeto individual.

Conclusão

Esse é o básico de como você começa com um armazenamento de objetos. Idealmente, os próprios objetos não devem ser modificados, apenas lidos ou adicionados aos baldes. Você pode integrar isso em seu aplicativo, seguindo a documentação oficial.  Ele suporta uma ampla gama de linguagens de programação, desde Go, Python, JavaScript até .INTERNET.

Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...
Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...
Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...