Buscar este blog

Mostrando entradas con la etiqueta postfix. Mostrar todas las entradas
Mostrando entradas con la etiqueta postfix. Mostrar todas las entradas

lunes, 26 de agosto de 2013

Estadísticas del servidor de correo con mailgraph

Pues mailgraph es muy útil para obtener información sobre el funcionamiento de nuestros servidores de correo, nos da bastante información sobre la carga que tiene el servidor y las horas punta de carga. Además es muy simple de instalar, apenas necesita un simple "apt-ge install" o "aptitude install" lo que más os guste y listo.
~# aptitude install mailgraph
Se instalarán los siguiente paquetes NUEVOS:  
  fontconfig{a} fontconfig-config{a} libcairo2{a} libdatrie1{a} libdbi1{a} libfile-tail-perl{a} libfontconfig1{a} libpango1.0-0{a}
  libpixman-1-0{a} libpng12-0{a} librrd4{a} librrds-perl{a} libthai-data{a} libthai0{a} libxcb-render0{a} libxcb-shm0{a} libxft2{a}
  libxrender1{a} mailgraph ttf-dejavu{a} ttf-dejavu-core{a} ttf-dejavu-extra{a}
0 paquetes actualizados, 22 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 6.554 kB de ficheros. Después de desempaquetar se usarán 16,6 MB.
¿Quiere continuar? [Y/n/?]
Des: 1 http://ftp.rediris.es/debian/ wheezy/main ttf-dejavu-core all 2.33-3 [1.021 kB]
Des: 2 http://ftp.rediris.es/debian/ wheezy/main fontconfig-config all 2.9.0-7.1 [233 kB]
Des: 3 http://ftp.rediris.es/debian/ wheezy/main libfontconfig1 amd64 2.9.0-7.1 [300 kB]
Des: 4 http://ftp.rediris.es/debian/ wheezy/main libpixman-1-0 amd64 0.26.0-4 [427 kB]                                                    
Des: 5 http://ftp.rediris.es/debian/ wheezy/main libpng12-0 amd64 1.2.49-1 [190 kB]                                                      
Des: 6 http://ftp.rediris.es/debian/ wheezy/main libxcb-render0 amd64 1.8.1-2 [18,5 kB]                                                  
Des: 7 http://ftp.rediris.es/debian/ wheezy/main libxcb-shm0 amd64 1.8.1-2 [10,3 kB]                                                      
Des: 8 http://ftp.rediris.es/debian/ wheezy/main libxrender1 amd64 1:0.9.7-1 [32,2 kB]                                                    

Des: 9 http://ftp.rediris.es/debian/ wheezy/main libcairo2 amd64 1.12.2-3 [912 kB]                                                        

Des: 10 http://ftp.rediris.es/debian/ wheezy/main libdatrie1 amd64 0.2.5-3 [28,6 kB]                                                      

