Servidor de Repositório Yum - CentOS / Oracle Linux

Este documento é dirigido ao pessoal da área de TI, especialmente aos administradores de redes, sistemas e/ou segurança, que são os responsáveis pelo planejamento, implementação ou operação de redes e sistemas. Também podem se beneficiar da sua leitura gerentes com conhecimento técnico de redes ou até mesmo pessoas leigas. Este documento também tem o objetivo de explicar como instalar e configurar passo a passo cada aplicação nele necessária para que seja criado o servidor de repositórios CentOS 7.x e Oracle Linux Server 7.x.

[ Hits: 609 ]

Por: Wagner em 07/12/2018


Introdução



* Criado em um Server CentOS 7.5

Instalação de pacotes necessários:

# yum install epel-release wget-y

Atualizar servidor:

# yum update

Desativar selinux

Para que seja possível listar os arquivos do repositório via Nginx é necessário desativar o SELINUX, para isso acesse o seguinte arquivo:

# vi /etc/selinux/config

Altere a linha SELINUX=enforcing para "disabled", após isso reinicie a máquina.

INSTALAÇÃO DO NGINX - WEB SERVER

Digite:

# yum install nginx -y

Habilitar o serviço para iniciar junto ao sistema:

# systemctl enable nginx

Iniciar serviço:

# systemctl start nginx

Liberar no firewall local as portas 80 e 443:

# firewall-cmd -zone=public -permanent -add-service=http
# firewall-cmd -zone=public -permanent -add-service=https


Recarregar as novas configurações adicionadas no firewall:

# firewall-cmd --reload

Validar se o Nginx está funcionando:

http://nome_do_seu_servidor.FQDN

CRIAR REPOSITÓRIO LOCAL YUM (CENTOS / ORACLE LINUX 7)

Para criação dos repositórios serão necessários alguns pacotes como exibido abaixo:

# yum install createrepo yum-utils -y

Criar as pastas para onde os pacotes serão enviados:

# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates,ol7_latest}

Sincronizar os repositórios com o server:

# reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=centosplus --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=extras --newest-only --download-metadata --download_path=/var/www/html/repos/
# reposync -g -l -d -m --repoid=updates --newest-only --download-metadata --download_path=/var/www/html/repos/


Baixar a lista de repositório do Oracle Linux para a pasta /etc/yum.repos.d/:

# wget https://yum.oracle.com/public-yum-ol7.repo -O /etc/yum.repos.d/public-yum-ol7.repo

Baixar a chave pública do Oracle Linux:

# wget https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

Validar a verificação de chave Oracle:

# gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

Importar a chave:

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

Sincronizar o repositório Oracle Linux 7:

# reposync -g -l -d -m --repoid=ol7_latest --newest-only --download-metadata --download_path=/var/www/html/repos/

Agora crie um novo repodata para os repositórios locais executando os seguintes comandos, em que o sinalizador -g é usado para atualizar as informações do grupo de pacotes usando o ".xml" arquivo especificado.

# createrepo -g comps.xml /var/www/html/repos/base/
# createrepo -g comps.xml /var/www/html/repos/centosplus/
# createrepo -g comps.xml /var/www/html/repos/extras/
# createrepo -g comps.xml /var/www/html/repos/updates/
# createrepo -g comps.xml /var/www/html/repos/ol7_latest/


Para permitir a visualização de repositórios e pacotes neles, por meio de um navegador da Web, crie um bloco do servidor Nginx que aponte para a raiz dos seus repositórios, conforme mostrado.

# vi /etc/nginx/conf.d/repos.conf

Insira o conteúdo no arquivo, salve e saia:

server {
        listen   80;
        server_name  nome_do_seu_servidor.FQDN;
        root   /var/www/html/repos;
        location / {
                index  index.php index.html index.htm;
                autoindex on;   #enable listing of directory index
        }
}

Salve e feche o arquivo. Em seguida reinicie o nginx.

# systemctl restart nginx

Acesse o endereço novamente e valide se é possível visualizar os arquivos nas pastas:

http:// nome_do_seu_servidor.FQDN

CRIAR CRON JOB PARA SINCRONIZAR E CRIAR REPOSITÓRIOS

Adicione uma tarefa cron que sincronize automaticamente seus repositórios locais com os repositórios oficiais do CentOS para obter as atualizações e os patches de segurança:

# vi /etc/cron.daily/update-localrepos

Adicione o conteúdo abaixo no arquivo:

#!/bin/bash
##specify all local repositories in a single variable
LOCAL_REPOS="base centosplus extras updates ol7_latest"
##a loop to update repos one at a time
for REPO in ${LOCAL_REPOS}; do
reposync -g -l -d -m --repoid=$REPO --newest-only --download-metadata --download_path=/var/www/html/repos/
createrepo -g comps.xml /var/www/html/repos/$REPO/
done

Salve o script e feche-o e defina as permissões apropriadas nele.

# chmod 755 /etc/cron.daily/update-localrepos

CONFIGURAÇÃO DO REPOSITÓRIO LOCAL DO YUM EM MÁQUINAS CLIENTES

Agora, nas máquinas clientes do CentOS, adicione seus repositórios locais à configuração do YUM.

# vi /etc/yum.repos.d/local-repos.repo

Adicione o conteúdo abaixo:

[local-base]
name=CentOS Base
baseurl=http:// nome_do_seu_servidor.FQDN /base/
gpgcheck=0
enabled=1

[local-centosplus]
name=CentOS CentOSPlus
baseurl=http:// nome_do_seu_servidor.FQDN /centosplus/
gpgcheck=0
enabled=1

[local-extras]
name=CentOS Extras
baseurl=http:// nome_do_seu_servidor.FQDN /extras/
gpgcheck=0
enabled=1

[local-updates]
name=CentOS Updates
baseurl=http:// nome_do_seu_servidor.FQDN /updates/
gpgcheck=0
enabled=1

Para o Oracle Linux adicionar o seguinte repositório e deletar todos os outros na pasta /etc/yum.repos.d/:

# vi /etc/yum.repos.d/local-repos.repo

Adicione o conteúdo abaixo no arquivo, salve e feche:

[local-ol7_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http:// nome_do_seu_servidor.FQDN /ol7_latest/
gpgcheck=0
enabled=1

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Configuração de Servidor SFTP

Expandir Disco no Linux - VMware

Integração de servidores Linux com Active Directory

Leitura recomendada

Asterisk - Instalando o AsteriskPBX 1.4 no Ubuntu Server 6.06 LTS com interface FXO X100P

Mandrake 10.1 Official - Análise de instalação e uso

Nagios - Um poderoso programa de monitoramento de rede (parte final)

Firefox, Thunderbird, pastas e integração Windows e Linux

Problemas no XMMS c/ RedHat 8.0

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts