Instalación de Sistema ISP en Debian Etch con VHCS

agosto 17, 2007 at 2:27 am (linux, Servidores)

VHCS (Virtual Hosting Control System) es un panel de control basado en web para controlar:

  • Servidor Web (Apache)
  • Servidor de Correo
  • Servidor DNS (Bind 9)
  • Servidor de FTP (proftpd).

Actualmente solo corre bajo Linux.

Para empezar necesitamos un sistema debian sarge instalado y pelado, sin ningún demonio a cargo de los DNS, ni de los mails, ni nada.

En mi caso voy a usar un solo equipo con dos IPs fijos y públicos (para usar los DNSs primarios y secundarios)… para ello edité y configuré apropiadamente mi configuración de red en /etc/network/interfaces.

Configurando los repositorios

# echo deb http://apt.scunc.it/ etch main >> /etc/apt/sources.list

Actualizando los Repos

# apt-get update

Comenzando la instalación

# apt-get install mysql-server mysql-client

Cambiamos la password de root del MySQL:

# mysqladmin -u root password nuevapass

Nota: Reemplazamos “nuevapass” por la nueva clave deseada

Instalando el VHCS desde el repositorio

# apt-get install vhcs*

El hecho de usar * es por que hay mas ficheros a descargar que empiezan con vhcs

Seguimos los pasos, son muy sencillos, a continuación voy a poner algunas capturas de la consola con las opciones a seguir para que nadie se pierda.

Configurando Postfix:

vhcs1.png

Elegimos “Internet Site”
Configurando Proftpd:

vhcs2.png

Si setiene mucha demanda de FTP es aconejable ponerlo como standalone.

Configurando Courier:

vhcs3.png

Simplemente le decimos que nos guarde como el esquema de directorios.

Configurando VHCS:

vhcs4.png

Como es una instalación nueva, elegimos que configure nuestra base de datos de manera automatica

vhcs5.png

Aqui le decimos que si.

Una vez contestadas estas preguntas se van a comenzar a descomprimir e instalar todos los paquetes necesarios.
En caso de recibir una alerta por un archivo de configuración existente, solo debemos decirle que lo sobreescriba (Y or I : install the package maintainer’s version) ya que vamos a usar VHCS para gestionar nuestros demonios.
Una vez finalizada la instalación ajustamos los permisos de las herramientas con:
# chmod -R 766 /var/www/vhcs2/gui/tools
# chown -R www-data tools

Instalacion de proteccion Anti-Spam (Spamassassin) y Anti-Virus (Amavis)

Para empezar instalamos los paquetes necesarios con apt-get:
# apt-get install clamav clamav-daemon amavisd-new spamassassin razor pyzor dcc-client

amavis1.png

En mi caso, selecciono esa opción porque tengo conexión permanente a internet, pero pueden usar la que mejor se ajuste a las necesidades de cada uno, aunque lo lógico es tener conexión permanente en un servidor de este estilo.

amavis2.png

Le decimos que si, asi el antivirus se mantiene en memoria con la ultima base de datos de virus

Añadimos soporte para algunos formatos de compresion asi amavis escanea el contenido:
# apt-get install lha arj unrar zoo unzoo zip unzip nomarch lzop tnef

Descargamos el archivo:

amavisd.conf y lo guardamos como: /etc/amavis/amavisd.conf

Una vez seteado, creamos una carpeta para la “cuarentena”:
#mkdir /var/mail/virus
#chown -R amavis:amavis /var/mail/virus
#gpasswd -a clamav amavis

Reiniciamos los Servicios:
#/etc/init.d/clamav-daemon restart
#/etc/init.d/amavis restart

Ahora vamos a decirle a postfix que escanee todos los mails con amavis, para eso editamos /etc/postfix/main.cf y /etc/vhcs2/postfix/main.cf
y añadimos esta linea al final:
content_filter = smtp-amavis:[127.0.0.1]:10024

Una vez hecho, editamos /etc/postfix/master.cf y /etc/vhcs2/postfix/master.cf y agregamos lo siguiente al final:
smtp-amavis unix – – n – 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
localhost:10024 inet n – n – – smtpd

-o content_filter=
-o mynetworks=127.0.0.0/8
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o receive_override_options=no_address_mappings

Ahora ya tenemos postfix listo, solo tendremos que reiniciarlo:
# /etc/init.d/postfix restart
Finalmente agregamos la siguiente linea en nuestros repositorios para mantener actualizado el amavis:
deb http://ftp2.de.debian.org/debian-volatile etch/volatile main

Ya tenemos listo el amavis, solo nos queda activar y configurar el spam assassin.

Para activarlo editamos /etc/default/spamassassin y ponemos ENABLED=1

Una vez hecho, editamos /etc/spamassassin/local.cf y ponemos algo asi:
rewrite_header Subject [SPAM]
report_safe 1
trusted_networks 212.17.35.
lock_method flock
trusted_networks 127.0.0.0/8

