InicioLinuxISPConfig3 a full (largo pero bueno..)
Básicamente, ISPConfig es un panel de control Open Source para administrar Servidores de Hosting.

Los servicios que soporta son los siguientes:
Httpd
FTP
Bind (A, CNAME, MX y SPF Records)
POP3 Auto-Responder
MySQL client-databases
Webalizer statistics
Harddisk quota
Mail-Quota
Traffic limits
IP-addresses
SSL
SSI
Shell-access
Mailscanner (Antivirus)
Firewall

En este caso yo voy a instalar ISPConfig3 bajo Debian Squeeze, pueden hacerlo bajo varias distribuciones.

Empezamos:

Primero vamos a instalar ssh y openssh-server:
apt-get install ssh openssh-server

Seguramente cuando instalamos Debian, en la parte de configuración de interfaces de redes habremos dejado por default, por lo tanto nuestra ip va a ser levantada via DHCP.
Si vamos a ser una empresa de hosting tendremos que tener una ip fija.

Editamos nuestro archivo "interfaces":
nano /etc/network/interfaces

Ejemplo: (en el archivo original creo que figura allow-hotplug eth0, eso lo cambié por auto eth0)
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.1.4
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Reiniciamos la red:
/etc/init.d/networking restart

Editamos el archivo /etc/hosts
nano /etc/hosts

127.0.0.1 localhost.localdomain localhost
192.168.1.4 server1.dysloke.com server1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Ejecutamos:
echo server1.dysloke.com > /etc/hostname

y
/etc/init.d/hostname.sh start

Ahora ejecutamos:
hostname
hostname -f

Tendría que mostrarnos los dos nuestro dominio "server1.dysloke.com"

Ahora vamos a actualizar la lista de repositorios de nuestro Debian con los repositorios volatile para asegurarnos que actualice a lo último que exista para el scanner de virus ClamAV.
nano /etc/apt/sources.list

Agregamos:
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

Actualizamos con:
apt-get update
apt-get upgrade

De paso cañazo y ya que estamos podemos instalar NTP (Network Time Protocol) para actualizar la hora del sistema con algún servidor en Internet.
apt-get install ntp ntpdate

Instalamos Postfix , Courier , Saslauthd , MySQL , phpMyAdmin , rkhunter , binutils
(para saber qué es cada cosa, click en cada nombre..)
apt-get 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

Nos va a pedir clave del root del MySQL, vamos a configurarlo más o menos así:
New password for the MySQL "root" user: <-- CLAVEDEROOT
Repeat password for the MySQL "root" user: <-- CLAVEDEROOT
Create directories for web-based administration? <-- No
General type of mail configuration: <-- Internet Site
System mail name: <-- server1.dysloke.com
SSL certificate required <-- Ok

Como necesitamos que nuestro MySQL escuche en todas las interfaces no sólo en localhost, vamos a editar nuestro archivo /etc/mysql/my.cnf
nano /etc/mysql/my.cnf

Comentamos la línea que dice bind-address
[...]
# 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
[...]

Listo, ahora reiniciamos nuestro SQL:
/etc/init.d/mysql restart

Ahora vemos si realmente está escuchando nuestro MySQL:
netstat -tap | grep mysql

Tendría que salirnos algo así:
server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 11138/mysqld
server1:~#

Durante la instalación los certificados SSL para IMAP-SSL y POP3-SSL se crean con el hostname "localhost", y como nosotros configuramos el hostname "server1.ejemplo.com" vamos a eliminar los certificados:
cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

y ahora modificamos los archivos imapd.cnf y pop3d.cnf y modificamos la línea que dice CN=localhost por CN=server1.dysloke.com (en los dos archivos)

Ahora creamos de nuevo los certificados:
mkimapdcert
mkpop3dcert

Reiniciamos Courier-IMAP-SSL Courier-POP3-SSL:
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart

Instalamos amavisd-new , SpamAssassin , y ClamAV
apt-get 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

