如何安装courier-imap,courier-authlib和maildrop在Fedora,RedHat,CentOS
版本1.0
作者:Falko Timme
由于某些原因,在基于RedHat的发行版(RedHat,Fedora,CentOS)上没有可用的Courier软件包( courier-imap
, courier-authlib
, maildrop
),以及拥有此类软件包的唯一第三方存储库似乎已经关闭.com
)。 因此,本教程将介绍如何从源代码创建和安装自己的Courier rpm软件包,并提供我在Fedora 8(i386)上编译的Courier rpm软件包的下载链接,以便节省一些时间。
我不会保证这将为您工作!
1初步说明
我在Fedora 8(i386)系统上尝试过这个; 它也适用于RedHat和CentOS。 如果您使用的是x86_64系统,请使用x86_64替换本教程中i386
的所有引用。
2安装先决条件
在我们可以编译Courier包之前,我们需要一些先决条件,如编译器,开发库等,我们可以这样安装:
yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel
3创建非特权用户帐户
RPM包不应该以root身份构建; 如果检测到编译以root用户身份运行,则courier-imap
甚至拒绝编译。 因此,我们现在创建一个正常的用户帐户(在这个例子中为falko
),并给他一个密码:
useradd -m -s /bin/bash falko
passwd falko
稍后我们将需要sudo
命令,以便用户falko
可以编译和安装rpm包。 但首先,我们必须允许falko
使用sudo
来运行所有命令:
跑
visudo
在打开的文件中有一个行根ALL =(ALL)ALL
。 在falko上
添加一条类似的行:
[...] ## Allow root to run any commands anywhere root ALL=(ALL) ALL falko ALL=(ALL) ALL [...] |
4建立Expressauthlib,Expressimap和maildrop
现在我们已经准备好构建我们的rpm包了。 首先成为用户falko
:
su falko
接下来我们创建我们的构建环境:
mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
现在我们创建一个下载目录,并从http://www.courier-mta.org/download.php下载源文件:
mkdir $HOME/downloads
cd $HOME/downloads
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.60.2.tar.bz2
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.2.1.tar.bz2
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2
4.1Expressauthlib
现在(仍然在$ HOME /下载
)我们可以建立Expressauthlib:
sudo rpmbuild -ta courier-authlib-0.60.2.tar.bz2
在构建过程之后,可以在$ HOME / rpm / RPMS / i386
( $ HOME / rpm / RPMS / x86_64(
如果您在x86_64系统上))中找到rpm包:
cd $HOME/rpm/RPMS/i386
命令
ls -l
显示可用的rpm包:
[falko@server1 i386]$ ls -l
total 600
-rw-r--r-- 1 root root 137335 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 323827 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 34201 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 18039 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 14258 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 13602 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 8336 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 36859 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
[falko@server1 i386]$
选择要安装的文件,并安装它们:
sudo rpm -ivh courier-authlib-0.60.2-1.fc8.i386.rpm
sudo rpm -ivh courier-authlib-devel-0.60.2-1.fc8.i386.rpm
sudo rpm -ivh courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
4.2Express
现在我们回到我们的下载
目录:
cd $HOME/downloads
并再次运行rpmbuild
,这次没有sudo
,否则编译将失败,因为它以root身份运行:
rpmbuild -ta courier-imap-4.2.1.tar.bz2
在构建过程之后,可以在$ HOME / rpm / RPMS / i386
( $ HOME / rpm / RPMS / x86_64(
如果您在x86_64系统上))中找到rpm包:
cd $HOME/rpm/RPMS/i386
命令
ls -l
显示可用的rpm包:
[falko@server1 i386]$ ls -l
total 1284
-rw-r--r-- 1 root root 137335 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 323827 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 34201 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 18039 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 14258 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 13602 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 8336 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 36859 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
-rw-rw-r-- 1 falko falko 383455 2007-11-13 18:21 courier-imap-4.2.1-1.8.i386.rpm
-rw-rw-r-- 1 falko falko 917771 2007-11-13 18:21 courier-imap-debuginfo-4.2.1-1.8.i386.rpm
[falko@server1 i386]$
你可以这样安装courier-imap:
sudo rpm -ivh courier-imap-4.2.1-1.8.i386.rpm
4.3 maildrop
现在我们回到我们的下载
目录:
cd $HOME/downloads
并再次运行rpmbuild
:
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2
在构建过程之后,可以在$ HOME / rpm / RPMS / i386
( $ HOME / rpm / RPMS / x86_64(
如果您在x86_64系统上))中找到rpm包:
cd $HOME/rpm/RPMS/i386
命令
ls -l
显示可用的rpm包:
[falko@server1 i386]$ ls -l
total 3128
-rw-r--r-- 1 root root 137343 2007-11-13 18:02 courier-authlib-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 324618 2007-11-13 18:02 courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 34208 2007-11-13 18:02 courier-authlib-devel-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 18042 2007-11-13 18:02 courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 14254 2007-11-13 18:02 courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 13599 2007-11-13 18:02 courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 8339 2007-11-13 18:02 courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
-rw-r--r-- 1 root root 36855 2007-11-13 18:02 courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
-rw-rw-r-- 1 falko falko 383455 2007-11-13 18:21 courier-imap-4.2.1-1.8.i386.rpm
-rw-rw-r-- 1 falko falko 917771 2007-11-13 18:21 courier-imap-debuginfo-4.2.1-1.8.i386.rpm
-rw-r--r-- 1 root root 299030 2007-11-13 18:35 maildrop-2.0.4-1.8.i386.rpm
-rw-r--r-- 1 root root 752872 2007-11-13 18:35 maildrop-debuginfo-2.0.4-1.8.i386.rpm
-rw-r--r-- 1 root root 136235 2007-11-13 18:35 maildrop-devel-2.0.4-1.8.i386.rpm
-rw-r--r-- 1 root root 58439 2007-11-13 18:35 maildrop-man-2.0.4-1.8.i386.rpm
[falko@server1 i386]$
你现在可以这样安装maildrop:
sudo rpm -ivh maildrop-2.0.4-1.8.i386.rpm
编译并安装所有需要的软件包后,您可以通过键入再次成为root
exit
5我的Fedora 8软件包
以下是我的Fedora 8(i386)软件包的链接:
- Expressauthlib-0.60.2-1.fc8.i386.rpm
- courier-authlib-debuginfo-0.60.2-1.fc8.i386.rpm
- courier-authlib-devel-0.60.2-1.fc8.i386.rpm
- courier-authlib-ldap-0.60.2-1.fc8.i386.rpm
- courier-authlib-mysql-0.60.2-1.fc8.i386.rpm
- courier-authlib-pgsql-0.60.2-1.fc8.i386.rpm
- courier-authlib-pipe-0.60.2-1.fc8.i386.rpm
- courier-authlib-userdb-0.60.2-1.fc8.i386.rpm
- courier-imap-4.2.1-1.8.i386.rpm
- courier-imap-debuginfo-4.2.1-1.8.i386.rpm
- maildrop-2.0.4-1.8.i386.rpm
- maildrop-debuginfo-2.0.4-1.8.i386.rpm
- maildrop-devel-2.0.4-1.8.i386.rpm
- maildrop-man-2.0.4-1.8.i386.rpm