Configuración de Servidor · 3 min read · Sep 29, 2025

El SpamSnake Perfecto - Ubuntu Jaunty Jackalope - Página 2

10. Apache2

apt-get install apache2 apache2-suexec apache2-doc apache2-mpm-prefork apache2-utils libexpat1

A continuación, instalamos PHP5 como un módulo de Apache:

aptitude install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

A continuación, editamos /etc/apache2/mods-available/dir.conf y cambiamos la línea DirectoryIndex:



          #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
          DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Ahora tenemos que habilitar algunos módulos de Apache (rewrite, suexec, include)

a2enmod rewrite   
a2enmod suexec   
a2enmod include

Reinicia Apache:

/etc/init.d/apache2 restart

11. Postfix y MySQL

Instala los paquetes:

apt-get install postfix postfix-mysql postfix-doc mysql-server mysql-client procmail

MySQL:

Se te pedirá que proporciones una contraseña para el usuario root de MySQL - esta contraseña es válida para el usuario root@localhost así como para [email protected], por lo que no tenemos que especificar una contraseña de root de MySQL manualmente más adelante:

Nueva contraseña para el usuario “root” de MySQL: <– tucontraseñaderootsql Repite la contraseña para el usuario “root” de MySQL: <– tucontraseñaderootsql

Postfix:

Se te harán dos preguntas. Responde de la siguiente manera:

Tipo general de configuración de correo: <– Internet Site
Nombre del sistema de correo: <– server1.example.com

Queremos que MySQL escuche en todas las interfaces, no solo en localhost, por lo tanto editamos /etc/mysql/my.cnf y comentamos la línea bind-address = 127.0.0.1:

[...]
# En lugar de skip-networking, el valor predeterminado ahora es escuchar solo en
# localhost, lo cual es más compatible y no menos seguro.
#bind-address           = 127.0.0.1
[...]

Luego reiniciamos MySQL:

/etc/init.d/mysql restart

Ahora verifica que la red esté habilitada. Ejecuta

netstat -tap | grep mysql

La salida debería verse así:

tcp        0      0  *:mysql                 *:*                     LISTEN      4318/mysqld

Detén Postfix:

postfix stop

Queremos editar Postfix con lo siguiente:

Edita master.cf:

Necesitamos agregar dos elementos debajo del tipo de servicio pickup. El servicio pickup “recoge” el correo local (local significa “en esta máquina”) y lo entrega. Esta es una forma de eludir el filtrado de contenido para el correo generado por esta máquina.

Debería verse así cuando termines:

pickup    fifo  n       -       -       60      1       pickup
         -o content_filter=
         -o receive_override_options=no_header_body_checks

Edita main.cf:

postconf -e "alias_maps = hash:/etc/aliases"  
newaliases  
postconf -e "myorigin = example.com"  
postconf -e "myhostname = server1.example.com"  
postconf -e "mynetworks = 127.0.0.0/8, 192.168.0.0/24"  
postconf -e "message_size_limit = 10485760"  
postconf -e "local_transport = error:No local mail delivery"  
postconf -e "mydestination = "  
postconf -e "local_recipient_maps = "  
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"

Crea /etc/postfix/virtual y agrega lo siguiente:

postmaster [email protected]
abuse [email protected]
root [email protected]

Continúa:

postmap /etc/postfix/virtual  
postconf -e "relay_recipient_maps = hash:/etc/postfix/relay_recipients"

Crea /etc/postfix/relay_recipients y agrega lo siguiente:

@example.com OK
@example2.com OK

Continúa:

postmap /etc/postfix/relay_recipients  
postconf -e "transport_maps = hash:/etc/postfix/transport"

Crea /etc/postfix/transport y agrega lo siguiente:

example.com smtp:[192.168.0.x]
example2.com smtp:[192.168.0.x]

Continúa:

postmap /etc/postfix/transport  
postconf -e "relay_domains = hash:/etc/postfix/relay_domains"

Crea /etc/postfix/relay_domains y agrega lo siguiente:

example.com OK
example2.com OK

Continúa:

postmap /etc/postfix/relay_domains  
postconf -e "smtpd_helo_required = yes"  
postconf -e "smtpd_sender_restrictions = reject_non_fqdn_sender, reject_unknown_sender_domain, permit"  
postconf -e "smtpd_recipient_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, permit_mynetworks, reject_unauth_destination, reject_unauth_pipelining, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, permit"  
postconf -e "smtpd_data_restrictions = reject_unauth_pipelining"

Echemos un último vistazo a la configuración de Postfix:

less /etc/postfix/main.cf

Verifica el contenido del archivo en busca de errores y repara si es necesario. Inicia Postfix:

postfix start

Verifica que Postfix responda:

telnet 127.0.0.1 25

Deberías ver:

220 [tuFQDNaquí] ESMTP Postfix (Ubuntu)

12. Instalación de MailScanner Razor Pyzor DCC Clamav

apt-get install mailscanner razor pyzor clamav-daemon

Comencemos con MailScanner. El MailScanner que se acaba de instalar desde los repositorios es una versión muy antigua, así que ahora lo eliminaremos e instalaremos el paquete MailScanner desde la fuente. Lo anterior se hace solo para instalar las dependencias.

apt-get remove mailscanner

Descarga http://www.mailscanner.info/files/4/tar/MailScanner-install-4.75.11-1.tar.gz en /usr/src/mailscanner/ y ejecuta:

tar xvfz MailScanner-install-4.75.11-1.tar.gz  
cd MailScanner-install-4.75.11  
./install.sh

Desactiva el MailScanner predeterminado:

mv /etc/MailScanner /etc/MailScanner.dist
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.