16 abr 2011

Instalación de ISPConfig - Software Control Panel Alojamiento WEB (Open Source) en Linux Debian Squeeze 6.0

ISPConfig es un software libre de panel control hosting web para Linux. Está bajo una licencia BSD, simplifica los detalles complicados de configurar DNS, varios sitios web único nombre de dominio en un cuadro de servidor físico, y las cuentas de correo electrónico para múltiples usuarios en los sitios web.

ISPConfig acelera y simplifica la administración de servidores y tareas comunes de funcionamiento, como la creación de muchos nuevos usuarios cuentas de correo electrónico o de forma rápida la creación de muchas de las raíces (las carpetas de inicio) para nuevos sitios web. Codificación de estos cambios a mano en un símbolo del sistema tomaría más tiempo y esfuerzo. Sería repetitivo (aburrido), y propenso a errores. Por otro lado, nadie lo haría. La mayoría de las instalaciones a gran escala el uso las herramientas de automatización. La adaptación de estas a la especial configuración y diseño de sistema de archivos de ISPConfig puede requerir mucho trabajo. ISPConfig cuenta con una administración muy intuitiva y dinámica que esta a su vez acelera la gestión de creación o administración de sus servicios en el instalado.


Asumamos que previamente debes de tener instalado Liunx Debian Squeeze 6.0 y su servicio de SSH, para realizar toda la instalación de forma remota.
Nota: Esta instalación se puede realizar delante de la Pc.

Configuración de la red
Tendremos que tener en cuenta que la instalación de este servidor de ISPConfig, es con una dirección IP estática.
Editar /etc /network /interfaces y ajustarlo a nuestras necesidades (en este ejemplo de configuración voy a utilizar la dirección IP 172.16.1.2):

nano /etc/network/interfaces

iface lo inet loopback

# La interfaz de red primaria auto eth0
iface eth0 inet static
address 172.16.1.2
netmask 255.255.255.0
network 172.16.1.0
broadcast 172.16.1.255

A continuación, reinicie su red de esta forma:

invoke-rc.d networking restart

Debemos cambiar el nombre del hosts o server con FQDN (Fully qualified domain name), Nombre de dominio valido, ya que instalaremos un servidor de correo y este debe ser válido en los MX externos y así no ocurra problemas con la entrega de correos.

A continuación, edite /etc/hosts. Debe verce así:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
172.16.1.2 server1.alojamiento.org server1

Ahora ejecute
echo server1.alojamiento.org > /etc/hostname
Después,
/etc/init.d/hostname.sh start

Y luego ejecutamos
hostname
hostname -f

Actualización de la instalación de Linux Debian Squeeze 6.0
Edite /etc/apt/sources.list

Edite /etc/apt/sources.list.
Nota: Comente o quite la instalación de CD de este archivo y asegúrese de que esté el security.
nano /etc/apt/sources.list

deb http://ftp.debian.org/debian squeeze main contrib non-free
deb http://ftp.debian.org/debian-backports squeeze-backports/ main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

A continuación, ejecute aptitude update y luego aptitude safe-upgrade
para actualizar la base de datos de paquetes apt y aptitud a la actualización de seguridad
para instalar las actualizaciones más recientes (si los hay). Si ves que un nuevo núcleo que se instale como parte de las actualizaciones, debe reiniciar el sistema después con el comando:

reboot

Cambiar el shell por defecto
Dash, al igual que ash, ejecuta los scripts más rápido que bash y depende de menos bibliotecas. Pretende ser más confiable en caso de problemas de actualización o fallos de disco. dash es ideal para ser usado como:

intérprete de comandos en discos de instalación;
intérprete de comandos del usuario root;
reemplazo de /bin/sh;
un entorno de pruebas para shell scripts, para verificar sucompatibilidad con el estándar POSIX.

/bin/sh es un enlace simbólico a /bin/dash, Sin embargo es necesita /bin/bash, no /bin/dash. Por lo tanto, haga lo siguiente:

dpkg-reconfigure dash

Utilizar dash como el shell por defecto del sistema (/bin/sh)? <- No

Instalamos el cliente de tiempo y Sincronizamos el reloj del sistema
Nota: Es muy importante tener el reloj del sistema sincronizado, para que las tareas se ejecuten en tiempo, saber la hora de evento específico guardado en los Logs del sistema, pero si quieres no lo sincronizamos.

Es una buena idea sincronizar el reloj del sistema con un servidor NTP(Network Time Protocol) del servidor a través de Internet. Basta con ejecutar
aptitude install ntp ntpdate

Y la hora del sistema siempre estará en sincronizada.

Instalación de Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils

Postfix: Agente de transporte de correo electrónico de alto rendimiento de software libre / código abierto.

Courier:
El agente de transferencia de correo(MTA) integrado al servidor de SMTP basado en protocolos abiertos como, ESMTP, IMAP, POP3, LDAP, SSL y HTTP.

Saslauthd:
SASL de Cyrus, programas de administración de la base de datos de usuarios de SASL
MySQL: Servidor de la base de datos MySQL.

Rkhunter:
Es una herramienta de Unix que detecta los rootkits, los backdoors y los exploit locales mediante la comparación de los hashes MD5 de ficheros importantes con su firma correcta.

Binutils:
Es una colección de herramientas de programación para la manipulación de código de objeto en varios formatos de archivos objeto.

Podemos instalar Postfix, Courier, saslauthd, MySQL, phpMyAdmin, rkhunter, y binutils con un solo comando:
Nota: Unas de las grandes ventajas de linux es instalar todo los programas de una sola vez.

aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils sudo

Se le preguntara lo siguientes:

Tipo General de configuración de correo: <-- Sitio de Internet
Sistema de nombres de correo electrónico: <-- server1.alojamiento.org
Nueva contraseña para el MySQL usuario "root": <-- Su contraseña de root para MySQL
Repita la contraseña para el MySQL usuario "root": <-- Su contraseña de root para MySQL
Crear directorios para la administración basada en la web? <-- No
SSL requiere certificado <- Ok

Queremos MySQL para escuchar en todas las interfaces, no solo localhost, por lo que editar el archivo /etc/mysql/my.cnf y comentar la línea de bind-address = 127.0.0.1:

nano /etc/mysql/my.cnf
Debería de verse así
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[...]
Entonces reinicie MySQL con el comando:

invoke-rc.d mysql restart

Ahora compruebe que la red está habilitada. Ejecutando esto
netstat -tap | grep mysql
La salida debe ser similar a esto:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 10457/mysqld
root@server1:~#

Durante la instalación, los certificados de SSL para IMAP y POP3-SSL SSL se crean con el nombre de host localhost. Para cambiar esto con el nombre de host correcto (server1.alojamiento.org en este tutorial), eliminar los certificados...

cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

... y modificar los dos archivos siguientes, reemplace CN=localhost con CN=server1.alojamiento.org (también puede modificar los valores, si es necesario):

nano /etc/courier/imapd.cnf
[...]
CN=server1.alojamiento.org
[...]

/etc/courier/pop3d.cnf
[...]
CN=server1.alojamiento.org
[...]

A continuación, volver a crear los certificados...
mkimapdcert
mkpop3dcert

Y reinicie el Courier-IMAP-SSL y SSL-Courier-POP3:

invoke-rc.d courier-imap-ssl restart
invoke-rc.d courier-pop-ssl restart

Instalación de Amavisd-new, SpamAssassin, y Clamav

Amavisd-new:
Es una aplicación de alto rendimiento y una interfaz segura entre cliente de correo (MTA) y una o más fichas de contenido: escáneres de virus y / o Mail:: SpamAssassin módulo de Perl. Está escrito en Perl, asegurando una alta fiabilidad de portabilidad y facilidad de mantenimiento. Habla a través de la MTA (E) SMTP o protocolos LMTP, o mediante programas de ayuda.

SpamAssassin: Esta programa puede ser integrado con el servidor de correo para filtrar automáticamente todo el correo de un sitio. También puede ser administrado por los usuarios individuales en su propio buzón y se integra con varios programas de correo. SpamAssassin es altamente configurable, si se utiliza como filtro de todo el sistema.

Clamav: Software multi-plataforma de software antivirus tiene un juego de herramientas capaces de detectar muchos tipos de software malicioso, como virus. Uno de sus principales usos es en los servidores de correo como un antivirus en el servidor de correo electrónico. La aplicación fue desarrollada para Unix y tiene versiones de terceros disponible para AIX, BSD, HP-UX, Linux, Mac OS X, OpenVMS, OSF y Solaris. Desde la versión 0.96 de ClamAV construye y se ejecuta en Microsoft Windows. Tanto ClamAV y sus actualizaciones están disponibles de forma gratuita.


