Para instalar qmail y vpopmail en RedHat 7.3 he seguido los siguientes pasos.
1. Desinstalo sendmail.
# /etc/init.d/sendmail stop
# rpm -e --nodeps sendmail
2. De qmail.org me he bajado los siguientes paquetes para RedHat.
ucspi-tcp-0.88-003memphis.src.rpm
dt-run-11.07-001memphis.src.rpm
daemontools-0.76-2memphis.src.rpm
runlevelconf-0.08-001memphis.src.rpm
functions-4-2.noarch.rpm
var-qmail-create-1.03-109memphis.src.rpm
qmail-run-11.07-001memphis.src.rpm
Y de udoj.org el vpopmail-5.0-1.src.rpm
3. Como verás, son fuentes. Para compilarlos he hecho
# rpm --rebuild nombre_paquete.src.rpm
Todo este proceso hay que seguirlo con todos los paquetes src (fuentes), salvo con qmail. Una vez compilados hay que instalar los paquetes binarios creados. Éstos se encuentran en /usr/src/redhat/RPMS/i386/
# cd /usr/src/redhat/RPMS/i386/
# rpm -Uvh nombre_paquete-version.i386.rpm
Hay que instalar primero ucspi-tcp, dt-run, runlevelconf, functions y daemontools.
4. Configuración de dt-run.
Hay que poner añadir estas líneas en /etc/inittab antes de las líneas "rc":
### stop dt-run
rK:016:wait:/var/service/dt-run/dt-runlevel.init stop
sK:016:wait:/var/service/dt-run/dt-svscan.init stop
### End stop dt-run
y estas otras después de las líneas "rc":
### start dt-run
sS:2345:wait:/var/service/dt-run/dt-svscan.init start
r2:2:wait:/var/service/dt-run/dt-runlevel.init start
r3:3:wait:/var/service/dt-run/dt-runlevel.init start
r4:4:wait:/var/service/dt-run/dt-runlevel.init start
r5:5:wait:/var/service/dt-run/dt-runlevel.init start
### End start dt-run
La cosa quedaría así:
### stop dt-run
rK:016:wait:/var/service/dt-run/dt-runlevel.init stop
sK:016:wait:/var/service/dt-run/dt-svscan.init stop
### End stop dt-run
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
### start dt-run
sS:2345:wait:/var/service/dt-run/dt-svscan.init start
r2:2:wait:/var/service/dt-run/dt-runlevel.init start
r3:3:wait:/var/service/dt-run/dt-runlevel.init start
r4:4:wait:/var/service/dt-run/dt-runlevel.init start
r5:5:wait:/var/service/dt-run/dt-runlevel.init start
### End start dt-run
Luego ejecutamos:
# init q
5. Compilación e instalación de qmail.
# rpm --rebuild var-qmail-create-1.03-102memphis.src.rpm
E instalamos el paquete.
# cd /usr/src/redhat/RPMS/i386/
# rpm -Uvh var-qmail-create-1.03-102memphis.i386.rpm
Este paquete es especial porque en realidad nos deja el sistema preparado para crear el paquete de qmail. Ahora tenemos un var-qmail.spec en /usr/src/redhat/SPEC/ y el código fuente de qmail en /usr/src/redhat/SOURCES/
Ejecutamos el spec para crear el paquete binario de qmail:
# cd /usr/src/redhat/SPEC/
# rpm -bb var-qmail.spec
Ahora tendremos en nuestro sistema varios usuarios y grupos necesarios para el qmail y un paquete nuevo en RPMS/i386 llamado qmail-1.03-102memphis.i386.rpm. Lo instalamos:
# cd /usr/src/redhat/RPMS/i386/
# rpm -Uvh qmail-1.03-102memphis.i386.rpm
5. Instalación de vpopmail
Ahora podemos instalar el paquete de vpopmail:
# rpm -Uvh vpopmail-5.0-1.i386.rpm
Creamos un enlace dinámico para que el svscan de las daemontools encuentre al vpopmail:
# ln -s /var/vpopmail /service/
Y creamos un archivo en /etc/xinet.d/ llamado vpopmail con este contenido:
service pop3
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /var/qmail/bin/qmail-popup
server_args = astronomia.net /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop 3d Maildir
log_type = FILE /var/log/xinetd.log
log_on_success = HOST
log_on_failure = HOST RECORD
}
Reiniciamos el xinetd:
# /etc/init.d/xinetd reload
6. Y listos.
7. Referencias
- Instrucciones de var-qmail
- /usr/share/doc/dt-run/INSTALL_rpm
- /usr/share/doc/vpopmail/INSTALL
8. PostData
He tenido algunos problemillas con la autentificación.
[root@mydomain]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK <9579.1043362119@mydomain>
USER rvr@mydomain
+OK
PASS mypassword
-ERR authorization failed
Connection closed by foreign host.
Así que al final para solucionarlo he hecho lo siguiente. He editado el script /var/service/qmail-pop3d/run así:
#CHKPASS="/bin/checkpassword"
CHKPASS="/var/vpopmail/bin/vchkpw"
He deshabilitado el /etc/xinet.d/vpopmail (disable = yes) y creado un enlace simbólico en el directorio /service/ apuntando al directorio /var/service/qmail-pop3d/
# ln -s /var/service/qmail-pop3d/ /service/
Y ya está. Ahora ya puedo autentificarme en el vpopmail correctamente. Por qué no funciona el xinet.d/vpopmail, lo desconozco.
Víctor R. Ruiz
1ª revisión: 24 ene 2003. PostData.
22 ene 2003