
Para nuestros servidores de desarrollo hacemos uso de la plataforma de hospting ISPConfig versión 3 (a explicar en nuestros próximos artículos), la cual no soporta Dovecot 2.0 que viene con CentOS 6.2. A su vez, no existen paquetes para Courier-IMAP, Courier-Authlib y Maildrop por lo que hay que construirlos.
Comenzamos por desinstalar Dovecot:
yum remove dovecot dovecot-mysql
Ahora debemos instalar los pre-requisitos para luego poder crear el paquete rpm de Courier:
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 libidn-devel
Los paquetes RPM no deben construirse con el usuario root ya que no se podrán compilar. Por esto debemos crear un nuevo usuario con su respectiva clave:
useradd -m -s /bin/bash miadmin passwd miadmin
Ahora debemos permitirle al usuario miadmin ejecutar todos los comandos al usar “sudo” por lo que ejecutamos:
visudo
Buscar la línea que dice “root ALL=(ALL) ALL” y colocar debajo:
miadmin ALL=(ALL) ALL
Ahora estamos listos para cambiarnos al usuario miadmin y crear el RPM:
su miadmin
Ahora creamos el ambiente para la compilación:
mkdir $HOME/rpm mkdir $HOME/rpm/SOURCES mkdir $HOME/rpm/SPECS mkdir $HOME/rpm/BUILD mkdir $HOME/rpm/BUILDROOT mkdir $HOME/rpm/SRPMS mkdir $HOME/rpm/RPMS mkdir $HOME/rpm/RPMS/i386 mkdir $HOME/rpm/RPMS/x86_64
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
Ahora creamos el directorio download y descargamos el código fuente desde https://www.courier-mta.org/download.php:
mkdir $HOME/downloads cd $HOME/downloads
wget --no-check-certificate <a href="https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download">https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download</a> wget --no-check-certificate <a href="https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download">https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download</a> wget --no-check-certificate <a href="https://sourceforge.net/projects/courier/files/maildrop/2.5.5/maildrop-2.5.5.tar.bz2/download">https://sourceforge.net/projects/courier/files/maildrop/2.5.5/maildrop-2.5.5.tar.bz2/download</a>
Arriba usamos Courier-IMAP 4.9.3 debido a que Courier-IMAP 4.10.0 solo existe para Fedora pero no para CentOS.
Ahora podemos construir courier-authlib:
sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2
Después del proceso de construcción los paquetes están guardados en /root/rpmbuild/RPMS/i686 ó /root/rpmbuild/RPMS/x86_64
sudo ls -l /root/rpmbuild/RPMS/i686
[miadmin@servidor downloads]$ sudo ls -l /root/rpmbuild/RPMS/i686
total 516
-rw-r–r– 1 root root 125544 abr 19 14:12 courier-authlib-0.63.0-1.el6.i686.rpm
-rw-r–r– 1 root root 265296 abr 19 14:12 courier-authlib-debuginfo-0.63.0-1.el6.i686.rpm
-rw-r–r– 1 root root 35040 abr 19 14:12 courier-authlib-devel-0.63.0-1.el6.i686.rpm
-rw-r–r– 1 root root 17144 abr 19 14:12 courier-authlib-ldap-0.63.0-1.el6.i686.rpm
-rw-r–r– 1 root root 13380 abr 19 14:12 courier-authlib-mysql-0.63.0-1.el6.i686.rpm
-rw-r–r– 1 root root 12704 abr 19 14:12 courier-authlib-pgsql-0.63.0-1.el6.i686.rpm
-rw-r–r– 1 root root 8176 abr 19 14:12 courier-authlib-pipe-0.63.0-1.el6.i686.rpm
-rw-r–r– 1 root root 33720 abr 19 14:12 courier-authlib-userdb-0.63.0-1.el6.i686.rpm[/shell]
Seleccionamos lo que queremos instalar y ejecutamos:
sudo rpm -ivh /root/rpmbuild/RPMS/i686/courier-authlib-0.63.0-1.el6.i686.rpm /root/rpmbuild/RPMS/i686/courier-authlib-mysql-0.63.0-1.el6.i686.rpm /root/rpmbuild/RPMS/i686/courier-authlib-devel-0.63.0-1.el6.i686.rpm
Ahora podemos regresar al directorio de descargas:
cd $HOME/downloads
Para poder construir Courier-IMAP debemos ejecutar primero:
sudo mkdir -p /var/cache/ccache/tmp sudo chmod o+rwx /var/cache/ccache/ sudo chmod 777 /var/cache/ccache/tmp
Ahora debemos ejecutar nuevamente rpmbuild sin sudo porque de no hacerlo así fallará ya que fue ejecutado con root:
rpmbuild -ta courier-imap-4.9.3.tar.bz2
Después del proceso de construcción los paquetes están guardados en $HOME/rpm/RPMS/i686 ó $HOME/rpm/RPMS/x86_64
cd $HOME/rpm/RPMS/i686 [miadmin@servidor i686]$ ls -l total 1088 -rw-rw-r-- 1 tecno tecno 340688 abr 19 14:23 courier-imap-4.9.3-1.i686.rpm -rw-rw-r-- 1 tecno tecno 769148 abr 19 14:23 courier-imap-debuginfo-4.9.3-1.i686.rpm
Podemos instalar Courier-IMAP con:
sudo rpm -ivh courier-imap-4.9.3-1.i686.rpm
Regresamos al directorio de descargas:
cd $HOME/downloads
Y ejecutamos de nuevo rpmbuild para poder construir el paquete maildrop:
sudo rpmbuild -ta maildrop-2.5.5.tar.bz2
Después de la construcción los paquetes están en /root/rpmbuild/RPMS/i686 ó /root/rpmbuild/RPMS/x86_64:
sudo ls -l /root/rpmbuild/RPMS/i686 [miadmin@servidor downloads]$ sudo ls -l /root/rpmbuild/RPMS/i686 total 1676 -rw-r--r-- 1 root root 125544 abr 19 14:12 courier-authlib-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 265296 abr 19 14:12 courier-authlib-debuginfo-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 35040 abr 19 14:12 courier-authlib-devel-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 17144 abr 19 14:12 courier-authlib-ldap-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 13380 abr 19 14:12 courier-authlib-mysql-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 12704 abr 19 14:12 courier-authlib-pgsql-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 8176 abr 19 14:12 courier-authlib-pipe-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 33720 abr 19 14:12 courier-authlib-userdb-0.63.0-1.el6.i686.rpm -rw-r--r-- 1 root root 295368 abr 19 14:29 maildrop-2.5.5-1.i686.rpm -rw-r--r-- 1 root root 709988 abr 19 14:29 maildrop-debuginfo-2.5.5-1.i686.rpm -rw-r--r-- 1 root root 105960 abr 19 14:29 maildrop-devel-2.5.5-1.i686.rpm -rw-r--r-- 1 root root 65960 abr 19 14:29 maildrop-man-2.5.5-1.i686.rpm
Ahora instalamos maildrop con:
sudo rpm -ivh /root/rpmbuild/RPMS/i686/maildrop-2.5.5-1.i686.rpm
Luego de haber instalado los paquetes podemos regresar a ser el usuario root con:
exit
Ahora podemos arracar Courier-IMAP/-POP3 con:
/etc/init.d/courier-imap start
Deje un mensaje