Para instalar amavisd-new, SpamAssassin, ClamAV y, corremos
aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

Instalación de Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, And mcrypt

Apache: El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.12 y la noción de sitio virtual.

PHP5: Es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente para la interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica
Phpmyadmin: Herramienta de administración web para MySQL.

FCGI: FastCGI es un módulo de lenguaje independiente, de extensión escalable, abierta del CGI que proporciona un alto rendimiento y persistencia, sin las limitaciones de la API de un servidor específico.
suExec: Proporciona a los usuarios de Apache la posibilidad de ejecutar programas CGI y SSI en los IDs de usuario diferente del ID de usuario de la web llamando al servidor web. Normalmente, cuando un programa CGI o SSI se ejecuta, se ejecuta como el mismo usuario que ejecuta el servidor web.

Pear: Es un entorno de desarrollo y sistema de distribución para componentes de código PHP.

MCrypt: Esta es una interfaz a la biblioteca mcrypt, que soporta una amplia variedad de algoritmos de bloque
como DES, TripleDES, Blowfish (por defecto), 3-WAY, SEGURO SK64, SK128 SEGURO, TWOFISH, TEA, RC2 y GOST en el CBC, OFB, CFB y modos BCE cifra. Adicionalmente, soporta RC6 e IDEA que se consideran "no libre". CFB / OFB son 8 bits por defecto.

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, y puede ser instalado de la siguiente manera:

aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby

Podrás ver las siguientes preguntas:
Reconfigurar automáticamente Servidor Web: <- apache2
Configurar la base de datos de phpmyadmin con dbconfig-común? <- No

A continuación, ejecute el comando siguiente para activar el de módulos de Apache suexec, rewrite, ssl, actions, e incluye (tambien dav, dav_fs, y auth_digest si desea utilizar WebDAV):

a2enmod suexec rewrite ssl actions include
a2enmod dav_fs dav auth_digest

Reinicie Apache después:
invoke-rc.d apache2 restart

Instalación PureFTPd y Quota
PureFTPd: Es un servidor FTP libre (licencia BSD). Puede ser compilado y ejecutado en una variedad de sistemas operativos tipo Unix computadora, incluyendo Linux, OpenBSD, NetBSD, FreeBSD, BSD, FreeBSD, Solaris, Tru64, Darwin, Irix y HP-UX

Quota: Cuota se implementa mediante el sistema BSD interfaz de llamada como el medio de comunicación con el nivel de usuario. Esto se basa en el sistema de cuotas de Melbourne, que utiliza tanto el usuario y los archivos de grupo de cuotas.


PureFTPd y quota se puede instalar con el siguiente comando:

aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool

Edite este archivo: /etc/default/pure-ftpd-common
nano /etc/default/pure-ftpd-common

y asegúrese de que el modo de inicio se establece en independiente y establecer VIRTUALCHROOT=true:
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Edite este archivo: /etc/inetd.conf
nano /etc/inetd.conf
Si hay una línea que comienza con ftp stream tcp, coméntelo (si no existe esta línea, no tenemos que modificar el fichero /etc/inetd.conf):
[...]
#:STANDARD: These are standard services.
#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]

Si tuviera que modificar el archivo /etc/inetd.conf, reinicie inetd:
invoke-rc.d openbsd-inetd restart

Ahora configuramos PureFTPd para permitir sesiones FTP y TLS. FTP es un protocolo muy inseguro, porque todas las contraseñas y todos los datos se transfieren en texto claro. Mediante el uso de TLS, toda la comunicación puede ser encriptada, lo que hace FTP mucho más seguro.

Si desea permitir que las sesiones FTP y TLS, ejecute:
echo 1 > /etc/pure-ftpd/conf/TLS

Para utilizar TLS, debemos crear un certificado SSL. Lo creamos en /etc/ssl/private/, por lo tanto creamos primero el directorio:

