Proxy para repositórios YUM com Nexus Repository Manager 3 (NXRM)

Olá! Recentemente me deparei com dois desafios na instalação da solução Zimbra Collaboration:

  • Política de segurança da informação que restringia o acesso à internet pelos servidores da solução
  • Cenário com a instalação de múltiplos servidores com necessidade escalabilidade horizontal

Um cenário bastante comum é criação de mirrors dos repositórios localmente, como explico neste artigo: criação de mirrors locais para o Zimbra

Neste cenário, o servidor responsável pelos repositórios irá efetuar o download de todo o conteúdo previamente e servi-lo quando demandado. Esse cenários ocupa um espaço de armazenamento considerável, uma vez que é necessário baixar todo o conteúdo do repositório, e também demanda a atualização constante do mesmo.

A outra opção, que abordo neste artigo, é utilizar um servidor de repositório local que será um proxy para o repositório externa. Algumas vantagens desta implementação:

  • Utilização menor de armazenamento, uma vez que são baixados somente os pacote demandados
  • Elimina a necessidade de criar rotinas para atualização dos repositórios

Criando um repositório Proxy localmente

Para criar um proxy para os repositórios da solução Zimbra, utilize a solução Nexus Repository Manager (versão Open Source).  Não irei abordar neste artigo (mas certamente o farei em breve) a instalação desta solução, que suporta diversos outros formatos de repositórios além do YUM.

Toda a documentação pode ser encontrada no link abaixo:

https://help.sonatype.com/repomanager3/installation

Na interface de administração do Nexus Repository Manager (NXRM), entre em “Repository -> Repositories” e em seguida clique em “Create Repository”:

Vamos criar um repositório do tipo “yum proxy”:

Vamos definir o nome do repositório a o endereço (URL) do repositório externo:

Nome: zimbra

URL do repositório externo da solução Zimbra: https://repo.zimbra.com/

Vamos definir o local de armazenamento deste repositório localmente:

No meu cenário, foi utilizado o armazenamento padrão da solução: “default”

Após efetuar estas configurações, clique em “Create Repository” para criar o repositório.

Para comprovar o funcionamento deste repositório, clique em “Browse” na interface de administração e sem seguida escolha o repositório “zimbra” para inspecionar o conteúdo do mesmo:

Vemos que não há nenhum conteúdo ainda neste repositório, uma vez que o mesmo deve baixar apenas os pacotes do repositório externo quando demandado pela primeira vez.

Configuração do repositório em um host

Vamos agora configurar esse nosso repositório em um host, na interface administrativa, ao visualizar os repositórios, é possível clicar em “copy” para copiar a URL do nosso repositório.

Neste exemplo: http://nexus01-bktech.eastus.cloudapp.azure.com/repository/zimbra/

Não é o propósito deste artigo detalhar ou revisar o funcionamento de repositórios  YUM e muito menos é limitado, obviamente, a utilização deste recurso para a solução Zimbra. Você pode utilizar este recurso para fazer o proxy de qualquer repositório YUM.

Como exemplo, vamos efetuar a configuração necessária para instalação do Zimbra Collaboration Network Edition, versão 8.8.11 (versão mais recente no momento da criação deste artigo).

Vamos criar o arquivo “/etc/yum.repos.d/zimbra.repo”:

Arquivo disponível em:

Efetuando uma busca por pacotes “zimbra”, vemos que o repositório está funcionando corretamente:

Vamos agora efetuar o download de alguns pacotes do repositório Zimbra para comprovar que o nosso servidor efetuou o download dos mesmos:

# yumdownloader zimbra-spamassassin-rules zimbra-patch zimbra-docs

Inspecionando novamente nosso repositório, vemos que foi efetuado o download dos pacotes solicitados e mantidos no nosso repositório. Desta maneira, futuras requisições dos mesmos pacotes serão entregues pelo repositório local:

Um comentário sobre “Proxy para repositórios YUM com Nexus Repository Manager 3 (NXRM)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s