Configuración de Servidor · 5 min read · Jan 06, 2026

Configuración de Alojamiento Virtual con Virtualmin en CentOS 5.1 - Página 5

Configuración de Clamav Milter

  • Edita /etc/sysconfig/clamav-milter:
CLAMAV_FLAGS="
        --config-file=/etc/clamd.conf
        --force-scan
        --local
        --max-children=5
        --sendmail-cf=
        --outgoing
        --quiet
"
SOCKET_ADDRESS="local:/var/clamav/clmilter.socket"
  • Parchea el archivo init para corregir los permisos del socket:
wget http://www.topdog-software.com/files/clamav-milter.patch  
patch /etc/init.d/clamav-milter < clamav-milter.patch

Configuración de MySQL

Configuración Básica

  • Escuchar solo en localhost, edita /etc/my.cnf en la sección mysqld:
bind-address = 127.0.0.1

Establecer Contraseña de Root

  • Establece la contraseña de root:
service mysqld start  
mysqladmin -u root password NEWPASSWORD

Configuración de SpamAssassin

Configuración Básica

required_hits 5
report_safe 0
rewrite_header Subject [SPAM]

Crear Base de Datos MySQL

  • Crea la base de datos:
mysqladmin -p create bayes
  • Población de la base de datos:
mysql -p bayes < /usr/share/doc/spamassassin-$(rpm --qf %{VERSION} -q spamassassin)/sql/bayes_mysql.sql
  • Crea el usuario:
mysql -p  
mysql> GRANT ALL ON bayes.* TO bayes@localhost IDENTIFIED BY 'password';

Configurar para Usar DB

  • Edita el archivo /etc/mail/spamassassin/local.cf y añade:
bayes_store_module  Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn       DBI:mysql:bayes:localhost
bayes_sql_override_username bayes
bayes_sql_username  bayes
bayes_sql_password  password

Configurar FuzzyOCR

Almacenaremos los hashes de las imágenes en una base de datos mysql para mejorar el rendimiento de modo que las imágenes que ya hemos escaneado no se escaneen nuevamente, ya que el OCR es una actividad que consume muchos recursos.

Crear Base de Datos MySQL

  • El script sql crea la base de datos y las tablas y añade un usuario fuzzyocr con la contraseña fuzzyocr:
mysql -p < /usr/local/src/devel/FuzzyOcr.mysql
  • Cambia la contraseña:
mysqladmin -u fuzzyocr -p fuzzyocr password

Configuración Básica

  • Edita /etc/mail/spamassassin/FuzzyOCR.cf y establece las opciones básicas:
focr_path_bin /usr/bin:/usr/local/bin
focr_minimal_scanset 1
focr_autosort_scanset 1
focr_enable_image_hashing 3
focr_logfile /tmp/FuzzyOcr.log

Hacer que FuzzyOCR Use la Base de Datos

  • Edita el archivo /etc/mail/spamassassin/FuzzyOcr.cf y añade:
focr_mysql_db FuzzyOcr
focr_mysql_hash Hash
focr_mysql_safe Safe
focr_mysql_user fuzzyocr
focr_mysql_pass password
focr_mysql_host localhost
focr_mysql_port 3306
focr_mysql_socket /var/lib/mysql/mysql.sock

Actualizaciones de Reglas SARE

  • Importa la clave GPG utilizada para firmar las reglas:
mkdir /etc/mail/spamassassin/sa-update-keys/  
chmod 700 /etc/mail/spamassassin/sa-update-keys/  
wget http://daryl.dostech.ca/sa-update/sare/GPG.KEY  
sa-update --import GPG.KEY
  • Crea el archivo de canales /etc/mail/spamassassin/sare-sa-update-channels.txt:
updates.spamassassin.org
72_sare_redirect_post3.0.0.cf.sare.sa-update.dostech.net
70_sare_evilnum0.cf.sare.sa-update.dostech.net
70_sare_bayes_poison_nxm.cf.sare.sa-update.dostech.net
70_sare_html0.cf.sare.sa-update.dostech.net
70_sare_html_eng.cf.sare.sa-update.dostech.net
70_sare_header0.cf.sare.sa-update.dostech.net
70_sare_header_eng.cf.sare.sa-update.dostech.net
70_sare_specific.cf.sare.sa-update.dostech.net
70_sare_adult.cf.sare.sa-update.dostech.net
72_sare_bml_post25x.cf.sare.sa-update.dostech.net
99_sare_fraud_post25x.cf.sare.sa-update.dostech.net
70_sare_spoof.cf.sare.sa-update.dostech.net
70_sare_random.cf.sare.sa-update.dostech.net
70_sare_oem.cf.sare.sa-update.dostech.net
70_sare_genlsubj0.cf.sare.sa-update.dostech.net
70_sare_genlsubj_eng.cf.sare.sa-update.dostech.net
70_sare_unsub.cf.sare.sa-update.dostech.net
70_sare_uri0.cf.sare.sa-update.dostech.net
70_sare_obfu0.cf.sare.sa-update.dostech.net
70_sare_stocks.cf.sare.sa-update.dostech.net
  • Crea un script de actualización /usr/local/bin/update-sa:
#!/bin/bash
#
#
sa-update -D --channelfile /etc/mail/spamassassin/sare-sa-update-channels.txt --gpgkey 856AA88A &>/var/log/sa-updates.log
  • Hazlo ejecutable y añádelo a cron:
chmod +x /usr/local/bin/update-sa  
ln -s /usr/local/bin/update-sa /etc/cron.daily/  
ln -s /usr/local/bin/update-sa /etc/cron.hourly/

Configuración de Spamass-milter

Configuración Básica

  • Edita /etc/sysconfig/spamass-milter:
SOCKET=/var/run/spamass.sock
EXTRA_FLAGS="-m -r 8"

Parche

Necesitamos parchear el archivo init para corregir los permisos del socket creado para que postfix pueda usar el socket.

wget http://www.topdog-software.com/files/spamass-milter.patch  
patch /etc/rc.d/init.d/spamass-milter < spamass-milter.patch

Configuración de Apache

Deshabilitar Módulos

Deshabilitaremos algunos módulos que no estamos usando, liberando así memoria y mejorando la seguridad.

  • Edita /etc/httpd/conf/httpd.conf y comenta los módulos como se muestra a continuación.
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule status_module modules/mod_status.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
  • Edita /etc/httpd/conf.d/proxy_ajp.conf y comenta como se muestra a continuación:
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Escuchar en una IP para HTTPS

Apache debe configurarse para escuchar en una dirección para el puerto 443, ya que webmin usará el mismo puerto. Edita /etc/httpd/conf.d/ssl:

Listen 192,168.1.6:443

Habilitar Compresión Gzip

Configuramos la compresión gzip a través del módulo mod_deflate para mejorar el rendimiento del servidor web y reducir el uso de ancho de banda comprimiendo las respuestas al cliente.

SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary

Configura el registro para el módulo deflate:

DeflateFilterNote deflate_ratio
LogFormat "%v %h %l %u %t \"%r\" %>s %b mod_deflate: %{deflate_ratio}n pct." vhost_with_deflate_info
CustomLog logs/deflate_access_log vhost_with_deflate_info

Aumentar la Memoria Máxima de PHP

Edita el archivo /etc/php.ini y establece lo siguiente:

memory_limit = 64M

Habilitar Alojamiento Virtual

NameVirtualHost *:80

Crear Alojamiento Virtual Predeterminado

Este debe ser el primer alojamiento virtual, será el predeterminado en el servidor, equivalente al servidor sin alojamiento virtual.


        Servername localhost.localdomain
        Serveradmin [email protected]

Configuración de Roundcube Webmail

Crear Base de Datos

  • Crea la base de datos y añade el usuario roundcube.
mysqladmin -p create roundcube  
mysql -p  
mysql> GRANT ALL ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'password';
  • Inicializa la base de datos:
mysql -u roundcube -p roundcube < /usr/share/doc/roundcube-0.1/SQL/mysql5.initial.sql

Configuración Básica

  • Configura el DSN de la base de datos en /var/www/roundcube/config/db.inc.php:
$rcmail_config['db_dsnw'] = 'mysql://roundcube:password@localhost/roundcube';
  • Configura roundcube en /var/www/roundcube/config/main.inc.php:
$rcmail_config['default_host'] = 'localhost';
$rcmail_config['default_port'] = 143;
$rcmail_config['virtuser_file'] = '/etc/postfix/virtual';
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_port'] = 25;
$rcmail_config['smtp_helo_host'] = 'localhost';

Configurar Alojamiento Virtual Catch All

Como proporcionaremos webmail para todos los dominios que se creen en el sistema, necesitamos configurar un alojamiento virtual catch all que pueda mostrar roundcube cada vez que un usuario acceda a http://webmail.domainname. Edita /etc/httpd/conf/httpd.conf y añade:


ServerName webmail.example.com
ServerAlias webmail.*
DocumentRoot /var/www/roundcube

Options -Indexes IncludesNOEXEC FollowSymLinks
allow from all

Configuración del Firewall

Introducción

Este es un firewall básico, puede que no se ajuste a tus necesidades, el firewall es un arte, así que recomiendo leer sobre ello para mejorar este básico.

Configuración Básica

Añade estas reglas en tu archivo de configuración /etc/sysconfig/iptables:

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
*filter
:FORWARD DROP [0:0]
:INPUT DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m multiport -j ACCEPT --dports 80,443,25,110,143,53
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp -m limit --icmp-type 8 --limit 5/min -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 127.0.0.1 -j ACCEPT
-A OUTPUT -s 192.168.1.5 -j ACCEPT
-A OUTPUT -s 192.168.1.6 -j ACCEPT
COMMIT

Activar Configuración

service iptables restart
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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