mkdir -p /etc/ssl/private/
A continuación, podemos generar el certificado SSL de la siguiente manera:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Nombre País (código de 2 letras)[AU]:<- Escriba su nombre y país (por ejemplo, "DE").
Nombre del Estado o provincia (nombre completo) [Algunos-Estado]:<- Escriba su Estado o Provincia.
Nombre de la localidad (por ejemplo, de la ciudad) []:<- Escriba su ciudad.
Nombre de la organización (por ejemplo, de la empresa) [Internet Widgits]:<- Escriba su nombre de la organización (el nombre de su empresa).
Unidad organizativa Nombre (por ejemplo, la sección) []:<- Escriba su nombre de su unidad de organización (por ejemplo, "Departamento de IT").
Nombre común (por ejemplo, el nombre de Suyo) []:<- Escriba el nombre de dominio completo del sistema (por ejemplo, "server1.alojamiento.org").
Dirección de correo electrónico []:<- Ingrese su dirección de correo electrónico.

Cambie los permisos del certificado SSL:
chmod 600 /etc/ssl/private/pure-ftpd.pem

A continuación, reinicie PureFTPd:
invoke-rc.d pure-ftpd-mysql restart

Edite este archivo: /etc/fstab. busque (ext3 errors=remount-ro) y adiciónele esto ((,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0) a la partición con el punto de montaje /))
Quedaria así.
[...]
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=92bceda2-5ae4-4e3a-8748-b14da48fb297 / ext3 errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1
# swap was on /dev/sda5 during installation
UUID=e24b3e9e-095c-4b49-af27-6363a4b7d094 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
[...]

Para habilitar las cuotas, ejecute estos comandos:
mount -o remount /
quotacheck -avugm
quotaon -avug

Instalación BIND DNS Server
Bind: Servidor de Nombres de Dominio de Internet

Bind puede ser instalado de la siguiente manera:

aptitude install bind9 dnsutils

Instalación Vlogger, Webalizer y AWstats

Vlogger: Analizador/rotador de archivos de registro de servidores web virtuales.

Webalizer: Programa para el análisis de registros de servidores web.

AWstats: Poderoso y completo servidor de Web Log Analyzer


Vlogger, Webalizer, y AWstats se pueden instalar de la siguiente manera:

aptitude install vlogger webalizer awstats

Abra el archivo /etc/cron.d/awstats después...
nano /etc/cron.d/awstats
... y comente los trabajos de cron en este archivo:
[...]
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generate static reports:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
[...]

Instalación Jailkit

Jailkit: Es una herramienta que nos permitirán modificar las cuentas que deseemos para limitar el acceso a diversos archivos o comandos específicos de una manera fácil e intuitiva.

Jailkit sólo es necesario si quieres hacer chroot a usuarios SSH. Se puede instalar de la siguiente manera (importante: Jailkit debe estar instalado antes de ISPConfig - no se puede instalar después!):

aptitude install build-essential autoconf automake1.9 libtool flex bison debhelper
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.13.tar.gz
tar xvfz jailkit-2.13.tar.gz
cd jailkit-2.13
./debian/rules binary
cd ..
dpkg -i jailkit_2.13-1_*.deb
rm -rf jailkit-2.13*

Instalación fail2ban
fail2ban: Es una aplicación escrita en Python para la prevención de intrusos en un sistema, que se basa en la penalización de conexión (bloquear conexión) a los orígenes que intentan accesos por fuerza bruta.

aptitude install fail2ban
Para hacer que fail2ban supervise: PureFTPd, SASL, y Courier, cree el archivo /etc/fail2ban/jail.local:
nano /etc/fail2ban/jail.local
... y adicionele esto.
[...]
[pureftpd]
enabled = true
port = ftp
filter = pureftpd
logpath = /var/log/syslog
maxretry = 3

[sasl]
enabled = true
port = smtp
filter = sasl
logpath = /var/log/mail.log
maxretry = 5

[courierpop3]
enabled = true
port = pop3
filter = courierpop3
logpath = /var/log/mail.log
maxretry = 5

[courierpop3s]
enabled = true
port = pop3s
filter = courierpop3s
logpath = /var/log/mail.log
maxretry = 5

[courierimap]
enabled = true
port = imap2
filter = courierimap
logpath = /var/log/mail.log
maxretry = 5

[courierimaps]
enabled = true
port = imaps
filter = courierimaps
logpath = /var/log/mail.log
maxretry = 5
[...]

A continuación, cree los siguientes cinco archivos de filtro:
nano /etc/fail2ban/filter.d/pureftpd.conf
[...]
[Definition]
failregex = .*pure-ftpd: \(.*@\) \[WARNING\] Authentication failed for user.*
ignoreregex =
[...]

nano /etc/fail2ban/filter.d/courierpop3.conf
[...]
# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P\S+)
# Values: TEXT
#
failregex = pop3d: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
[...]

nano /etc/fail2ban/filter.d/courierpop3s.conf
[...]
# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P\S+)
# Values: TEXT
#
failregex = pop3d-ssl: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
[...]

nano /etc/fail2ban/filter.d/courierimap.conf
[...]
# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P\S+)
# Values: TEXT
#
failregex = imapd: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
[...]

nano /etc/fail2ban/filter.d/courierimaps.conf
[...]
# Fail2Ban configuration file
#
# $Revision: 100 $
#

[Definition]

# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P\S+)
# Values: TEXT
#
failregex = imapd-ssl: LOGIN FAILED.*ip=\[.*:\]

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
[...]

Reiniciamos fail2ban después:
invoke-rc.d fail2ban restart

Instalación SquirrelMail
SquirrelMail: Es una aplicación webmail escrita en PHP. Puede ser instalado en la mayoría de servidores web siempre y cuando éste soporte PHP y el servidor web tenga acceso a un servidor IMAP y a otro SMTP.

Para instalar el cliente de correo web SquirrelMail, ejecute

aptitude install squirrelmail

A continuación, cree el siguiente enlace simbólico...
ln -s /usr/share/squirrelmail/ /var/www/webmail

.. y configure el SquirrelMail:
squirrelmail-configure
Debemos decirle al SquirrelMail que estamos utilizando Courier-IMAP/-POP3:

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >> <-- D


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct. This does not change everything. There are
only a few settings that this will change.

Please select your IMAP server:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington's IMAP server
gmail = IMAP access to Google mail (Gmail) accounts

quit = Do not change anything
Command >> <-- courier


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct. This does not change everything. There are
only a few settings that this will change.

Please select your IMAP server:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington's IMAP server
gmail = IMAP access to Google mail (Gmail) accounts

quit = Do not change anything
Command >> courier

imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true

Press any key to continue... <-- press a key


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >> <-- S


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >> <-- Q

Posteriormente se puede acceder a SquirrelMail en http://server1.alojamiento.org/webmail o http://172.16.1.2/webmail:

Instalando ISPConfig 3
Para instalar ISPConfig 3 de la última versión publicada, haga lo siguiente:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

El siguiente paso es ejecutar:
php -q install.php

Esto iniciará el programa de instalación de ISPConfig 3. El instalador configurara todos los servicios como Postfix, Dovecot, etc por usted.

root@server1:/tmp/ispconfig3_install/install# php -q install.php

ISPConfig 3

>> Inicializando configuración

Sistema operativo: Debian 6.0 (Squeeze/Sid) o compatible

Le serán realizadas unas series de preguntas para la configuración principal así que tenga cuidado.
Los valores por defecto están entre [corchetes] y puede ser aceptada con .
Pulse en "salir" (sin las comillas) para Parando el programa de instalación.

Seleccione el idioma (en,de) [en]: <-- ENTER

El modo de instalación (experto,estándar)[estándar]: <-- ENTER

Nombre completo (FQDN) del servidor, por ejemplo, server1.domain.tld [server1.alojamiento.org]: <-- ENTER

Nombre de host del servidor MySQL [localhost]: <-- ENTER

Nombre de usuario root de MySQL [root]: <-- ENTER

Contraseña de root para MySQL []: <-- su contraseña de root sql

Base de datos MySQL para crear [dbispconfig]: <-- ENTER

Conjunto de caracteres para MySQL[utf8]: <-- ENTER

Generación de una clave privada RSA de 2048 bits
.......+++
...........................................................................................................+++
Está escrita la nueva clave privada para 'smtpd.key'
-----

Ahora se le pedirá que introduzca la información que se incorporarán
en su solicitud de certificado.
Lo que usted está a punto de ENTER es lo que se llama un nombre completo o una DN.
Hay muy pocos campos, para que pueda dejar algunas en blanco
Para algunos campos no habrá un valor predeterminado,
Si introduce '.', el campo se dejará en blanco.
-----

