miércoles, 13 de mayo de 2015

Mirror de CentOS para nuestra red local

El propósito de este post es mostrar las configuraciones que se necesitan realizar para tener un mirror de Centos para los servidores de nuestra red.

Instalar cualquier versión de CentOS puede ser 5,6,7, en este servidor vamos a instalar el servicio de apache (httpd) y en este vamos a descargar los paquetes del mirror de centos que escojamos.

# yum install httpd createrepo screen -y 

Vamos abrir el puerto 80 para que los clientes puedan usar el repositorio local.

# firewall-cmd --zone=public --add-port=80/tcp --permanent && firewall-cmd --reload


Descarga de paquetes del mirror de CentOS.

Existen varios mirror de Centos los podemos ver en el siguiente sitio web http://www.centos.org/download/mirrors/, en este caso vamos a ordenarlos por la tercera columna. "Rsync Location".

Script para la sincronización de repos.

Explicación del script.

1.- El script debe estar ubicado en el directorio /etc/cron.daily/ donde nos aseguraremos que el script se ejecutara todos los días.
2.- El mirror.kernel.org puede ser usado ya que cumple con la característica de Rsync Location
3.-  Crear los siguientes directorios:

# mkdir -p /var/www/html/centos/6.6/os
# mkdir -p /var/www/html/centos/7/os
# mkdir -p /var/www/html/centos/6.6/updates
# mkdir -p /var/www/html/centos/7/updates

4.- Crear el archivo syncronizacion_centos_mirror.sh

# vim /etc/cron.daily/syncronizacion_centos_mirror.sh
Ingresar el contenido del script.

5.- Cambiar los permisos de 755 para el script syncronizacion_centos_mirror.sh

6.- Crear un screen en el servidor

#  screen -S syncronizacion_centos

# sh syncronizacion_centos_mirror.sh

en el terminal para salir del screen crtl a+d

en el terminal para regresar al screen digitan

# screen -r

Contenido del script

#################################################################################
#!/bin/bash
#!/bin/bash
# Jorge Armijo Syncronizacion repositorio CentOS Epel

# script con reposync
LOCAL_DIRECTORY="/var/www/html/centos"

reposync --gpgcheck -l --repoid=base       --download_path="${LOCAL_DIRECTORY}/7/os/x86_64/" --downloadcomps --download-metadata
createrepo ${LOCAL_DIRECTORY}/7/os/x86_64/ -g comps.xml
reposync --gpgcheck -l --repoid=extras     --download_path="${LOCAL_DIRECTORY}/7/extras/x86_64/" --downloadcomps --download-metadata
reposync --gpgcheck -l --repoid=updates    --download_path="${LOCAL_DIRECTORY}/7/updates/x86_64/" --downloadcomps --download-metadata
reposync --gpgcheck -l --repoid=virt       --download_path="${LOCAL_DIRECTORY}/7/virt/x86_64/" --downloadcomps --download-metadata
reposync            -l --repoid=epel       --download_path="${LOCAL_DIRECTORY}/7/storage/x86_64/" --downloadcomps --download-metadata
reposync --gpgcheck -l --repoid=centosplus --download_path="${LOCAL_DIRECTORY}/7/centosplus/x86_64/" --downloadcomps --download-metadata
reposync            -l --repoid=epel       --download_path="/var/www/html/epel/" --downloadcomps --download-metadata
createrepo /var/www/html/epel/ -g comps.xml
# Cambiar Contextos SELinux
chcon -Rt httpd_sys_content_t /var/www/html/


No hay comentarios:

Publicar un comentario