Des: 11 http://ftp.rediris.es/debian/ wheezy/main libthai-data all 0.1.18-2 [154 kB]                                                      
Des: 12 http://ftp.rediris.es/debian/ wheezy/main libthai0 amd64 0.1.18-2 [42,3 kB]                                                        
Des: 13 http://ftp.rediris.es/debian/ wheezy/main libxft2 amd64 2.3.1-1 [61,0 kB]                                                        
Des: 14 http://ftp.rediris.es/debian/ wheezy/main fontconfig amd64 2.9.0-7.1 [348 kB]                                                    
Des: 15 http://ftp.rediris.es/debian/ wheezy/main libpango1.0-0 amd64 1.30.0-1 [461 kB]                                                  
Des: 16 http://ftp.rediris.es/debian/ wheezy/main ttf-dejavu-extra all 2.33-3 [1.759 kB]                                                  
Des: 17 http://ftp.rediris.es/debian/ wheezy/main ttf-dejavu all 2.33-3 [30,6 kB]                                                        
Des: 18 http://ftp.rediris.es/debian/ wheezy/main libfile-tail-perl all 0.99.3-5 [23,3 kB]                                                
Des: 19 http://ftp.rediris.es/debian/ wheezy/main libdbi1 amd64 0.8.4-6 [31,7 kB]                                                        
Des: 20 http://ftp.rediris.es/debian/ wheezy/main librrd4 amd64 1.4.7-2 [322 kB]                                                          
Des: 21 http://ftp.rediris.es/debian/ wheezy/main librrds-perl amd64 1.4.7-2 [116 kB]                                                    
Des: 22 http://ftp.rediris.es/debian/ wheezy/main mailgraph all 1.14-11 [34,6 kB]                                                          
Descargados 6.554 kB en 32seg. (204 kB/s)                                                                                                
Preconfigurando paquetes ...
Seleccionando el paquete ttf-dejavu-core previamente no seleccionado.
(Leyendo la base de datos ... 34481 ficheros o directorios instalados actualmente.)
Desempaquetando ttf-dejavu-core (de .../ttf-dejavu-core_2.33-3_all.deb) ...
Seleccionando el paquete fontconfig-config previamente no seleccionado.
Desempaquetando fontconfig-config (de .../fontconfig-config_2.9.0-7.1_all.deb) ...
Seleccionando el paquete libfontconfig1:amd64 previamente no seleccionado.
Desempaquetando libfontconfig1:amd64 (de .../libfontconfig1_2.9.0-7.1_amd64.deb) ...
Seleccionando el paquete libpixman-1-0:amd64 previamente no seleccionado.
Desempaquetando libpixman-1-0:amd64 (de .../libpixman-1-0_0.26.0-4_amd64.deb) ...
Seleccionando el paquete libpng12-0:amd64 previamente no seleccionado.
Desempaquetando libpng12-0:amd64 (de .../libpng12-0_1.2.49-1_amd64.deb) ...
Seleccionando el paquete libxcb-render0:amd64 previamente no seleccionado.
Desempaquetando libxcb-render0:amd64 (de .../libxcb-render0_1.8.1-2_amd64.deb) ...
Seleccionando el paquete libxcb-shm0:amd64 previamente no seleccionado.
Desempaquetando libxcb-shm0:amd64 (de .../libxcb-shm0_1.8.1-2_amd64.deb) ...
Seleccionando el paquete libxrender1:amd64 previamente no seleccionado.
Desempaquetando libxrender1:amd64 (de .../libxrender1_1%3a0.9.7-1_amd64.deb) ...
Seleccionando el paquete libcairo2:amd64 previamente no seleccionado.
Desempaquetando libcairo2:amd64 (de .../libcairo2_1.12.2-3_amd64.deb) ...
Seleccionando el paquete libdatrie1:amd64 previamente no seleccionado.
Desempaquetando libdatrie1:amd64 (de .../libdatrie1_0.2.5-3_amd64.deb) ...
Seleccionando el paquete libthai-data previamente no seleccionado.
Desempaquetando libthai-data (de .../libthai-data_0.1.18-2_all.deb) ...
Seleccionando el paquete libthai0:amd64 previamente no seleccionado.
Desempaquetando libthai0:amd64 (de .../libthai0_0.1.18-2_amd64.deb) ...
Seleccionando el paquete libxft2:amd64 previamente no seleccionado.
Desempaquetando libxft2:amd64 (de .../libxft2_2.3.1-1_amd64.deb) ...
Seleccionando el paquete fontconfig previamente no seleccionado.
Desempaquetando fontconfig (de .../fontconfig_2.9.0-7.1_amd64.deb) ...
Seleccionando el paquete libpango1.0-0:amd64 previamente no seleccionado.
Desempaquetando libpango1.0-0:amd64 (de .../libpango1.0-0_1.30.0-1_amd64.deb) ...
Seleccionando el paquete ttf-dejavu-extra previamente no seleccionado.
Desempaquetando ttf-dejavu-extra (de .../ttf-dejavu-extra_2.33-3_all.deb) ...
Seleccionando el paquete ttf-dejavu previamente no seleccionado.
Desempaquetando ttf-dejavu (de .../ttf-dejavu_2.33-3_all.deb) ...
Seleccionando el paquete libfile-tail-perl previamente no seleccionado.
Desempaquetando libfile-tail-perl (de .../libfile-tail-perl_0.99.3-5_all.deb) ...
Seleccionando el paquete libdbi1 previamente no seleccionado.
Desempaquetando libdbi1 (de .../libdbi1_0.8.4-6_amd64.deb) ...
Seleccionando el paquete librrd4 previamente no seleccionado.
Desempaquetando librrd4 (de .../librrd4_1.4.7-2_amd64.deb) ...
Seleccionando el paquete librrds-perl previamente no seleccionado.
Desempaquetando librrds-perl (de .../librrds-perl_1.4.7-2_amd64.deb) ...
Seleccionando el paquete mailgraph previamente no seleccionado.
Desempaquetando mailgraph (de .../mailgraph_1.14-11_all.deb) ...
Procesando disparadores para man-db ...
Configurando ttf-dejavu-core (2.33-3) ...
Configurando fontconfig-config (2.9.0-7.1) ...
Configurando libfontconfig1:amd64 (2.9.0-7.1) ...
Configurando libpixman-1-0:amd64 (0.26.0-4) ...
Configurando libpng12-0:amd64 (1.2.49-1) ...
Configurando libxcb-render0:amd64 (1.8.1-2) ...
Configurando libxcb-shm0:amd64 (1.8.1-2) ...
Configurando libxrender1:amd64 (1:0.9.7-1) ...
Configurando libcairo2:amd64 (1.12.2-3) ...
Configurando libdatrie1:amd64 (0.2.5-3) ...
Configurando libthai-data (0.1.18-2) ...
Configurando libthai0:amd64 (0.1.18-2) ...
Configurando libxft2:amd64 (2.3.1-1) ...
Configurando fontconfig (2.9.0-7.1) ...
Regenerating fonts cache... done.
Configurando libpango1.0-0:amd64 (1.30.0-1) ...
Configurando ttf-dejavu-extra (2.33-3) ...
Configurando ttf-dejavu (2.33-3) ...
Configurando libfile-tail-perl (0.99.3-5) ...
Configurando libdbi1 (0.8.4-6) ...
Configurando librrd4 (1.4.7-2) ...
Configurando librrds-perl (1.4.7-2) ...
Configurando mailgraph (1.14-11) ...
Creating config file /etc/default/mailgraph with new version
[ ok ] Starting : mailgraph.
Tras instalarlo simplemente vais a un navegado, poneis la dirección de vuestro servidor añadiendo "/cgi-bin/mailgraph.cgi" (http://xxx.xxx.xxx.xxx/cgi-bin/mailgraph.cgi) y disfrutáis de la información pasados unos minutos.

Os dejo una captura de ejemplo sobre lo que podéis ver.



viernes, 28 de junio de 2013

dbmail con PostgreSQL Debian (Wheezy)


Este manual sigue en la linea del escrito hace ya algunos años sobre dbmail y postgresql. Tras 5 años de escribir el primer manual de dbmail bajo postgresql, toca actulizarse. Así pues describo como instalar dbmail 3.0.2 y postfix 2.9.6-2, utilizando como base de datos postgresql 9.2.4 y todo corriendo sobre Debian 7.

Os dejo por aquí el enlace al manual anterior, por si alguien necesita tocar algún servidor antiguo y no sabe por donde comenzar. Encontrará algunas pautas de administración.

http://josemanuelruizbaena.blogspot.com.es/2008/09/dbmail-con-postgresql-debian-etch.html

Para el funcionamiento de dbmail es imprescindible tener instalado un sistema gestor de base de datos. He encontrado en internet muchos manuales que enseñan como montar dbmail bajo MySQL. Pero después de mi experiencia y tras probar las bondades de PostgreSQL, sin duda este manual de dbmail será para montarlo utilizando como motor de base de datos PostgreSQL.

Puesto que la instalación de PostgreSQL puede no ser trivial para algunos usuarios os dejo por aquí un manual para instalar PostgreSQL en Debian 7 desde código fuente. Si ya es robusto cuando se instala desde los repositorios de Debian, imaginad cuanto no lo será compilando tu código fuente directamente.

http://josemanuelruizbaena.blogspot.com/2013/06/compilar-postgresql-en-debian.html

Requisitos de dbmail:


Hay algunos requisitos que necesitas tener en el sistema para poder instalar dbmail desde la compilación de su código fuente. Si has seguido el manual de instalación de postgresql desde su código fuente o alguna vez has compilado no necesitarás in
aptitude install build-essential
aptitude install gcc libglib2.0-dev libmhash-dev libevent-dev libssl-dev flex automake

Es necesario también instalar libzdb y libgmime-2.4-dev, pero no están disponibles por ahora (27 de junio de 2013) en el repositorio de Debian 7. Así pues lo instalamos directamente desde el código fuente.
wget http://www.tildeslash.com/libzdb/dist/libzdb-2.10.2.tar.gz
tar xvzf libzdb-2.10.2.tar.gz
cd libzdb-2.10.2
 ./configure --with-postgresql=/opt/postgresql-9.2.4/bin/pg_config

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether gcc needs -traditional... no
checking for re2c... re2c_not_found
checking for flex... /usr/bin/flex
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for pthread_create in -lpthread... yes
checking for library containing crypt... -lcrypt
checking for mysql... yes
checking for mysql_config... no
configure: WARNING: mysql_config is required to build libzdb with mysql
checking for postgresql... yes
checking for /opt/postgresql-9.2.4/bin/pg_config... yes
checking libpq-fe.h usability... yes
checking libpq-fe.h presence... yes
checking for libpq-fe.h... yes
checking for SQLite3... yes
checking for sqlite3_open in -lsqlite3... no
checking for oracle... checking if Oracle support is enabled... no
checking for ANSI C header files... (cached) yes
checking for an ANSI C-conforming const... yes
checking whether byte ordering is bigendian... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating test/Makefile
config.status: creating zdb.pc
config.status: creating src/xconfig.h
config.status: executing libtool_patch commands
config.status: executing depfiles commands
config.status: executing libtool commands
+------------------------------------------------------------+
| License:                                                   |
| This is Open Source Software and use is subject to the GNU |
| GENERAL PUBLIC LICENSE, available in this distribution in  |
| the file COPYING.                                          |
|                                                            |
| By continuing this installation process, you are bound by  |
| the terms of this license agreement. If you do not agree   |
| with the terms of this license, you must abort the         |
| installation process at this point.                        |
+------------------------------------------------------------+
| Libzdb is configured as follows:                           |
|                                                            |
|   Optimized:                                    DISABLED   |
|   Protected:                                    DISABLED   |
|   Profiling:                                    DISABLED   |
|   Zild:                                         DISABLED   |
|   Sqlite3 unlock notification API:              DISABLED   |
|   Openssl:                                      DISABLED   |
|   Unit Tests Build:                             ENABLED    |
|------------------------------------------------------------|
|   SQLite3:                                      DISABLED   |
|   MySQL:                                        DISABLED   |
|   PostgreSQL:                                   ENABLED    |
|   Oracle:                                       DISABLED   |
+------------------------------------------------------------+


make
make install
Para instalar libgmime-2.4-dev lo descargamos de http://ftp.acc.umu.se/pub/GNOME/sources/gmime/2.4/.
wget http://ftp.acc.umu.se/pub/GNOME/sources/gmime/2.4/gmime-2.4.33.tar.xz
tar -Jxf gmime-2.4.33.tar.xz
cd gmime-2.4.33
./configure
make
make install

Instalar postfix

Ya hemos instalado todas las librerías y requisitos para dbmail, pero necesitamos un gestor SMTP que se comunique a la perfección con nuestro dbmail y orqueste todo el sistema.

Yo prefiero Postfix y por ahora instalaremos el del sistema, que va perfectamente. No sé si el día de mañana haré un nuevo manual con postfix compilado.

Cuando intentamos instalar Postfix nos advierte el sistema que ya existe un SMTP funcionando en el sistema, se trata de exim4. La solución que nos propone apt es la correcta, desinstalará exim4 (y los subpaquetes instalados) e instalará postfix.
aptitude install postfix
Se instalarán los siguiente paquetes NUEVOS:    
  postfix{b} ssl-cert{a}
0 paquetes actualizados, 2 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 1.566 kB de ficheros. Después de desempaquetar se usarán 3.380 kB.
No se satisfacen las dependencias de los siguientes paquetes:
 exim4-config : Entra en conflicto: postfix pero se va a instalar 2.9.6-2.
 postfix : Entra en conflicto: mail-transport-agent que es un paquete virtual.
 exim4-daemon-light : Entra en conflicto: mail-transport-agent que es un paquete virtual.
Las acciones siguientes resolverán estas dependencias

     Eliminar los paquetes siguientes:
1)     exim4                         
2)     exim4-base                    
3)     exim4-config                  
4)     exim4-daemon-light            