Ahora registramos razor:
# razor-client
# razor-admin –create
# razor-admin -discover
# razor-admin –register

y una vez hecho, lo inicializamos:
# pyzor discover

Tenemos de añadir este comando en crontab

#crontab -e

00 12 * * 0-7 pyzor discover



Ahora si, ya tenemos el antivirus y el antispam funcionando, para probar el antispam solo debemos mandar un mail con el siguiente texto en el cuerpo del mensaje:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

y para realizar un test de virus podemos ver esta dirección: http://www.gfi.com/emailsecuritytest/

Instalación de estadísticas WEB avanzadas para cada dominio del panel: AWSTATS

Para empezar instalaremos los paquetes necesarios:
# apt-get install awstats libapache2-mod-auth-mysql

Luego, registramos el modulo de apache:
# a2enmod auth_mysql
Reiniciamos el apache y ya estamos listo para configurar el awstats:
# /etc/init.d/apache2 force-reload

Comenzamos con la configuración, para eso vamos a /etc/awstats y descargamos los siguientes archivos:

y lo renombramos a dostatsAjustamos los permisos del script…
# chmod 755 dostats

Copiamos awstats_updateall.pl al lugar correcto…
# cp /usr/share/doc/awstats/examples/awstats_updateall.pl /usr/sbin/awstats_updateall.pl

Editamos el template de apache en /etc/vhcs2/apache/parts/dmn_entry.tpl y debajo de donde diga “Alias /errors {WWW_DIR}/{DMN_NAME}/errors/” agregamos:
Redirect /stats http://{DMN_NAME}/awstats/awstats.pl

Editamos /etc/apache2/sites-available/vhcs2.conf y /etc/vhcs2/apache/working/vhcs2.conf y antes de donde diga “# Default GUI.” agregamos las siguientes lineas:
# awstats modifications
Alias /awstatscss “/usr/share/doc/awstats/examples/css/”
Alias /awstats-icon “/usr/share/awstats/icon/”
Alias /awstatsicons “/usr/share/awstats/icon/”
ScriptAlias /awstats/ “/usr/lib/cgi-bin/”
Options None
AllowOverride None
Order allow,deny
Allow from all

Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all

Usamos phpmyadmin para crear un usuario mysql llamado vhcs2_awstats con acceso de solo lectura únicamente a vhcs2 -> admin (es fundamental que este user tenga contraseña, por razones de seguridad)

Editamos /usr/lib/cgi-bin/.htaccess y ponemos algo asi (reemplacen con la clave correcta del usuario):
AuthName “AWStats”
AuthType Basic
AuthMySQL_Host localhost
AuthMySQL_DB vhcs2
AuthMySQL_Password_Table admin
AuthMySQL_User vhcs2_awstats
AuthMySQL_Password <<<>>>
AuthMySQL_Username_Field admin_name
AuthMySQL_Password_Field admin_pass
AuthMySQL_Encryption_Types Crypt_DES Crypt_MD5 Crypt MySQL PHP_MD5
require valid-user

Por ultimo agregamos una linea al crontab (crontab -e) del root para que procese los logs de apache:
30 */2 * * * /etc/awstats/dostats &> /var/log/vhcs2/vhcs2-awstats.log

Si deseamos un link a /stats en el panel de cada dominio debemos agregar un “custom link” con nuestro usuario administrador de VHCS con el siguiente texto: “../../awstats/awstats.pl?config={uname}”
Con esto ya tendríamos el acceso a las estadísticas via awstasts para cualquier dominio con solo anexar /stats en la URL. La contraseña es la misma que para el panel.

Tuneando VHCS

Este paso es optativo, acá voy a poner los ajustes menores que le hice a la configuración de los dominios y demás:

Vamos a /etc/vhcs2/apache/parts/dmn_entry.tpl y donde pusimos el Redirect para el AWstats agregamos dos mas muy utiles:
Redirect /webmail http://{DMN_NAME}/vhcs2/tools/webmail
Redirect /cpanel http://{DMN_NAME}/vhcs2

En ese mismo archivo vemos que tenemos una directiva que dice: Options Indexes Includes FollowSymLinks MultiViews
Cambiamos esa línea por: Options -Indexes Includes FollowSymLinks MultiViews
Con esto evitaremos que por defecto se listen los contenidos de los directorios y así poner un index o un .htaccess en cada dir que creemos.

Ahora vamos a /etc/vhcs2/bind/parts/db_e.tpl y donde dice: “ns IN A {DMN_IP}” agregamos dos líneas mas:
ns1 IN A {DMN_IP}
ns2 IN A -IP DNS SECUNDARIO-
Listo, a partir de ahora, todos los dominios que creemos van a tener la entrada ns1 y ns2 con los IPs correspondientes y los redireccionamientos /cpanel y /webmail como tiene el ya conocido cpanel.

VHCS listo

Ahora solo debemos ingresar a nuestro servidor mediante el navegador tecleando la IP y anexando /vhcs2/ a la dirección:

http://-DIRECCIONIP-/vhcs2/

Nos logueamos con nuestro usuario administrador y empezamos a dar de alta usuarios resellers quienes van a poder crear dominios y cuentas de email.

Saludos y hasta la próxima.

Capturas:

Bibliografía y más Información:
VHCS: Link
Instalar Spamassasin & amavis: Link
SMART monitor: Link
AWStats para VHCS: Link
Squirrelmail: Link

Fuente: http://www.wikipeando.com.ar/index.php/archives/36/

Modificado y adaptado a Debian etch Por _TuXeD_.

12 comentarios

  1. ltrace said,

    Hay algunos errores, para etch.

    Hay algunos errores, para etch.

    1.- La instalacion peta porque no existe ‘keysize’ en /var/lib/dpkg/info/vhcs.postinst,
    Cuando pete, modificar en la linea 1887. Antes de key …, añadir keysize => 32,

    2.- Despues da un error de compilacion por la misma razon en la linea 1443 del fichero /var/www/vhcs2/engine//vhcs2_common_code.pl. Añadir keysize => 32, antes del key …, y ejecutar /var/www/vhcs2/engine/vhcs2-rqst-mngr

    3.- En la instalacion de amavis, dice que modifiquemos el main.cf y el master.cf del postfix.
    En el content_filter del main.cf estableces la configuracion al puerto 10024, y en el master.cf lo haces al puerto 10025.
    O lo pones al 10024 o al 10025, pero los dos iguales.

    4.- En etch el modulo libapache2-mod-auth-mysql esta roto debido a problemas de seguridad, si lo quieres tienes que compilar a manija

    5.- El link a dostats está roto, en breve colgare el mio

  2. _TuXeD_ said,

    Muchas gracias , ltrace por el comentario.

    El puerto en la configuración master.cf arreglado
    El link al archivo dostats Solucionado.

  3. Manuel Monroy said,

    Buenas tardes amigos, trate de seguir este manual pues estoy instalando debian, pero al momento d eejecutar el apt install de vhcs me indica q vhcs-daemon no es nstalable, y da paquetes rotos.
    Help.
    Regards

  4. _TuXeD_ said,

    Hola Manuel tienes de tener los repositorios
    # echo deb http://apt.scunc.it/ etch main >> /etc/apt/sources.list

  5. Carlos Mario said,

    Un saludo especial para todos…

    Tambien estoy tratando de instalar el vhcs2, pero al respecto tengo algunas inquietudes e inconvenientes:

    Inquietudes:
    1. Es necesario tener dos direcciones ip para tener luego configurar dns primario y secundario, yo solo tengo una.
    2. Despues de elegir automática en la configuración de la base de datos, me esta pidiendo nombres de usuario y contraseña para acceder a la base de datos vhcs y otro usuario y contraseña para el ftp. He dejado los usuarios por defecto y asignado una contraseña.

    Inconvenientes:
    1. Cuando esta construyendo la base de datos se detiene la instalación sacando un error de permisos de los usuarios vhcs2, vftp y debian-sys-maint a la base de datos.

    Gracias por lo que me puedan ayudar…

  6. Mario Gómez said,

    HOLA,
    INSTALANDO EL PANEL ME SALE UN PROBLEMA DE PERMISOS A LA BASE DE DATOS DE LOS USUARIOS vhcs2 y debian-sys-maint.

    GRACIAS…

  7. gironz said,

    echo deb http://apt.scunc.it/ etch main >> /etc/apt/sources.list

    acabo de instalar debian etch y estoy siguiendo los pasos para instalar vhcs2 en mi debian.

    me encuentro que
    apt install vhcs* me indica q vhcs-daemon no es instalable, y da paquetes rotos.

    algun otro repositorio?

    muchas gracias por todo

    gironz

  8. _TuXeD_ said,

    Prueba con un apt-get -f install
    muchas veces se da problemas con ciertas dependencias y asi pueden ser instaladas

  9. Francisco said,

    Me pasa lo mismo tengo agregados los repositorios y no me deja instalar, me dice q el vhcs-daemon no tiene candidato de instalación.

  10. Melissa said,

  11. Oddiex said,

    El problema que hay me parece que es el repositorio… vhcs-daemon viene con vhcs no son paketes separados

  12. Oddiex said,

    Basicamente lo que hace ese repositorio es apuntar y descargar el contenido desde vhcs.net asique les recomiendo entrar a vhcs.net y descargarse el packete “.deb” directamente de ahi.
    A proposito, ya puse fecha! a fin de año me caso con etch! jajajaja cada dia se viene mejor!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: