如何为CentOS 5构建红帽企业IPA RPM
FreeIPA已经存在一段时间,如Red Hat Linux的RHE IPA,并已添加到Fedora中。 尽管如此,由于它是RHEL的额外附件,CentOS尚未得到重建。 这是一个耻辱,因为FreeIPA是一个易于配置,易于管理的安全信息管理解决方案。 如果像我一样,想要使用IPA与CentOS,本教程是为您而设。
假设
- 您已经安装了Centos 5.2,至少包含最少的软件包(在安装期间未选中所有内容),并且已将其完全更新为CentOS的存储库。
- 我在32位i386系统上构建了这些RPM,但是我想像在x86_64或其他系统上构建它们会非常相似
- 您具有Linux命令的基本工作知识(移动文件等)
- 您以root身份运行以下操作
- 红帽,CentOS和EPEL都没有将所有这些软件包移动到一些令人兴奋的新的和模糊的位置。 如果是这样,您可能需要Google找到所有这些。
下载并安装centos-ds rpm
- CentOS和EPEL已经编译了一些必要的软件包。 如果别人已经为您完成了这项工作,为什么要重新包装? 这样,如果更新被添加到存储库中,他们也会更新路径!
- 在
/etc/yum.repos.d/CentOS-testing.repo
创建一个文件,内容如下:[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
- 运行以下命令来下载并安装一些现有的RPM:
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
从RedHat下载源码包
- 运行以下命令下载必要的SRPMS:
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 . - 删除我们不需要的RPM
- 删除旧版本的rpms(例如:如果有3个版本的ipa,只保留最新)
- 还要删除redhat-ds *,因为我们已经安装了centos-ds
- 删除python-psycopg2,因为我们从EPEL安装了它
使用yum来获取一些必要的开发包
- 运行以下命令下载所需的软件包:
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
首先构建TurboGears和krb5包
- 运行以下命令:
rpmbuild --rebuild TurboGears*.rpm krb5-server-ldap*.rpm python-kerberos python-tgexpandingformwidget*.rpm mod_nss*.rpm
- 在执行此操作时,将会有相当多的输出到控制台 - 不要让它吓到你。 如果有错误,rpmbuild将会停止运行,并告诉你一些缺失的东西。
- 如果rpmbuild无法构建软件包,因为您缺少软件包,请对软件包执行“yum搜索”,安装软件包,然后再次尝试上述命令。
- 当rpmbuild完成没有错误时,它将打印“退出0”到屏幕,然后停止输出信息
- 完成rpmbuild后,您可以使用以下命令安装TurboGears:
yum install /usr/src/redhat/RPMS/*/*.rpm
构建IPA
- 我们还将自行构建IPA,因为它需要一个小的修改。 要开始,请运行以下命令:
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 - 如果构建时出现错误,请尝试使用yum安装缺少的包,然后再次运行rpmbuild命令。 一旦完成,请使用以下命令安装我们迄今为止构建的所有软件包:
yum install /usr/src/redhat/RPMS/*/*.rpm
构建其余的rpms
- 在这一点上,我们终于准备好构建IPA所需的其他RPM,以正常工作。 使用以下命令构建它们:
cd ~/srcbuild/
rpmbuild --rebuild *.rpm - 这可能会像其他时候一样失败几次。 根据需要重复。
找到rpms
- 完成的RPM都位于
/ usr / src / redhat / RPMS /中
。 有关所有这些的列表,您可以运行以下命令:find /usr/src/redhat/|grep "rpm$"
- 移动或复制您可以找到的RPM。 如果要安装多个IPA服务器,请保留所有这些机器,您将需要其中一些用于IPA客户端计算机和所有这些机器。
- 请记住,您从测试和EPEL下载了centos-ds和其他RPM。 您将需要下载或添加到客户端的测试和EPEL repos,以便他们可以获得所有的软件包。
- 如果您有太空行走服务器,您现在可以将RPM转入其中,并为任何未来的客户端和服务器使用yum!
使用Red Hat的文档配置服务器和客户机
- 我将不会记录配置过程,因为已经很好地完成了Red Hat。 他们的文件位于http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_IPA/
- “安装和部署指南”和“ 客户端配置指南”尤其重要