* 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