Buscar este blog

lunes, 27 de octubre de 2014

Gestiona tu sitio gráficamente con ISPConfig 3

Gestiona tu sitio gráficamente con ISPConfig 3
NIVEL: Avanzado
Si alguna vez has llevado a cabo la configuración de un sitio web sabrás por experiencia lo valiosas que son estas herramientas gráficas que ejercen la labor de intermediarias entre el usuario más o menos experto y el sistema operativo que subyace por debajo.

Cuando nos embarcamos en la aventura de participar en el enriquecimiento de la Red de redes aportando nuestros propios contenidos a la misma para que sean accesibles por cualquier usuario, nos podemos enfrentar a dos tipos de escenarios claramente diferenciados. 

Por un lado, si somos algo novatos en estas lides o simplemente no disponemos de los medios técnicos necesarios, lo más sencillo es contratar un servicio de hosting y de dominio para subir nuestros contenidos. Pero si disponemos de conocimientos, equipos y ganas, también podremos montarnos esto mismo por nuestra cuenta. 

En cualquier caso, poder echar mano de un Panel de Control gráfico que facilite la labor de gestión de nuestro sitio a través del navegador en vez de tener que pegarnos con el terminal (la mayor parte de los servidores grandes instalan Linux) es algo realmente valioso. 

En este caso práctico os mostraremos algunas opciones comerciales que suelen implementar las más importantes compañías de hosting y por último, para aquellos usuarios más inquietos, mostraremos unas cuantas pistas para hacer esto mismo en un servidor propio y con software totalmente Open Source mediante ISPConfig 3.

Y como decíamos en la entradilla, a diferencia de la versión en papel, aquí sí incluimos los comandos en texto plano para que simplemente sea necesario copiar y pegar en el Terminal y ahorrar así tiempo y energías.



Las opciones comerciales

