On Mon, Mar 08, 2004 at 10:13:54AM -0000, Fernando Garc�a Cabrera wrote:
> Te cuento, pero advierto que es una larga historia.
Con slo responder a las lista, ok. Yo leo la lista cunado puedo, no
preciso copias a mi direcci�n.
>
> Pues me toc� instalar un servidor Linux con Debian 3.0 r1 en el trabajo.
> Hasta ah� bien. Pues ya tengo instalado el dichoso servidor, pero tenemos
> problemas con el correo. Actualmente est� corriendo con el kernel 2.4.18 con
> soporte para iptables y para la controladora aic7xxx de la unidad de cinta;
> el samba para hacer de PDC y compartir archivos; el dhcp3 para servir
> direcciones IP en la intranet; MySQL como gestor de la B.D. de la intranet y
> para almacenar los usuarios del correo (va a haber m�s usuarios para el
> correo que los creados para acceder a la m�quina); servidor web Apache con
> soporte para PHP 4 tambi�n para la intranet. Pues una vez instalado todo eso
> empec� a configurar el correo, para ello instal� primero el Postfix que
> viene con la distribuci�n, el 1.1.11-0 woody, y el postfix-mysql para el
> soporte mysql, el courier-imap 1.4.3, courier-authmysql 0.37.3. Ahora cuento
> la problem�tica que tengo con el correo:
> Tenemos un dominio, 'instituto-as.es', que nos provee un ISP, todo nuestro
> correo viene a trav�s de una cuenta en el servidor del ISP, el usuario de
> esa cuenta es 'institut', por lo tanto el correo entrante hay que
> descargarlo de esa cuenta y repartirlo a los buzones correspondientes pienso
> que con fetchmail.Como ya cont�, logr� configurar el correo y �ste funciona
pero fetchmail todo el correo que baja de esa cuenta lo mete en
"correo", no te va a "repartir" nada. Toda la configuraci�n que ten�s
armada est� bien para manejar un server imap tuyo, pero vos no est�s
recibiendo el mail directamente.
Lo que me parece que ten�s que hacer es un .procmailrc en la cuenta
"correo" para que se gatille el procmail cada vez que entra un mail en
esa cuenta, y se haga la distribuci�n entre los usuarios. Ahora ese
procmail va a tener que correr como root o como mail por lo menos.
Se entiende?
> para el correo saliente y el correo local, pero cuando se trata de bajar los
> correos de la cuenta 'institut' para repartirlos es cuando comienza el
> problema. Para no complicarme m�s la vida de lo necesario, y ya la tengo
> bastante complicada, no he instalado a�n el cifrado de contrase�as con la
> librer�a libsasl2, ni el amavis para la revisi�n del contenido del correo en
> busca de virus.
> Ya que tienes curiosidad, adjunto los ficheros de configuraci�n a ver si tu
> ves algo que se me escapa, o bien, si tienes una sugerencia mejor para el
> correo entrante desde la cuenta 'institut' ser� muy bienvenida. Gracias.
>
> CON RESPECTO AL POSTFIX:
> ----- MASTER.CF
> # ==========================================================================
> # service type private unpriv chroot wakeup maxproc command + args
> # (yes) (yes) (yes) (never) (50)
> # ==========================================================================
> smtp inet n - - - - smtpd
> #628 inet n - - - - qmqpd
> pickup fifo n - - 60 1 pickup
> cleanup unix n - - - 0 cleanup
> qmgr fifo n - - 300 1 qmgr
> #qmgr fifo n - - 300 1 nqmgr
> rewrite unix - - - - - trivial-rewrite
> bounce unix - - - - 0 bounce
> defer unix - - - - 0 bounce
> flush unix n - - 1000? 0 flush
> smtp unix - - - - - smtp
> showq unix n - - - - showq
> error unix - - - - - error
> local unix - n n - - local
> virtual unix - n n - - virtual
> lmtp unix - - n - - lmtp
> #
> # Interfaces to non-Postfix software. Be sure to examine the manual
> # pages of the non-Postfix software to find out what options it wants.
> # The Cyrus deliver program has changed incompatibly.
> #
> cyrus unix - n n - - pipe
> flags=R user=cyrus argv=/usr/sbin/cyrdeliver -e -m ${extension} ${user}
> uucp unix - n n - - pipe
> flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
> ($recipient)
> ifmail unix - n n - - pipe
> flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
> bsmtp unix - n n - - pipe
> flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender
> $recipient
> scalemail-backend unix - n n - 2 pipe
> flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
> ${nexthop} ${user} ${extension}
>
> # only used by postfix-tls
> #smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o
> smtpd_sasl_auth_enable=yes
> #587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o
> smtpd_sasl_auth_enable=yes
>
> ----- MAIN.CF
> command_directory = /usr/sbin
> daemon_directory = /usr/lib/postfix
> program_directory = /usr/lib/postfix
> queue_directory = /var/spool/postfix
> mail_spool_directory = /home/mail
> mail_owner = postfix
> home_mailbox = Maildir/
> smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
> setgid_group = postdrop
> biff = no
> append_dot_mydomain = no
> myhostname = aslinux.instituto-as.es
> mydomain = instituto-as.es
> alias_maps = hash:/etc/aliases
> alias_database = hash:/etc/aliases
> myorigin = /etc/mailname
> mydestination = instituto-as.es, aslinux.aslinux, localhost.aslinux,
> localhost
> relay_domains = $mydestination
> relayhost = 212.64.160.11
> mynetworks = 127.0.0.0/8 192.168.0.0/16
> local_destination_concurrency_limit = 2
> default_destination_concurrency_limit = 10
> mailbox_command = procmail -a "$EXTENSION"
> mailbox_size_limit = 0
> recipient_delimiter =
> virtual_mailbox_base = /
> virtual_uid_maps=mysql:/etc/postfix/ids.cf
> virtual_gid_maps=mysql:/etc/postfix/gids.cf
> virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
> local_transport = virtual
>
> ----- IDS.CF
> user=postfix
> password=xxxx
> dbname=postfix
> table=users
> select_field=uid
> where_field=email
> hosts=localhost
>
> ----- GIDS.CF
> user=postfix
> password=xxxx
> dbname=postfix
> table=users
> select_field=gid
> where_field=email
> hosts=localhost
>
> ----- MYSQL_VIRT.CF
> user=postfix
> password=xxxx
> dbname=postfix
> table=users
> select_field=maildir
> where_field=email
> hosts=localhost
>
> CON RESPECTO AL COURIER:
> ----- AUTHDAEMONRC
> authmodulelist="authmysql"
> authmodulelistorig="authcustom authcram authuserdb authldap authmysql
trivial, pero ac� no faltan unas " ^
> authpam"
> daemons=5
> version=""
> authdaemonvar=/var/run/courier/authdaemon
>
> ----- AUTHMODULELIST
> authdaemon
>
> ----- AUTHMYSQLRC
> MYSQL_SERVER localhost
> MYSQL_USERNAME postfix
> MYSQL_PASSWORD xxxx
> MYSQL_PORT 3306
> MYSQL_OPT 0
> MYSQL_DATABASE postfix
> MYSQL_USER_TABLE users
> #MYSQL_CRYPT_PWFIELD crypt
> MYSQL_CLEAR_PWFIELD password
> DEFAULT_DOMAIN instituto-as.es
> MYSQL_UID_FIELD uid
> MYSQL_GID_FIELD gid
> MYSQL_LOGIN_FIELD email
> MYSQL_HOME_FIELD homedir
> MYSQL_NAME_FIELD name
> MYSQL_MAILDIR_FIELD maildir
> # MYSQL_QUOTA_FIELD quota
>
> ----- IMAPD
> ADDRESS=0
> PORT=143
> MAXDAEMONS=40
> MAXPERIP=4
> PIDFILE=/var/run/courier/imapd.pid
> TCPDOPTS="-nodnslookup -noidentlookup"
> AUTHMODULES="authdaemon"
> AUTHMODULES_ORIG="authdaemon"
> IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
> THREAD=REFERENCES SORT"
> IMAP_CAPABILITY_ORIG="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
> THREAD=REFERENCES SORT AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"
> IMAP_IDLE_TIMEOUT=60
> IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
> IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
> IMAP_DISABLETHREADSORT=0
> IMAP_CHECK_ALL_FOLDERS=0
> IMAP_OBSOLETE_CLIENT=0
> IMAP_ULIMITD=65536
> IMAP_USELOCKS=0
> IMAP_EMPTYTRASH=Trash:7
> IMAP_MOVE_EXPUNGE_TO_TRASH=0
> IMAPDSTART=YES
>
> ------------------------------------
> EN EL ARCHIVO LOGIN.DEFS
> ------------------------------------
> QMAIL_DIR Maildir/
> FAIL_DELAY 3
> FAILLOG_ENAB yes
> LOG_UNKFAIL_ENAB no
> LOG_OK_LOGINS no
> QUOTAS_ENAB yes
> SYSLOG_SU_ENAB yes
> SYSLOG_SG_ENAB yes
> FTMP_FILE /var/log/btmp
> SU_NAME su
> HUSHLOGIN_FILE .hushlogin
> NOLOGIN_STR NOLOGIN
> ENV_HZ HZ=100
> ENV_SUPATH
> PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/b
> in
> ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
> TTYGROUP tty
> TTYPERM 0600
> ERASECHAR 0177
> KILLCHAR 025
> UMASK 022
> PASS_MAX_DAYS 99999
> PASS_MIN_DAYS 0
> PASS_WARN_AGE 7
> UID_MIN 1000
> UID_MAX 60000
> GID_MIN 100
> GID_MAX 60000
> LOGIN_RETRIES 5
> LOGIN_TIMEOUT 60
> PASS_MAX_LEN 8
> CHFN_AUTH yes
> CHFN_RESTRICT rwh
> USERGROUPS_ENAB yes
> CLOSE_SESSIONS no
>
> ----------------------------
> EN /ETC/INIT.D/MYSQL
> ----------------------------
> 'start')
> # Start daemon
> echo -n "Starting MySQL database server: mysqld"
> /usr/bin/safe_mysqld > /dev/null 2>&1 &
> for i in 1 2 3 4 5 6; do
> if is_mysqld_alive; then break; fi
> sleep 1
> done
> if is_mysqld_alive; then
> * ln -f /var/run/mysqld/mysqld.sock
> /var/spool/postfix/var/run/mysqld/mysqld.sock
> echo "."
> else
> echo "...failed."
> fi
> ;;
>
> 'stop')
> A�ad� la l�nea que tiene el asterisco porque en un manual de postfix dice
> que hay que hacerlo si postfix est� corriendo en 'chroot'.
>
>
> ------------------------------
> /ETC/FETCHMAILRC
> ------------------------------
> set postmaster "fernandogc"
> set bouncemail
> set no spambounce
> set properties ""
> set daemon 30
> poll 212.64.160.11 with proto POP3 timeout 30
> user 'institut' there with password 'xxxx' is
> '[EMAIL PROTECTED]' here options keep
>
> ------------------------------
> Y ESTRUCTURA DE LA B.D. MYSQL
> ------------------------------
> CREATE DATABASE postfix;
> USE postfix;
> CREATE TABLE users (
> id int(11) NOT NULL auto_increment,
> email varchar(255) NOT NULL default '',
> name varchar(128) NOT NULL default '',
> password varchar(255) default NULL,
> uid smallint(5) unsigned default '1008',
> gid smallint(5) unsigned default '1008',
> homedir varchar(255) default NULL,
> maildir varchar(255) default NULL,
> quota varchar(255) default NULL,
> PRIMARY KEY (id)
> ) TYPE=MyISAM;
presumo que los permisos (GRANT SELECT ON postfix TO "postfix") se le han dado
en
otra parte?
> INSERT INTO users VALUES (1,'[EMAIL PROTECTED]','Fernando Garcia
> Virtual','xxxx',2001,8,'/','/home/mail/fernangc/Maildir/',NULL);
> INSERT INTO users VALUES (2,'[EMAIL PROTECTED]','Fernando Garcia
> Sistema','xxxx',2002,8,'/','/home/mail/fernandogc/Maildir/',NULL);
> INSERT INTO users VALUES (3,'[EMAIL PROTECTED]','Juan Carlos
> Tacoronte Gonzalez','xxxx',2003,8,'/','/home/mail/jcarlostg/Maildir/',NULL);
> INSERT INTO users VALUES (4,'[EMAIL PROTECTED]','Gilberto Marquina
> Reyes','xxxx',2004,8,'/','/home/mail/gilbertomr/Maildir/',NULL);
> INSERT INTO users VALUES (5,'[EMAIL PROTECTED]','Usuario para bajar
> correo de idecnet','xxxx',1004,1008,'/','/home/mail/correo/Maildir/',NULL);
>
>
> Bien, esto es todo creo. A todos los listeros pido perd�n por haber sido tan
> extenso, pero pens� que era mejor enviar la mayor cantidad de informaci�n
> posible.
> Gracias.
>
>
>
--
Fernando M. Maresca
Cel: (54) 221 15 502 3938
Cel: 0221-15-502-3938