Instalamos Apache2 , PHP5 , phpMyAdmin , FCGI , suExec , Pear , y mcrypt
apt-get 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

Ejecutar este comando para incluir los siguientes módulos de Apache: suexec, rewrite, ssl, actions, e include:
a2enmod suexec rewrite ssl actions include

Instalamos PureFTPd y Quota
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool

Editamos el archivo /etc/default/pure-ftpd-common
nano /etc/default/pure-ftpd-common

Cambiamos inetd a standalone y seteamos VIRTUALCHROOT=true:
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Ahora editamos /etc/inetd.conf para que inetd no quiera arrancar el ftp. (comentamos la línea ftp stream tcp)
nano /etc/inetd.conf

[...]
#:STANDARD: These are standard services.
#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]

Reiniciamos inetd:
/etc/init.d/openbsd-inetd restart

Iniciamos PureFTPd:
/etc/init.d/pure-ftpd-mysql start

Editamos el archivo /etc/fstab para agregar usrquota y grpquota a la partición raíz
(/)

nano /etc/fstab

Y nos quedaría algo así:
/dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1

Para activar quota escribimos:
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /

y ..
quotacheck -avugm
quotaon -avug

Instalamos MyDNS, pero antes unos requisitos que nos va a servir para instalarlo.
apt-get install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev

Como MyDNS no está en los repositorios de Debian Lenny vamos a tener que compilarlo manualmente.

Seguimos estos pasos:
cd /tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.25.tar.gz
tar xvfz mydns-1.2.8.25.tar.gz
cd mydns-1.2.8
./configure
make
make install

Creamos un script para correr o parar MyDNS:
nano /etc/init.d/mydns

y ponemos esto:
#! /bin/sh
#
# mydns Start the MyDNS server
#
# Author: Philipp Kern
.
# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
# and Ian Murdock .
#
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/mydns
NAME=mydns
DESC=DNS server"
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon --start --quiet
--exec $DAEMON -- -b
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --stop --oknodo --quiet
--exec $DAEMON
echo "."
;;
reload|force-reload)
echo -n "Reloading $DESC configuration..."
start-stop-daemon --stop --signal HUP --quiet
--exec $DAEMON
echo "done."
;;
restart)
echo -n "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo
--exec $DAEMON
sleep 1
start-stop-daemon --start --quiet
--exec $DAEMON -- -b
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0

Le damos permisos de ejecución y creamos los enlaces para que inicie:
chmod +x /etc/init.d/mydns
update-rc.d mydns defaults

Instalamos Vlogger And Webalizer
apt-get install vlogger webalizer

Editamos la configuración del webalizer:
/etc/webalizer/webalizer.conf

y buscamos la línea que dice #Incremental no y la cambiamos a yes
#Incremental yes

Instalamos Jailkit

Igual que con MyDNS vamos a compilarlo manualmente, antes instalamos estas herramientas:
apt-get install build-essential autoconf automake1.9 libtool flex bison

Luego seguimos los pasos:
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
tar xvfz jailkit-2.5.tar.gz
cd jailkit-2.5
./configure
make
make install
cd ..
rm -rf jailkit-2.5*

Listo, ahora instalamos fail2ban
La instalación de fail2ban es opcional, lo hago porque ISPConfig intenta loguear.
apt-get install fail2ban

Instalamos SquirrelMail
apt-get install squirrelmail

y creamos el siguiente enlace:
ln -s /usr/share/squirrelmail/ /var/www/webmail

Configuramos Squirrelmail:
quirrelmail-configure

Podemos editar todos los datos, los mensajes del día (MOTD) etc, pero lo que nos interesa es otra cosa..
Apretamos la tecla "D" que nos lleva al menú Set pre-defined settings for specific IMAP servers
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 >> (APRETAMOS LA TECLA D)

Escribimos courier:
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

quit =Do not change anything
Command >> (ESCRIBIMOS courier)

Nos sale algo así:
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... (apretamos cualquier tecla)

Nos vuelve al menú principal (no pongo más quotes porque se supone que ya es obvio)
Apretamos la tecla S (Save, Guardar)
Y luego la tecla Q (Quit, Salir)

Listo, ya tenemos configurado SquirreMail, deberíamos poder ingresar al webmail, en mi caso:

http://192.168.1.4/webmail y me aparece la pantalla de SquirreMail:



Bueno, después de tanta instalación llega la parte que nos interesa!
Instalar ISPConfig3 !! Sino para que llegamos hasta acá!

Seguimos los pasos:
cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.tar.gz
cd ispconfig3_install/install/

Empezamos a configurar nuestro ISPConfig:
php -q install.php

Ah, ojo .. yo estoy usando un Debian Squeeze y como tiene una especie de "detector" de sistemas operativos no me arrancaba la configuración, si les pasa sólo tienen que hacer esto (3 horas después me di cuenta lo que tenía que hacer)
nano /etc/debian_version

Y ahi cambien el Squeeze por Lenny, y chau!

Bueno, ahora entonces nos aparece el menú de configuración de nuestro ISPConfig:

Sigan estos pasos (es medio largo el quote, pero es para no ir cortando por cada cosa que nos pide)
>> Initial configuration

Operating System: Debian Lenny/Sid or compatible

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with .
Tap in "quit" (without the quotes) to stop the installer.

Select language (en,de) : --------------------> ENTER

Installation mode (standard,expert) : --------------------> ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.dysloke.com]: --------------------> ENTER

MySQL server hostname : --------------------> ENTER

MySQL root username : --------------------> ENTER

MySQL root password []: --------------------> LA-CLAVE-DEL-MYSQL-QUE-PUSIERON

MySQL database to create [dbispconfig]: --------------------> ENTER

MySQL charset [utf8]: --------------------> ENTER

Generating a 2048 bit RSA private key
..................................................................................................................+++
.........................................................................................................+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) : --------------------> ENTER
State or Province Name (full name) [Some-State]: --------------------> ENTER
Locality Name (eg, city) : --------------------> ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: --------------------> ENTER
Organizational Unit Name (eg, section) : --------------------> ENTER
Common Name (eg, YOUR name) : --------------------> ENTER
Email Address : --------------------> ENTER
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring MyDNS
Configuring Apache
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]: --------------------> ENTER

Configuring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Restarting services ...
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Stopping SASL Authentication Daemon: saslauthd.
Starting SASL Authentication Daemon: saslauthd.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd .
Stopping Courier authentication services: authdaemond.
Starting Courier authentication services: authdaemond.
Stopping Courier IMAP server: imapd.
Starting Courier IMAP server: imapd.
Stopping Courier IMAP-SSL server: imapd-ssl.
Starting Courier IMAP-SSL server: imapd-ssl.
Stopping Courier POP3 server: pop3d.
Starting Courier POP3 server: pop3d.
Stopping Courier POP3-SSL server: pop3d-ssl.
Starting Courier POP3-SSL server: pop3d-ssl.
Restarting web server: apache2 ... waiting .
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -E -A -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -b -B
Installation completed.

Listo, ya tenemos todo instalado!
Ahora sólo resta probar sin funciona (cruzar dedos..)
En mi caso: http://192.168.1.4:8080

Y ...



Si señor !! funciona de 10!
Ahora para loguearse usamos:


user: admin
pass: admin


Luego cambiamos la clave .. no vamos a dejar esas !!
Un par de imágenes para que vean de qué se trata..













Acá enviando y recibiendo un mail desde Squirelmail:






Y acá el panel de control de un usuario común, en este caso creé el usuario "dys" donde el "cliente" puede gestionar sus dominios, zonas DNS, emails, etc:







Bueno, espero que les haya gustado, costó bastante pero salió lindo ..
Salutes!

mi blog y yo


Si no comentás, éste es tu ídolo:

Datos archivados del Taringa! original
83puntos
11,264visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
14visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

d
dysloke🇦🇷
Usuario
Puntos0
Posts32
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.