PASO 1. cPanel y WHM
Uno de los Paneles de Control más importantes que existen a día de hoy es sin duda cPanel (http://cpanel.net/). Dos son las herramientas fundamentales que podremos encontrar. Por un lado, el propio cPanel nos va a ayudar a instalar y configurar todos los servicios de nuestro sitio web a nivel de administrador. Sin embargo, este poderoso desarrollo también posee herramientas para los vendedores de hosting. 

La labor primordial de WHM (Web Host Manager) será la de crear sites individuales y configurables de manera independiente para cada uno de los usuarios que disponga de cuenta en alguno de sus servidores. Sin embargo, dado el carácter de este práctico, el aspecto clave que será necesario comprobar a la hora de comprar un servicio de hosting es que disponga de cPanel. 

Resumiendo mucho, desde su interfaz gráfica podremos gestionar cualquier cuestión que tenga que ver con el correo electrónico de nuestro dominio [1] como la creación de cuentas [2], el establecimiento de protección frente a spam [3] o la creación de listas de correo[4] entre otras muchas cosas. 

Otro apartado importante es el de Files [5], mediante el que seremos capaces de manejar la subida o bajada de ficheros [6], la realización de copias de respaldo [7] o la puesta a punto del protocolo FTP [8]. Para observar cualquier fichero de trazas y estadísticas gráficas de acceso deberemos consultar la sección Logs [9]. La creación de bases de datos para dar soporte a páginas web dinámicas como foros o blogs se lleva a cabo desde Databases [10]

También dispondremos de otros apartados interesantes como Security, DomainsSoftware/Services y por último Preferences. Como dato, podremos configurar cPanel en diferentes idiomas, entre ellos el Español.

[IMAGE|var/pca2009/storage/images/media/images/paso-1_1_pasos/1452099-1-esl-ES/paso-1_1_pasos.jpg|center|]

PASO 2. Parallels Plesk
Otro de los desarrollos más utilizados es Parallels Plesk Panel, que actualmente se encuentra en su versión 9.2(www.parallels.com/es/products/plesk/). La principal ventaja con la que cuenta este interfaz es su aspecto gráfico. Con unos colores, tipografías y estructuración muy similares a los de los sistemas operativos de Microsoft, los usuarios de Windows quizás se encuentren más cómodos utilizándolo. 

Las acciones que podremos llevar a cabo son muy similares a las de cPanel. De un simple vistazo podremos ver la información más importante de nuestro sitio como el espacio utilizado o el dominio activo [11], configurar las diferentes cuentas de correo [12], administrar cualquier aspecto de nuestro sitio web [13] como por ejemplo el servicio de DNS o los usuarios web, gestionar los contenidos y la bajada y subida de ficheros [14], control de servicios y bases de datos [15] o visualización de estadísticas variadas [16] entre otras muchas cosas. 

Si os fijáis en el menú de la izquierda [17], podréis observar que ésta es la interfaz correspondiente a la administración de un dominio particular, pero tendremos disponibles otras herramientas en los diferentes apartados de la misma orientadas a revendedores, a activación y desactivación de módulos o a ajustes generales del sistema entre otras.


[IMAGE|var/pca2009/storage/images/media/images/paso-1_2_pasos/1452103-1-esl-ES/paso-1_2_pasos.jpg|center|]

Montando un Panel de Control gratuito

PASO 1. Acondicionando el servidor
Si eres un usuario avanzado al que le gusta investigar y tener el control absolutamente de todo, vamos a ofrecerte una solución 100% gratuita con la que podrás gestionar tu sitio web de una manera similar a la ofrecida por los dos paneles de control comerciales explicados anteriormente.

Para ello, será necesario acondicionar el servidor (vamos a utilizar Ubuntu 9.10 Server Edition 64 bits) en primera instancia. Partimos del supuesto en el que el SO se encuentra ya instalado y actualizado completamente. Lo primero que tendremos que hacer es adquirir privilegios de root y asignar una dirección IP estática al mismo (por ejemplo 192.168.1.100). 

Seguidamente edita el fichero hosts con nano /etc/hosts y añade la ruta estática de tu servidor [1] (en nuestro caso, el servidor se llamaserver). Ejecuta echo server.ejemplo.com > /etc/hostname y reinicia. Cambia el shell por defecto a bash con dpkg-reconfigure dasheligiendo No en la pantalla que aparece. 

Por último, desactiva AppArmor con los siguientes comandos: /etc/init.d/apparmor stop, update-rc.d -f apparmor remove, aptitude remove apparmor apparmor-utils.

[IMAGE|var/pca2009/storage/images/media/images/paso-2_1_pasos3/1453980-1-esl-ES/paso-2_1_pasos.jpg|center|]
(códigos del Paso 1/2)

nano /etc/hosts
echo server.ejemplo.com > /etc/hostname
dpkg-reconfigure dash
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils


PASO 2. Instalación de los paquetes necesarios
Debido a que estamos configurando un servidor desde cero y que ISPConfig 3 es un mero interfaz visual, tendremos que instalar todos aquellos paquetes que necesitemos para habilitar los diferentes servicios que vamos a poder configurar a través del Panel de Control. 

En primer lugar, instalamos Postfix, Courier, Saslauthd, MySQL, rkhunter y binutils mediante: 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 getmail4 rkhunter binutils

Durante la instalación tendrás que elegir la contraseña de root de MySQL, no crear directorios para la administración vía web, usar Sitio de Internet como configuración mail por defecto, utilizar server.ejemplo.com como dominio mail y requerir certificado SSL

Ahora instala maildrop utilizando los siguientes comandos: update-alternatives --remove-all maildir.5,update-alternatives --remove-all maildirquota.7, aptitude install maildrop. Borra los certificados SSL creados con el nombre localhost: rm -f /etc/courier/imapd.pem, rm -f /etc/courier/pop3d.pem. Ahora edita los ficheros imapd.cnf y pop3d.cnf (ambos en /etc/courier/) y reemplaza el valor del campo CN por server.ejemplo.com como en la imagen. Vuelve a crear los certificados: mkimapdcert,mkpop3dcert y reinicia el sistema.

Seguidamente vamos a instalar los módulos necesarios para los chequeos de antivirus y spam en nuestra estafeta de correos. Para ello usaremos Amavisd-new, SpamAssassin y ClamAV: 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. 


[IMAGE|var/pca2009/storage/images/media/images/paso-2_2_pasos3/1453984-1-esl-ES/paso-2_2_pasos.jpg|center|]
Ahora preparamos los servicios web: 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

En la configuración de phpmyadmin selecciona apache2 como servidor web y posteriormente No cuando pregunte si se desea configurar dbconfig-common como base de datos. Activa los módulos de Apache mediante el siguiente comando: a2enmod suexec rewrite ssl actions include y reinicia. 

Continuamos con la instalación de los servicios Quota y FTP mediante aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool. Edita el fichero de configuración de PureFTPd mediante nano /etc/default/pure-ftpd-common y asegúrate de que la variable STANDALONE_OR_INETD tiene el valor standalone y VIRTUALCHROOT el valor true

Posteriormente edita el fichero /etc/fstab y añade los usuarios y gruposusrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 en la partición / tal y como puedes ver en la imagen. Para activar quota solamente tendrás que ejecutar: touch /aquota.user /aquota.group, chmod 600 /aquota.*, mount -o remount /, quotacheck -avugm, quotaon -avug.

Es el turno de los paquetes estadísticos. Para habilitarlos usaremos Vlogger y Webalizer mediante aptitude install vlogger webalizer. Para terminar este apartado, solo faltará instalar MyDNS. Este punto es ligeramente diferente, puesto que será necesario compilar el código fuente y crear un script para que se ejecute en nuestro sistema cada vez que lo iniciemos. 

En primer lugar, baja las herramientas necesarias para poder llevar a cabo la compilación: aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev. Seguidamente introduce ordenadamente estos comandos: cd /tmp, wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz, tar xvfz mydns-1.2.8.27.tar.gz, cd mydns-1.2.8, ./configure, make, make install. 

Seguidamente crea el siguiente script mediante nano /etc/init.d/mydns y que podéis ver aquí http://links.pc-actual.es/226ISPCONFIG1. Por último, hacemos que el script sea ejecutable y lo inicializamos cada vez que se arranque el servidor mediante chmod +x /etc/init.d/mydns y update-rc.d mydns defaults.

[IMAGE|var/pca2009/storage/images/media/images/paso-3_2_pasos2/1453988-1-esl-ES/paso-3_2_pasos.jpg|center|]
(códigos del Paso 2/2)

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 getmail4 rkhunter binutils
update-alternatives --remove-all maildir.5
update-alternatives --remove-all maildirquota.7
aptitude install maildrop
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem
mkimapdcert
mkpop3dcert
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
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
a2enmod suexec rewrite ssl actions include
aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool
touch /aquota.user /aquota.group
chmod 600 /aquota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
aptitude install vlogger webalizer
aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
cd /tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz
tar xvfz mydns-1.2.8.27.tar.gz
cd mydns-1.2.8
./configure
make
make install
nano /etc/init.d/mydns
-----SCRIPT-----
#! /bin/sh
#
# mydns Start the MyDNS server
#
# Author: Philipp Kern <phil@philkern.de>.
# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
# <miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
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
------ FIN SCRIPT ------
chmod +x /etc/init.d/mydns
update-rc.d mydns defaults


PASO 3. Puesta a punto del cliente webmail
Ya queda poco para poder instalar finalmente ISPConfig 3. Lo único que nos hará falta además de todo lo añadido hasta ahora va a ser un cliente webmail de correo electrónico. Para estos menesteres vamos a utilizar SquirrelMail: aptitude install squirrelmail


[IMAGE|var/pca2009/storage/images/media/images/paso-4_2_pasos2/1453992-1-esl-ES/paso-4_2_pasos.jpg|center|]
A continuación, crea el siguiente link simbólico: ln -s /usr/share/squirrelmail/ /var/www/webmail. Por último configuraremos adecuadamente SquirrelMail usando el comando squirrelmail-configure. Para ello dispondremos de una interfaz en modo texto creada a base de menús. En la primera pantalla selecciona la opción D

En el siguiente menú teclea courier como servidor IMAP. Presiona Intro y posteriormente escoge la opción S para guardar los cambios. Abandona el proceso de configuración presionando Q. Si toda ha ido bien, podrás acceder a SquirrelMail a través de las URLhttp://server.ejemplo.com/webmail o http://192.168.1.100/webmail desde tu navegador.

[IMAGE|var/pca2009/storage/images/media/images/paso-5_2_pasos3/1453996-1-esl-ES/paso-5_2_pasos.jpg|center|]
(códigos del 3/2)

aptitude install squirrelmail
ln -s /usr/share/squirrelmail/ /var/www/webmail
squirrelmail-configure


PASO 4. Por fin, ISPConfig
Ya llegamos al final de la puesta a punto de nuestro servidor y después de haber activado y configurado los distintos módulos necesarios, solamente queda añadir el panel de control web ISPConfig 3. Para ello usaremos los siguientes comandos: cd /tmp, wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.6.tar.gz?use_mirror=, tar xvfz ISPConfig-3.0.1.6.tar.gz, cd ispconfig3_install/install/, php -q install.php

[IMAGE|var/pca2009/storage/images/media/images/paso-6_2_pasos2/1454000-1-esl-ES/paso-6_2_pasos.jpg|center|]

El proceso de configuración comienza. En primer lugar, selecciona el idioma inglés (en). Seguidamente elige el proceso de instalaciónstandard. Ahora vamos a seleccionar todas las opciones que se vayan presentando por defecto pulsando Intro en cada una de ellas hasta llegar al apartado en el que hay que introducir la clave root de MySQL. Introduce la tuya propia y sigue validando el proceso de instalación de nuevo aceptando todas las opciones presentadas por defecto.

[IMAGE|var/pca2009/storage/images/media/images/paso-7_2_pasos2/1454004-1-esl-ES/paso-7_2_pasos.jpg|center|]
(códigos del 4/2)

cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.6.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.6.tar.gz
cd ispconfig3_install/install/
php -q install.php


PASO 5. Acceso a ISPConfig 
Una vez finalizada esta configuración preliminar, ya estaremos en condiciones de acceder a nuestro panel de control y llevar a cabo la puesta a punto real de todas las opciones que estimemos oportunas. 

Para ello, en el navegador introduce http://server.ejemplo.com:8080/ o http://192.168.0.100:8080/ y utiliza como nombre de usuario admin y como contraseña admin. La interfaz mostrada será la más completa de todas. Hay que tener en cuenta que desde aquí vamos a poder controlar absolutamente todo, desde los usuarios que se van a dar de alta en el sistema para que posteriormente sean ellos los que pongan a punto su sitio web hasta los diferentes dominios, pasando por la monitorización de la máquina o la gestión de los revendedores. 


[IMAGE|var/pca2009/storage/images/media/images/paso-8_2_pasos2/1454008-1-esl-ES/paso-8_2_pasos.jpg|center|]
Por poner un ejemplo, para definir un usuario para que tenga los permisos necesarios para identificarse en el sistema y administrar su sitio web habría que dirigirse a SystemAdd User y rellenar los diferentes campos solicitados como el nombre y la contraseña, los módulos que le dejaremos utilizar o el lenguaje entre otras cosas.

Dentro de Sites Website podremos establecer los diferentes sitios web y dominios asociados a los mismos, definiendo incluso la cuota de disco asignada. Desde aquí seremos capaces de gestionar también los accesos y usuarios FTP, las bases de datos o la programación de tareas específicas. 

[IMAGE|var/pca2009/storage/images/media/images/paso-9_2_pasos2/1454012-1-esl-ES/paso-9_2_pasos.jpg|center|]

Por último, os mostramos otra funcionalidad muy útil que va a ser la del correo electrónico. Selecciona Email Email Mailbox. Asociados a un dominio determinado, podremos dar de alta tantas cuentas de correo como queramos, indicando el espacio disponible en el buzón o la utilización o no del filtro anti-spam instalado por ejemplo. Desde aquí podremos llevar a cabo el redireccionamiento de cualquier cuenta de correo o definición de listas negras y blancas globales. 

En definitiva, tal y como podéis observar, las funcionalidades ofrecidas por ISPConfig 3 son muy variadas y potentes. El único requisito será contar con una máquina que pueda actuar de servidor y disponer de una infraestructura a nivel de red adecuada para poner a punto todos los servicios deseados.

[IMAGE|var/pca2009/storage/images/media/images/paso-10_2_pasos2/1454016-1-esl-ES/paso-10_2_pasos.jpg|center|]

No hay comentarios:

Publicar un comentario