[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Vpopmail

Este documento le brinda las instrucciones para instalar vpopmail con soporte para la base de datos MySQL y su integración con varios softwares relacionados al correo, incluyendo algunos de los paquetes que vienen con CentOS-4.

1. ¿ Qué es vpopmail ?

vpopmail es un sistema final de correo virtual. Está diseñado para trabajar en conjunto con la implementación de los dominios virtuales de qmail. vpopmail soporta varios sistemas finales para almacenar la configuración del usuario y del dominio, tales como MySQL, PostgreSQL, LDAP y otros.

2. ¿ Por qué vpopmail ?

vpopmail trae un gran juego de herramientas administrativas y una estructura razonablemente bien diseñada la cual nos ahorra tener que implementar una por nosotros mismos. vpopmail existe desde hace bastante tiempo y posee el soporte de un montón de otros paquetes de software relacionados a el correo, esto hace la integración bastante sencilla.

3. Requisitos de la instalación

Una instancia de qmail debido a que vpopmail está atado a qmail. El paquete mysql-devel debe estar instalado también para poder compilar vpopmail con soporte MySQL.

Si usted no tiene una instancia de qmail instalada, entoces puede seguir las instrucciones a continuación para adquirir una. Sin embargo, este documento no explica qmail. Por favor, consulte el sitio web de qmail-toaster (http://www.qmailtoaster.com/) para una configuración qmail + vpopmail.

Descargue el fuente comprimido de qmail en: http://cr.yp.to/software/qmail-1.03.tar.gz

Extraiga el código fuente.

La preparación para compilar incluye adicionar dos grupos y 7 cuentas de usuarios usadas por qmail.

mkdir /var/qmail
groupadd nofiles
useradd -s /sbin/nologin -g nofiles -d /var/qmail/alias alias
useradd -s /sbin/nologin -g nofiles -d /var/qmail qmaild
useradd -s /sbin/nologin -g nofiles -d /var/qmail qmaill
useradd -s /sbin/nologin -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -s /sbin/nologin -g qmail -d /var/qmail qmailq
useradd -s /sbin/nologin -g qmail -d /var/qmail qmailr
useradd -s /sbin/nologin -g qmail -d /var/qmail qmails

Cambie al directorio dentro del código fuente de qmail.

cd qmail-1.0.3

Ponga 'gcc -O2 -include /usr/include/errno.h' dentro del ficero conf-cc.

Ejecute make setup check para compilar qmail e instalar la instancia de qmail.

Ejecute ./config-fast localhost para hacer una la instalación mínima de qmail necesaria para vpopmail.

Ahora usted tiene una instancia de qmail que va a satisfacer las necesidades de vpopmail.

4. Construyendo vpopmail con soporte mysql

Descargue el código fuente de vpopmail desde sourcefoge. Este documento utiliza la versión 5.4.17: http://sourceforge.net/project/showfiles.php?group_id=85937.

vpopmail normalmente usa el uid 89 y el gid 89, debido a que postfix utiliza los dos necesitamos utilizar otros. uid 91 y gid 91.

groupadd -g 91 vchkpw
useradd -g vchkpw -u 91 vpopmail

Extraiga el código fuente del fichero comprimido y cambie el directorio en el código fuente del directorio.

./configure --enable-mysql-replication --enable-sql-logging --enable-auth-module=mysql --disable-users-big-dir --enable-valias

Esto nos dará la opción de usar un servidor de MySQL maestro donde podamos escribir el logueo, la creación de usuario/dominio son enviadas a los esclavos de mysql que son utilizados por vpopmail y otros softwares solo para leer la información usuario/dominio a través de su biblioteca. --enable-valias le dice a vpopmail que almacene los alias de correo en una base de datos MySQL en vez de en ficheros .qmail, los cuales nosotros no usaremos. En esta configuración todas las direcciones serán almacenadas en una sola tabla y los alias en otra separada.

make

5. Instalar y configurar vpopmail para MySQL

make install/make install-strip

Las configuraciones de MySQL para vpopmail están almacenadas en el fichero /home/vpopmail/etc/vpopmail.mysql. A continuación puede encontrar un ejemplo de una sola instancia de base de datos MySQL.

# MYSQL CONNECTION SETTINGS FOR VPOPMAIL
#
# Line 1 defines the connection to use for database reads,
# Line 2 defines the connection to use for database updates/writes.
#
# If you omit line 2, then the same settings will be
# used for both read and write.
#
# settings for each line:
# host|port|user|password|database
#
localhost|0|vpopmail|vpopmailpass|vpopmail
#
# Note:
#   The value of host may be either a hostname or an IP address.
#   If host is 'localhost', then sockets (Unix) or named pipes (Windows)
#   will be used instead of TCP/IP to connect to the server.

Los binarios vpopmail son instalados en /home/vpopmail/bin. Cuando adicione o borre usuarios/dominios ellos deben ser ejecutados como root, debido a que ellos cambiarán los ficheros debajo de /var/qmail/control. Usted necesita crear la base de datos vpopmail y garantizar el acceso a ella antes de usar vpopmail.

La instalación de vpopmail ahora está completa.

6. Pegamento para el software que no soporta vpopmail directamente

El software courier y vpopmail tienen una larga historia juntos. La biblioteca de autentificación de courier está soportada por bastantes sofwares relacionados a correo que no soportan vpopmail directamente. No obstante puede proporcionar la unión entre vpopmail y estos softwares tales como maildrop. Usted puede descargar courier-authlib y maildrop desde http://sourceforge.net/project/showfiles.php?group_id=5404.

courier-authlib

El software courier no será compilado bajo la cuenta de root. Además, para que courier-authlib utilice las bibliotecas de vpopmail, usted necesita ser capaz de accederlas durante la configuración del proceso de construcción. Se recomienda a pesar de ello que usted use el usuario vpopmail para el proceso de construcción de courier-authlib. El fuente de courier-authlib necesitan un pequeño parche para que haga un uso completo de vpopmail: courier-authlib-vpopmail.patch

patch -p1 < courier-authlib-vpopmail.patch
cd courier-authlib-0.58
./configure --prefix=/usr/lib/courier --with-redhat \ --with-mailuser=vpopmail --with-mailgroup=vchkpw \ --with-mysql-libs=/usr/lib/mysql \ --with-mysql-includes=/usr/include/mysql
make
make install
make install-configure

Usted puede utilizar este ejemplo de script authdaemon sysvinit que soporta chkconfig para habilitar el servicio: authdaemond


2023-09-11 07:23