¿Acepta esta solución? [Y/n/q/?]
Al comenzar la instalación de Postfix veremos esta pantalla en el terminal, nos pregunta sobre el modo de funcionamiento de nuestra instancia de postfix. Seleccionamos "Sitio de Internet: El correo se envía y recibe directamente utilizando SMTP.".
También nos preguntará sobre el dominio (o subdominio, como es el caso de la captura) que queremos controlar con nuestro postfix.

Tras estos dos pasos terminará la instalación y configuración básica de postfix, más adelante continuaremos con configuración de postfix.

Crear base de datos (almacén de correos) 

Tras instalar todos los requisitos, creamos el usuarios dentro de PostgreSQL para que dbmail pueda almacenar los datos para la gestión del sistema de correos.
su postgres
echo "create user dbmail with password 'xxxx' " | /opt/postgresql-9.2.4/bin/psql template1
echo "create database dbmail owner dbmail encoding='UNICODE'" | /opt/postgresql-9.2.4/bin/psql template1

Instalar dbmail

Compilar dbmail


Ahora ya estamos preparados para compilar dbmail. Lo primero es descargar el paquete con el código fuente directamente de la web del proyecto http://www.dbmail.org/, en la sección download. Como comentamos al principio en este manual instalaremos la versión 3.0.2, es la última publicada (marzo de 2012) tiene más de un año, pero funciona perfectamente.

Descargamos, descomprimimos, configuramos, compilamos e instalamos con los siguientes comandos:
wget http://www.dbmail.org/download/3.0/dbmail-3.0.2.tar.gz
tar xvzf dbmail-3.0.2.tar.gz
cd dbmail-3.0.2
./configure --with-zdb=/usr/local
make
make install

Configurar dbmail


Tras instalar dbmail, lo primero que tenemos que hacer es crear la estructura de la base de datos con el fichero de inicialización. El fichero con la estructura de la base de datos se encuentra en el paquete que hemos descargado (dbmail-3.0.2.tar.gz) en "sql/postgresql/create_tables.pgsql".

Para cargar la estructura de la base de datos, necesitamos tener creada la base de datos. Esto lo hicimos en un paso anterior.
cat sql/postgresql/create_tables.pgsql | /opt/postgresql-9.2.4/bin/psql -U dbmail dbmail
Ahora procedemos a copiar el fichero de configuración en el directorio de configuración de nuestro sistema y configurar algunas parametrizaciones.
cp dbmail.conf /etc/
nano /etc/dbmail.conf
Parametrizamos la conexión a la base de datos.
driver               = postgresql
authdriver           = sql
host                 = localhost
sqlport              = 5432
pass                 = xxx
db                   = dbmail
Usuario del sistema que lanzará los procesos dbmail. Puede ser dbmail o el que creeis para este fin, si queréis crear el usuario dbmail basta con ejecutar "adduser dbmail", esto os pedirá las claves de acceso así como información descriptiva del usuario.
effective_user        = dbmail
effective_group       = dbmail
Definimos los ficheros de log, tanto para errores generales como para errores. Será necesario crear el directorio "/var/log/dbmail". Por defecto intentará crear los ficheros en "/var/log" directamente, pero a mi personalmente me gusta más tener un directorio para los ficheros de log de cada aplicación. Así será más rápido localizar los ficheros cuando sean necesarios.
logfile               = /var/log/dbmail/dbmail.log
errorlog              = /var/log/dbmail/dbmail.err

Hacemos igual para el fichero donde se guarda el pid del proceso en ejecución.
# cambiamos el directorio donde están los pidfile
pid_directory         = /var/run/dbmail
Es muy importante no olvidar asignar permisos a los directorios "/var/run/dbmail" y "/var/log/dbmail/" para el usuario "dbmail" para que el proceso pueda escribir en ellos. Puede asignar permisos ejecutando "chown -R dbmail:dbmail /var/log/dbmail/" y "chown -R dbmail:dbmail /var/run/dbmail".

Encontrarás también instrucciones para definir los certificados necesarios para tls. Si vas a utilizar tls será necesario definirlos.
tls_cafile            = /etc/ssl/certs/ssl-cert-*.pem
tls_cert              = /etc/ssl/certs/ssl-cert-*.pem
tls_key               = /etc/ssl/private/ssl-cert-*.key
Para realizar envíos de correos desde nuestro SMTP por parte de los clientes de nuestro servidor de correos, me gusta configurar estas opciónes: pop_before_smtp y imap_before_smtp, esto hace que el SMTP no requiera autenticación, simplemente verifica si el usuario ha realizado una lectura de una cuenta POP o IMAP, y si la ha realizado en los últimos 5 minutos, permitirá que realice el envío SMTP.

Para establecer esta configuración es necesario definir las siguientes instrucciones.
[POP]

