HOWTO: Cómo instalar el servidor de páginas web Abyss Web Server.



ÍNDICE



INTRODUCCIÓN

Un servidor web es aquél software o hardware que provee documentos HTML (HyperText Markup Language). Hay dispositivos de hardware que integran un servidor web que permite configurar dicho dispositivo de manera fácil a través de un navegador, ejemplos de dispositivos que integran un servidor web son Multifuncionales, Enrutadores, Switches, Impresoras. Generalmente este tipo de servidor web no es posible desinstalar, cambiar por otro o configurar, ya que viene de fábrica y está integrado al hardware. Lo que sí es posible, para el usuario final, es la actualización del equipo mediante parches de firmware.

Por otro lado hay equipos de cómputo en los que se instala software que convierte a dicho equipo en un servidor de páginas web. Ejemplo de ellos son una máquina de escritorio, una estación de trabajo, un equipo portátil, o un mainframe. Servidores web conocidos en este rubro son Apache de la Fundación Apache, Internet Information Services (IIS) de Microsoft, KF Web Server de KeyFocus, Lighttpd de Jan Kneschke, y otros.



JUSTIFICACIÓN

Este documento explica paso a paso cómo instalar la versión gratuita del servidor Abyss Web Server de Aprelium, ya que es una aplicación muy sencilla de instalar, administrar, configurar, y desinstalar. Es además multiplataformas ya que existen versiones para MS Windows, Macintosh, Linux y BSD, por lo tanto es fácil que el usuario continúe usando el mismo servidor aún cuando cambie de plataforma.

Muchos usuarios desean instalar un servidor web para probar sus páginas web diseñadas, y sienten que configurar otros servidores web requiere más complejidad, complejidad que el usuario quizás no necesite. Otros usuarios sólamente desean instalar servicios locales para sus propias aplicaciones en la LAN. Abyss Web Server es una excelente opción para dichos usuarios por la rapidez de la instalación y configuración. No por ello debe considerarse a dicho software como algo que no es serio, o carente de robustez.



INFORMACIÓN

Sitio oficial:
http://www.aprelium.com/

Características del servidor:
http://www.aprelium.com/abyssws/features.html

Imágenes del servidor en distintas plataformas:
http://www.aprelium.com/abyssws/screenshots.html

Comparación entre Personal Edition (X1) y Professional Edition (X2)
http://www.aprelium.com/abyssws/summary.html

La versión a instalar que se explica en este documento es la versión X1 2.6 Personal Edition (Free).

Descargas:
http://www.aprelium.com/abyssws/download.php

Traducciones:
http://www.aprelium.com/abyssws/languages

Foro:
http://www.aprelium.com/forum/



DESCARGAR

Crear un directorio dentro de ~/Descargas:

$ cd ~/Descargas
$ mkdir abyss-web-server-x1-2.6

Entrar al directorio anteriormente creado y crear una carpeta de respaldo que se usará posteriormente:

$ cd abyss-web-server-x1-2.6
$ mkdir respaldo

Descargar el paquete de la aplicación (654 KB), y el archivo del idioma español (17.5 KB):

$ wget http://www.aprelium.com/data/abwsx1.tgz
$ wget http://www.aprelium.com/abyssws/languages/a/es.lng


EXTRAER Y COPIAR

Crear el directorio bin dentro del directorio raíz del usuario:

$ mkdir ~/bin/

Extraer el contenido del archivo descargado (automáticamente se creará el directorio abyssws/):

$ tar xzf abwsx1.tgz

Move el directorio abyssws/ hacia el directorio ~/bin/ :

$ mv -r ./abyssws/ ~/bin/

Copiar el idioma español hacia la ruta ~/bin/abyssws/lang/ :

$ cp es.lng ~/bin/abyssws/lang/

Entrar al directorio del servidor, y conocer el contenido:

$ cd ~/bin/abyssws/
$ ls

El resultado es:

abyssws*                         <--- archivo binario, es el servidor en sí
autostart-setup*                 <--- script para instalar/remover autoarranque
console/
doc/
kcstore/
htdocs/                          <--- directorio raíz para los documentos web
Installation Instructions.html
lang/                            <--- contiene los archivos de otros idiomas
license.txt
log/

Nota: En el subdirectorio lang/ ya están los archivos ar.lang y fr.lang que corresponden a los idiomas árabe y francés, además del archivo es.lang que fue copiado anteriormente.



INSTALAR

Iniciar y Detener el servidor por primera vez para que se cree automáticamente el archivo de configuración abyss.conf:

$ ./abyssws

Se mostrará el siguiente mensaje:

Abyss Web Server X1 (v 2.6)
Copyright (C) Aprelium - 2001-2009

A configuration file was created.
You should now browse http://127.0.0.1:9999 to continue with the console access configuration.

-- Default host on port 8000 is up and running (Local URL http://127.0.0.1:8000)

Console local URL: http://127.0.0.1:9999

Y se debe presionar CTRL+C para detener el servidor (este paso fue para crear el archivo de configuración), mostrándose el siguiente mensaje:

Signal #2 received. Shutting down the server...

Tomar nota de los 2 puertos TCP (8000 y 9999) que abrió el servidor web. Aunque el puerto 80 es el estándar para el protocolo HTTP, Abyss Web Server no abre dicho puerto porque prevée la existencia de otro servidor web que ya pudiera tener dicho puerto ocupado. De cualquier manera, los puertos pueden ser modificados más adelante, y hay que agregarlos a las reglas del cortafuegos (en caso de tener uno habilitado) en el equipo donde esté instalado el servidor web.

Observar también que se haya mostrado el mensaje "A configuration file was created" el cual indica que se creó el archivo abyssws.conf. Para comprobarlo:

$ ls -l abyssws.conf
-rw------- 1 usuario grupo  11K 2009-07-13 00:08 abyssws.conf


INSTALAR AUTOARRANQUE

Para hacer que el servidor inicie automáticamente cuando se encienda el equipo:

$ sudo ./autostart-setup install
[sudo] password for usuario:
[: 167: Illegal number:
Adding system startup for /etc/init.d/abyssws ...
   /etc/rc0.d/K99abyssws -> ../init.d/abyssws
   /etc/rc1.d/K99abyssws -> ../init.d/abyssws
   /etc/rc6.d/K99abyssws -> ../init.d/abyssws
   /etc/rc2.d/S99abyssws -> ../init.d/abyssws
   /etc/rc3.d/S99abyssws -> ../init.d/abyssws
   /etc/rc4.d/S99abyssws -> ../init.d/abyssws
   /etc/rc5.d/S99abyssws -> ../init.d/abyssws

Nota: se mostró el mensaje [: 167: Illegal number:, pero funciona la instalación del servicio.

Este paso anterior también permite iniciar o detener el servicio como se mostrará a continuación.



INICIAR / DETENER EL SERVICIO

Iniciar el servicio:

$ /etc/init.d/abyssws start
Starting Abyss Web Server daemon...
$

Detener el servicio:

$ /etc/init.d/abyssws stop
Stopping Abyss Web Server daemon...
$

Reiniciar el servicio:

$ /etc/init.d/abyssws restart
Restarting Abyss Web Server daemon...
$

Si se intenta detener el servicio cuando no está en ejecución:

$ /etc/init.d/abyssws stop
Stopping Abyss Web Server daemon...It seems that no Abyss Web Server instance is currently running.
$

Si se intenta reiniciar el servicio cuando no está en ejecución:

$ /etc/init.d/abyssws restart
Restarting Abyss Web Server daemon...It seems that no Abyss Web Server instance is currently running.
$

Nota: Si en algún momento se olvidan los puertos que está usando el servidor se usa el comando netstat (network status) con los parámetros -l (listening) y -p (programs) para obtener mostrar los puertos abiertos en espera de conexiones y los nombres de los programas que los tienen abiertos, y se filtra todo el resultado con el comando grep para mostrar únicamente el nombre del proceso abyssws:

$ netstat -l -p | grep abyssws
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp        0      0 *:8000                  *:*                     LISTEN      8380/abyssws
tcp        0      0 *:9999                  *:*                     LISTEN      8380/abyssws
$

Se observa que los puertos abiertos y en espera de conexiones son el 8000 y el 9999. Si no se muestra nada es porque el servicio no ha sido iniciado.

Nota: Si el usuario ha iniciado el servidor web más de una vez sin haberlo dentenido previamente, se creará una nueva instancia del servicio, y se abrirán 2 puertos más diferentes a los primeros y esto se puede comprobar con el comando netstat como se acaba de explicar, por lo tanto será necesario detener todas las instancias del servicio, usando el comando ya mostrado para detener el servicio. Si no se logra detener se puede usar una herramienta como htop, presionar la tecla / para buscar, escribir el nombre abyssws y "matar" cada uno de los procesos padres encontrados presionando la tecla K (kill) y seleccionando la señal SIGTERM -15, y pulsando Enter. Cabe recordar que matar un proceso con la señal SIGKILL -9 puede causar daños al proceso mismo o a los archivos que tenga abiertos dicho proceso.



ACCEDER DESDE EL NAVEGADOR

Recordar que los puertos 8000 y 9999 son los predeterminados de Abyss Web Server y que pueden ser cambiados posteriormente.

Al puerto 8000 se conectarán los navegadores para visualizar las páginas web.
Al puerto 9999 se conectarán los navegadores para administrar el servidor web.

Para acceder al servidor localmente se usa la dirección IP especial 127.0.0.1, llamada localhost o loopback:

http://127.0.0.1:8000/ ó http://localhost:8000/ <--- para visualizar las páginas web.
http://127.0.0.1:9999/ ó http://localhost:9999/ <--- para administrar el servidor web.

Desde el resto de los equipos en la red se establecerá la conexión usando la dirección IP que tenga el equipo servidor. Ejemplos para conocer las direcciones IP del servidor (se deben ignorar las líneas que contengan la dirección IP 127.0.0.1):

$ cat /etc/network/interfaces | grep address
address 127.0.0.1
address 10.0.2.15

ó:

$ ifconfig | grep 'inet addr'
inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
inet addr:127.0.0.1  Mask:255.0.0.0

De acuerdo al ejemplo anterior los otros equipos de la red se conectarían a la dirección IP 10.0.2.15 del servidor así:

http://10.0.2.15:8000/ <--- para visualizar las páginas web.
http://10.0.2.15:9999/ <--- para administrar el servidor web.

También pueden conectarse usando el nombre del equipo, pero el servicio de nombres de dominio (DNS, Domain Name Service) debe haberse instalado y configurado previamente en algún equipo en la red. Otra opción es configurar el archivo HOSTS (anfitriones) en cada equipo de la red, para que dicho archivo contenga una relación de las direcciones IP y sus correspondientes nombres de equipos. En MS Windows XP dicho archivo es c:\windows\system32\drivers\etc\hosts, en Linux el archivo es /etc/hosts .

El siguiente es un ejemplo del contenido de un archivo HOSTS. Se escribe la dirección IP, se deja un espacio, y se escribe el nombre del equipo (al final de la lista se debe dejar un renglón vacío aunque aquí abajo no se muestre):

127.0.0.1 localhost
192.168.0.1 servidor-impresion
192.168.0.2 servidor-web
192.168.0.3 servidor-ftp
         

De acuerdo al ejemplo anterior los demás equipos en la red se conectarían usando los enlaces:

http://servidor-web:8000/ <--- para visualizar las páginas web.
http://servidor-web:9999/ <--- para administrar el servidor web.


Cuando el navegador se conecta al puerto 8000 del servidor web se muestra el siguiente mensaje, el cual es la página predeterminada y debe ser cambiada por la que se desee:

Welcome to Abyss Web Server

Abyss Web Server is running correctly on your system. You should now change this page with yours.

Please include in your web pages (at least the first) the 'Powered by Abyss Web Server' banner to promote the use of the software.

Abyss Web Server - Copyright © 2001-2009 Aprelium - All rights reserved

Cuando el navegador se conecta al puerto 9999 del servidor web se muestra el siguiente mensaje, el cual es la bienvenida a la consola de administración, en donde primeramente se debe seleccionar el idioma (debe mostrarse el idioma español también, debido al archivo es.lang copiado anteriormente):

Abyss Web Server Console :: Console Configuration :: Language Help

Choose the language you want to use.
Choisissez la langue que vous voulez utiliser.
اختر اللغة التي تريد أن تستعملها.
Elija el idioma que desea utilizar

Después de seleccionar el idioma se creará un usuario con contraseña, el cual será el administrador del servidor web. Este paso no se puede omitir y debe tenerse cuidado en guardar en un lugar seguro dicha información. Esta información será solicitada cada vez que se intente acceder al servidor web a través del puerto 9999.

Por último se visualizará el estado del servidor, y estarán disponibles diversos enlaces para configurar más opciones.



UBICAR EL DIRECTORIO RAÍZ

Para identificar el directorio raíz y la página web preterminada:

$ cd ~/bin/abyssws/htdocs/
$ ls -l
total 8.0K
-rw-r--r-- 1 usuario grupo 1.4K 2009-01-15 12:02 index.html
-rw-r--r-- 1 usuario grupo 1.9K 2009-01-15 12:02 pwrabyss.gif

Posteriormente se edita el archivo index.html con la aplicación favorita. Este tutorial no pretende instruir cómo crear documentos HTML.

Finalmente en la consola de administración del servidor web ( http://localhost:9999/ ) se puede seleccionar Configurar, y luego seleccionar General. Ahí se pueden cambiar el puerto y el protocolo (HTTP / HTTPS). Una vez hechos los cambios el servidor indicará que se debe reiniciar el servicio, y mostrará un botón para ese propósito. Este tutorial no pretende instruir cómo configurar las demás opciones del servidor web.

Todos los cambios que se realicen en la consola de administración, se guardarán en el archivo ~/bin/abyssws/abyssws.conf .



DESINSTALAR

Detener el servicio:

$ /etc/init.d/abyssws stop
Stopping Abyss Web Server daemon...
$

Es importante que se respalde el archivo de configuración abyssws.conf, copiándolo hacia directorio respaldo que se creó en los primeros pasos de este tutorial. También se debe respaldar el directorio ~/bin/abyssws/htdocs/ :

$ cd ~/bin/abyssws/
$ cp abyssws.conf ~/Descargas/abyss-web-server-x1-2.6/respaldo/
$ cp -r htdocs/ ~/Descargas/abyss-web-server-x1-2.6/respaldo/
$

Si posteriormente se desean restaurar dichos respaldos:

$ cd ~/Descargas/abyss-web-server-x1-2.6/respaldo/
$ cp abyss.conf ~/bin/abyssws/
$ cp -r htdocs/ ~/bin/abyssws/
$

Desinstalar el arranque automático:

$ cd ~/bin/abyssws/
$ sudo ./autostart-setup remove
[sudo] password for usuario:
[: 167: Illegal number:
Removing any system startup links for /etc/init.d/abyssws ...
   /etc/rc0.d/K99abyssws
   /etc/rc1.d/K99abyssws
   /etc/rc2.d/S99abyssws
   /etc/rc3.d/S99abyssws
   /etc/rc4.d/S99abyssws
   /etc/rc5.d/S99ab

Nota: se mostró el mensaje [: 167: Illegal number:, pero funciona la desinstalación del servicio.

Salir del directorio y eliminarlo:

$ cd ~
$ rm -rf ~/bin/abyssws/
$