Red Hat · 4 min read · Nov 12, 2025

Cómo construir RPMs de Red Hat Enterprise IPA para CentOS 5

Cómo construir RPMs de Red Hat Enterprise IPA para CentOS 5

FreeIPA ha existido durante algún tiempo como RHE IPA para Red Hat Linux y se ha añadido a Fedora. Aún así, dado que es un complemento adicional para RHEL, CentOS aún no lo ha reconstruido. Es una pena porque FreeIPA es una solución de gestión de información de seguridad fácil de configurar y gestionar. Si, como yo, deseas usar IPA con CentOS, este tutorial es para ti.

Suposiciones

  • Has instalado CentOS 5.2 con al menos el conjunto mínimo de paquetes (desmarcaste todo durante la instalación) y lo has actualizado completamente con los repositorios de CentOS. - Construí estos RPMs en un sistema i386 de 32 bits, pero imagino que construirlos en x86_64 u otros sería muy similar.
  • Tienes un conocimiento básico de los comandos de Linux (mover archivos, etc.)
  • Estás ejecutando lo siguiente como root.
  • Red Hat, CentOS y EPEL no han movido todos estos paquetes a alguna ubicación nueva y oscura emocionante. Si es así, es posible que tengas que buscar un poco en Google para encontrarlos todos.

Descargar e instalar el rpm de centos-ds

  1. CentOS y EPEL ya han compilado algunos de los paquetes necesarios. ¿Por qué reconstruir paquetes si alguien más ya ha hecho el trabajo por ti? ¡De esta manera también se actualizarán en el futuro si se añaden actualizaciones a los repositorios!
  2. Crea un archivo en /etc/yum.repos.d/CentOS-testing.repo con el siguiente contenido: [testing] name=CentOS-$releasever - Testing baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
  3. Ejecuta los siguientes comandos para descargar e instalar algunos de los RPMs existentes: rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm yum install centos-ds-base-devel centos-ds centos-ds-admin-console python-psycopg2 rm /etc/yum.repos.d/CentOS-testing.repo yum clean all

Descargar los paquetes fuente de RedHat

  1. Ejecuta los siguientes comandos para descargar los SRPMS necesarios: mkdir ~/srcbuild; cd ~/srcbuild/ wget -r -l 1 http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/RHEIPA/SRPMS/ mv ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/RHEIPA/SRPMS/*.rpm .
  2. Elimina los RPMs que no necesitaremos - Elimina versiones anteriores de rpm (ej: si hay 3 versiones de ipa, solo conserva la más nueva)
  • También elimina redhat-ds* ya que ya instalamos centos-ds
  • Elimina python-psycopg2 ya que lo instalamos desde EPEL

Usa yum para obtener algunos paquetes de desarrollo necesarios

  1. Ejecuta el siguiente comando para descargar los paquetes requeridos: yum install gcc gcc-c++ automake autoconf rpm-build mozldap-devel openssl-devel openldap-devel krb5-devel nss-devel libcap-devel python-devel libtool selinux-policy-devel python-setuptools-devel bison flex ncurses-devel texinfo tetex-latex pam-devel httpd-devel apr-devel apr-util-devel postgresql-devel sqlite-devel

Construir TurboGears y los paquetes krb5 primero

  1. Ejecuta los siguientes comandos: rpmbuild --rebuild TurboGears*.rpm krb5-server-ldap*.rpm python-kerberos python-tgexpandingformwidget*.rpm mod_nss*.rpm - Habrá bastante salida en la consola mientras haces esto - no dejes que eso te asuste. Si hay un error, rpmbuild dejará de ejecutarse y te dirá que falta algo.
  2. Si rpmbuild falla al construir el paquete porque te falta un paquete, realiza una “yum search” para el paquete, instálalo y vuelve a intentar el comando anterior.
  3. Cuando rpmbuild termine sin errores, imprimirá “exit 0” en la pantalla y luego dejará de mostrar información.
  4. Cuando rpmbuild haya terminado, puedes instalar TurboGears con el siguiente comando: yum install /usr/src/redhat/RPMS/*/*.rpm

Construir IPA

  1. También construiremos IPA por su cuenta ya que requiere una pequeña modificación. Para comenzar, ejecuta estos comandos: rpm -Uvh ipa-*.src.rpm rm ipa-*.src.rpm cd /usr/src/redhat/SPECS/ mv ipa.spec ipa.spec.save sed -e "s/redhat-ds/centos-ds/g" ipa.spec.save > ipa.spec rpmbuild -bb ipa.spec
  2. Si hay errores al construir, intenta instalar los paquetes faltantes con yum y ejecuta el comando rpmbuild nuevamente. Una vez que complete, instala todos los paquetes que hemos construido hasta ahora con el siguiente comando: yum install /usr/src/redhat/RPMS/*/*.rpm

Construir el resto de los rpms

  1. En este punto, finalmente estamos listos para construir el resto de los RPMs necesarios para que IPA funcione correctamente. Construírlos con los siguientes comandos: cd ~/srcbuild/ rpmbuild --rebuild *.rpm
  2. Esto puede fallar algunas veces, al igual que las otras veces. Repite según sea necesario.

Encontrar los rpms

  1. Los RPMs terminados se encuentran todos en /usr/src/redhat/RPMS/. Para obtener una lista de todos ellos, puedes ejecutar el siguiente comando: find /usr/src/redhat/|grep "rpm$"
  2. Mueve o copia los RPMs a algún lugar donde puedas encontrarlos. Necesitarás algunos de estos para las máquinas cliente de IPA y todos ellos si deseas instalar múltiples servidores IPA, así que conserva todos ellos.
  3. Recuerda que descargaste los RPMs de centos-ds y otros de testing y EPEL. Necesitarás descargarlos o añadir los repositorios de testing y EPEL para los clientes para que puedan obtener todos los paquetes.
  4. Si tienes un servidor de spacewalk, ahora puedes rhnpush los RPMs en él y usar yum para cualquier cliente y servidor futuro.

Configurar el servidor y los clientes usando la documentación de Red Hat

  1. No entraré en documentar el proceso de configuración ya que eso ya ha sido muy bien hecho por Red Hat. Su documentación se encuentra en http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_IPA/
  2. De particular importancia son la Guía de Instalación y Despliegue y la Guía de Configuración del Cliente
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.