Nombre País (código de 2 letras) [UA]: <- ENTER
Nombre del Estado o provincia (nombre completo) [Algunas Estado]: <- ENTER
Sitio Nombre (por ejemplo, de la ciudad) []: <- ENTER
Nombre de la organización (por ejemplo, de la empresa) [Internet Widgits Pty Ltd]: <- ENTER
Unidad organizativa Nombre (por ejemplo, la sección) []: <- ENTER
Nombre común (por ejemplo, Su nombre) []: <- ENTER
Dirección de correo electrónico []: <- ENTER
Configuración Jailkit
Configuración de SASL
Configuración de PAM
Configuración de Correo
Configurando Spamassassin
Configurar Amavisd
Configuración GetMail
Configuración PureFTPd
Configuración de BIND
Configuración de Apache
Configuración Vlogger
Configuración de las aplicaciones host virtual
Configuración del servidor de seguridad
La instalación de ISPConfig
ISPConfig Puerto [8080]: <- ENTER

Configuración DBserver
Instalando ISPConfig crontab
No crontab para el usuario root
No crontab para GetMail
Reinicio de los servicios...
Parando servidor de base de datos MySQL: mysqld.
Inicio del servidor de base de datos MySQL: mysqld.
Comprobación de datos corruptos, no limpiado, cerrando y actualizando las tablas ..
Parando Postfix Mail Transport Agent: postfix.
Inicio del Postfix Mail Transport Agent: postfix.
Parando SASL Demonio de autenticación: saslauthd.
Inicio del SASL Demonio de autenticación: saslauthd.
Parando amavisd: amavisd-new.
Inicio del amavisd: amavisd-new.
Parando el demonio ClamAV: clamd.
Inicio del demonio ClamAV: clamd.
Parando los servicios de autenticación de Correo: authdaemond.
Inicio del Correo servicios de autenticación: authdaemond.
Detención el Correo del servidor IMAP: imapd.
Inicio del Correo del servidor IMAP: imapd.
Detención el Correo IMAP-SSL de servidor: imapd-ssl.
Inicio del Correo IMAP-SSL de servidor: imapd-ssl.
Detención del servidor de Correo POP3: pop3d.
Inicio del servidor de Correo POP3: pop3d.
Detención de Correo POP3-SSL de servidor: pop3d-ssl.
Inicio del Correo POP3-SSL de servidor: pop3d-ssl.
Reinicio del servidor web: apache2... en espera...
Reiniciar el servidor ftp: Corriendo: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -H -b -A -O clf:/var/log/pure-ftpd/transfer.log -8 UTF-8 -Y 1 -D -u 1000 -E -B
Parando el servicio de nombres de dominio...: bind9 esperando pid 22267 para parar.
Iniciar el servicio de nombres de dominio...: bind9.
La Instalación se ha completado.
root@server1:/tmp/ispconfig3_install/install#

El programa de instalación configura automáticamente todos los servicios subyacentes, por lo que no es necesaria la configuración manual.

Posteriormente se puede acceder a ISPConfig 3 bajo http://server1.alojamiento.org:8080/ o http://172.16.1.2:8080/. Inicie sesión con el nombre de usuario admin y la contraseña de administrador (debe cambiar la contraseña por defecto después de su primer inicio de sesión):

El sistema está ahora listo para ser utilizado.

Link del Manual de Administración del ISPConfig.