pop_before_smtp       = yes

[IMAP]

imap_before_smtp      = yes

Configurar postfix

En un apartado anterior se ha descrito como instalar postfix.

/etc/postfix/main.cf

transport_maps = pgsql:/etc/postfix/sql-transport.cf
mydestination = localhost, $transport_maps


mynetworks = 127.0.0.0/8, pgsql:/etc/postfix/sql-pop-before-smtp.cf



receive_override_options = no_address_mappings

local_recipient_maps =

smtpd_recipient_restrictions =
    permit_mynetworks,
    reject_unauth_destination,
    permit

Otro enlaces de interés para dbmail

Clamav
Listas grises
MailGraph




viernes, 12 de septiembre de 2008

lunes, 19 de mayo de 2008

fatal: pgsql:/etc/postfix/sql-pop-before-smtp.cf(0,lock|fold_fix): table lookup problem

Después de seguir el manual de instalación de dbmail con postgres para Ubuntu, no me funcionó correctamente. Después de mucho buscar soluciones a este problema.
May 19 12:41:43 druida postfix/smtpd[3826]: connect from fg-out-1718.google.com[72.14.220.156]
May 19 12:41:43 druida postfix/smtpd[3826]: warning: pgsql query failed: fatal error from host localhost: ERROR: la sintaxis de entrada no es v?lida para tipo inet: ?fg-out-1718.google.com??
May 19 12:41:43 druida postfix/smtpd[3826]: fatal: pgsql:/etc/postfix/sql-pop-before-smtp.cf(0,lock|fold_fix): table lookup problem
May 19 12:41:44 druida postfix/master[3787]: warning: process /usr/lib/postfix/smtpd pid 3826 exit status 1
May 19 12:41:44 druida postfix/master[3787]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Me dí cuenta de que en el fichero /var/log/postgresql/postgresql-8.1-main.log tenía el verdadero problema:
2008-05-19 12:41:43 CEST ERROR: la sintaxis de entrada no es válida para tipo inet: «fg-out-1718.google.com»
Al parecer la estructura de la tabla dbmail_pbsp no es totalmente correcta, es posible que es esta nueva versión de dbmail no esté bien definida. Para solucionarlo hay que cambiar el tipo de datos del campo ipnumber, con este script podrás cambiarlo sin perder los datos que ya tienes.
alter table dbmail_pbsp ADD after_ipnumber text;
update dbmail_pbsp set after_ipnumber = cast(ipnumber as text);
alter table dbmail_pbsp drop ipnumber;
alter table dbmail_pbsp rename after_ipnumber to ipnumber;
alter table dbmail_pbsp alter ipnumber set default('0.0.0.0');
commit;
Después de esto el servidor me funciona perfectamente.

DynDns OVH Sincronización de IP pública dinámica

  Si tienes un servidor en casa o detrás de una conexión con IP dinámica, sabes que tarde o temprano tu dirección IP pública cambia y tu dom...