30 comentarios:

  1. Estoy probando tu configuracion y me funciona bien salvo por un pequeño problema, los usuarios por Outlook no pueden enviar mensajes, en cambio si reciben perfectamente y por el webmail pueden enviar y recibir sin problemas, que crees que pueda ser?
    Atentamente Luis.
    luimisg@gmail.com

    ResponderEliminar
  2. Debes poner tu ip o el segmento de tú red local
    mynetworks = 127.0.0.0/8, 172.16.1.0/24, 172.16.1.4

    Saludos...

    ResponderEliminar
  3. Si mira mi servidor esta configurado como relay de internet:

    mynetworks = 127.0.0.0/8 [::1]/128

    Lo curioso es que cuando tengo una ip de la misma subred del servidor, el Outlook envia perfectamente, en cambio cuando tengo una ip publica desde otra red no me permite enviar, y si envias por webmail, tanto se envia como se reciben los correos de cualquier dominio.
    Que crees que pueda ser?
    Saludos

    ResponderEliminar
  4. No era un problema de la configuracion, el detalle es que el proveedor de servicios bloquea el puerto 25, solucion agregar otro puerto para que los clientes puedan hacer smtp.

    Muchas gracias.

    ResponderEliminar
  5. tengo una duda espero me puedas ayudar.-
    tengo un dominio en internet por ejemplo mailejemplo.com que enlaza mi ip publica.

    mi red local se llama pruebas.lan
    mi maquina de servidor seria "Servermail"

    cuando postfix me pregunta por el fqdn cual debo poner? y si depues puedo agregar mi dominio "mailejemplo.com" desde ispconfig para poder hacer envios de correo a otros servidores?

    bueno eso seria todo muchas gracias

    ResponderEliminar
  6. en donde dice Sistema de nombres de correo electrónico: <-- server1.alojamiento.org aqui pongo mi dominio de internet o mi dominio local pruebas.lan?

    ResponderEliminar
  7. Te molestas en escribir este pedazo de articulo y lo único que consigues son preguntas de mendrugos, la verdad es que es una pena.

    Yo por el contrario me voy a limitar a felicitarte, hace tiempo que no veía un manual tan bien estructurado, explicado y claro.

    Enhorabuena!

    ResponderEliminar
  8. Carlos,

    Solo quiero saber si eres Carlos Cabrales, el que trabajo en el Palacio Central de Computacion???

    Saludos,

    Verano

    ResponderEliminar
  9. Si, soy carlos cabrales el que trabajo en el palacio y tú quien eres

    ResponderEliminar
    Respuestas
    1. Carlos,

      Soy Alexis Verano, te recuerdas trabaje en el Palacio Central de Computacion, en el Depratamento de Software, junto con Andres, Miguelito, Damian, etc..., si puedes escribeme a alexisverano@hispavista.com

      Saludos y que gran suerte encontrarte...

      Eliminar
  10. Amigo, simplemente espectacular. Despues de luchar con unos cuantos tutos, vas y lo bordas. Enhorabuena, gracias sigue así un trabajo excelente.

    ResponderEliminar
  11. Buenas he seguido todo y me funciona casi todo (hay cosas que tenía hechas).

    Si quiero que la direccion que estoy usando, por ejemplo 192.168.1.100:8080 se pueda ver en el exterior, ¿cómo debo de hacerlo?

    Los proyectos en JSP se ponen en war y con tomcat 6 supongo que irá ¿no?

    Un saludo y muchas gracias.

    ResponderEliminar
  12. instale todo perfecto en virtualbox, no me dio error la instalacion, cdo quiero acceder por web no ingresa,como puedo comprobar las instalaciones o porque no me anda ispconfig?

    ResponderEliminar
  13. solo una pregunta, puedes acceder al servicio web donde tienes instalado el ISPConfig.
    ejemplo: http://ip_del_servidor/
    si puedes acceder a este, debes poder a la administración del ISPConfig por esta url = http://ip_del_servidor:8080/

    saludos

    ResponderEliminar
  14. http://www.esdebian.org/wiki/servidor-perfecto-debian-squeeze-debian-60-ispconfig-2


    ?????

    ResponderEliminar
  15. Muy bueno el tuto, pero aun a costa de que alguien me considere un mendrugo, necesito ayuda. La instalacion la he hecho sin problemas, ispconfig funciona (sobre debian squezze)
    pero los puertos no se me abren en IPV4


    root@marte:~# netstat -anp --tcp --udp|grep LISTEN
    tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2616/mysqld
    tcp 0 0 0.0.0.0:38255 0.0.0.0:* LISTEN 1217/rpc.statd
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1205/portmap
    tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 2770/perl
    tcp 0 0 192.168.0.3:53 0.0.0.0:* LISTEN 2244/named
    tcp 0 0 192.168.1.3:53 0.0.0.0:* LISTEN 2244/named
    tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2244/named
    tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2688/pure-ftpd (SER
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2607/sshd
    tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2297/cupsd
    tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2244/named
    tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3093/master
    tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 1864/amavisd (maste
    tcp 0 0 127.0.0.1:10025 0.0.0.0:* LISTEN 3093/master
    tcp6 0 0 :::110 :::* LISTEN 1931/couriertcpd
    tcp6 0 0 :::143 :::* LISTEN 1940/couriertcpd
    tcp6 0 0 :::8080 :::* LISTEN 1569/apache2
    tcp6 0 0 :::80 :::* LISTEN 1569/apache2
    tcp6 0 0 :::8081 :::* LISTEN 1569/apache2
    tcp6 0 0 :::53 :::* LISTEN 2244/named
    tcp6 0 0 :::21 :::* LISTEN 2688/pure-ftpd (SER
    tcp6 0 0 :::22 :::* LISTEN 2607/sshd
    tcp6 0 0 ::1:631 :::* LISTEN 2297/cupsd
    tcp6 0 0 ::1:953 :::* LISTEN 2244/named
    tcp6 0 0 :::443 :::* LISTEN 1569/apache2
    tcp6 0 0 :::993 :::* LISTEN 1943/couriertcpd
    tcp6 0 0 :::995 :::* LISTEN 2010/couriertcpd

    ResponderEliminar
  16. perfecto, graciasssssss...!!

    ResponderEliminar
  17. puedo instalar qmail en vez de postfix? excelente tuto gracias

    ResponderEliminar
  18. Tengo instalado un servidor virtual con ispconfig 3, prácticamente como en el tutorial. Instalé Dovecot en vez de Courier y he instalado fail2ban como protección. Pero tengo un problema:
    3 o 4 veces al día, se me bloquea la tarjeta de red, es decir, ni recibe ni transmite, web cerrado, correo cerrado. El servidor está funcionando porque en los logs veo que hace tareas de cron, pero nada mas. En los logs de apache veo "huecos". Alguna vez lo he pillado fallando y no me responde a ping. No tengo ni idea de dónde mirar.
    Por favor, si hay alguna idea...
    Muchas gracias

    ResponderEliminar
  19. SpamAssassin hay que ajustarle la configuración? porque al momento de enviar un mail en la cabecera de dicho mail no sale información de spam, en todo caso como seria el ajuste o la configuraicon ideal, muy buen tutorial funciona perfecto, saludos.

    ResponderEliminar
  20. Muy bueno el tutorial, excelente trabajo lo felicito me sirvio de gran ayuda hermano.

    ResponderEliminar
  21. Cuando inicio la instalacion de ISP config, me sale un error cuando crea la BD....
    dice Lost connection to MySQL server during query...
    y se sale del instalador...
    que puede ser?

    gracias...

    ResponderEliminar
  22. Hola, no soy experto en ISPConfig ni mucho menos, pero he creado un plugin para wordpress para usar con usuario remoto y que me sea mas facil crear un sitio con todos los pasos incluídos. Les dejo el link , todavia faltan detalles pero tal vez les sea de utilidad: http://wordpress.org/plugins/wp-ispconfig/

    Saludos

    ResponderEliminar
  23. Se puede configurar para que trabaje solo de manera local? alguna idea como?

    ResponderEliminar
  24. gran tutorial!
    hasta ahora lo estaba haciendo todo con cpanel, pero ya tocaba ensuciarnos las manos con debian + ispconfig :P

    ResponderEliminar
  25. hola buenos días amigo gracias por el manual de instalacion la verdad todo me funciono localmente envio y recibo correos solo que no puedo enviar ni recibir correos de gmail.hotmail.yahoo, entre otros

    ResponderEliminar
    Respuestas
    1. Hola Ender, te comento que si no tienes declarado tu record reverso y spf, los servidores como yahoo y gmail, te catalogan como emisor de spam.
      saludos

      Eliminar
    2. gracias por responde amigo (y) bueno es que apenas estoy aprendiendo a configurar un servidor de correos gracias a su manual y actualmente no conozco mucho sobre esto a que se refiere con spf

      Eliminar
    3. Lee esto https://es.wikipedia.org/wiki/Sender_Policy_Framework y esto tambie https://es.wikipedia.org/wiki/B%C3%BAsqueda_DNS_inversa

      saludos y suerte

      Eliminar
  26. HOLA AMIGO BUEN DÍA GRACIAS POR EL APOYO :) YA LOGRE RECIBIR CORREOS EXTERNOS YA PUEDO ENTRAR POR LA WEB AL SERVIDOR DE CORREOS, TAMBIÉN ENVÍO Y RECIBO SOLO AL DOMINIO DE LA EMPRESA DE MANERA LOCAL , PERO PARA GMAIL Y HOTMAIL NO ME ENVIA LOS DETECTA COMO SPAM ( otra cosa donde esta alojada la pagina web de la empresa es un servidor compartido y utiliza las ns1 y ns2 de la central de cantv aquí en Venezuela es el proveedor de internet ya que es una institución del estado y no tengo ese registro spf y la ns1 y ns2 no son del dominio en este caso corpozulia.gob.ve soy recién graduado de ingeniería en informática quisiera aprender de servidores gracias por su apoyo y su manual me gusta aprender de todo sobre esta carrera soy programador web :) saludos

    ResponderEliminar