Generalmente cuando uno dice "Servidor Web" en Linux, le viene a la cabeza sólamente Apache, pero es sabido que hay una gran variedad de softwares que cumplen a veces los requisitos que realmente necesitamos cumplir, entonces, es mejor utilizar otro sistema de servidor web con menos complejidad, más simpleza y más liviandad.
La idea del artículo es desmenuzar un par de servidores webs dando vuelta, no muy conocidos ni muy utilizados, pero no por ello menos interesantes y funcionales.
Empezamos con uno bien livianito, Ngingx
Para empezar, vamos a instalar build-essential para luego poder compilarlo:
dijo:apt-get install build-essential
Lo siguiente que hacemos es instalar un par de paquetes que vamos a necesitar luego:
nginx:dijo:apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
dijo:wget http://sysoev.ru/nginx/nginx-0.5.35.tar.gz
Descomprimimos:
dijo:tar zxf nginx-0.5.35.tar.gz
El “sbin-path” por defecto es “/usr/local/nginx/sbin”, así que al archivo "configure" vamos a indicarle otra ruta: “/usr/local/sbin”. y añadiremos soporte para SSL:
dijo:cd ngin*
./configure --sbin-path=/usr/local/sbin --with-http_ssl_module
make
make install
Probamos en nuestro navegador si funciona el sitio, tendría que estar funcionando .. de lo contrario no se compiló de forma correcta o no se inició el servicio.
Tldaldado como "el más ágil", Cherokee soporta FastCGI, SCGI, PHP, CGI, SSI, TLS y conexiones encriptadas SSL, Virtual hosts, codificación sobre la marcha, balanceo de carga, logs compatibles con Apache, balanceo de bases de datos, Reverse HTTP Proxy, Traffic Shaper, Video Streaming....
Entre las características más destacadas de Cherokee Web Server:
dijo:
* velocidad, hasta 6 veces más rápido que Apache
* facilidad de configuración gracias a su panel de control
* servidor web multiplatafirma bajo la licencia GNU
Lo primero que vamos a hacer (bah, lo hice yo porque anteriormente tenía instalado Apache2) es purgar justamente Apache2.
dijo:aptitude purge apache2
Intalamos primeramente mysql-server y client:
dijo:apt-get install mysql-server mysql-client
Seteamos la clave de root de nuestro SQL y nos disponemos a instalar cherokee
Instalamos cherokee
dijo:apt-get install cherokee
Pesa menos que una mosca, lo instala rapidísimo y ya está corriendo ..
Cherokee posee una configuración GUI por Web muy bonita, para activarla tenemos 2 opciones
1) Activarla sólamente para el ingreso local
2) Activarla para el ingreso de una ip externa
dijo:cherokee-admin -b
Con el comando anterior sólamente permitiremos el acceso al panel de configuración desde la máquina donde esté instalada Cherokee.
En mi caso estoy utilizando una máquina virtual, en tal caso lo que hago es darle "permiso" a la ip desde donde estoy escribiendo, fuera de la máquina virtual (10.0.0.6)
El comando sería el siguiente:
dijo:cherokee-admin -b 10.0.0.6(EN MI CASO)
Accedo al panel de administración de Cherokee de la siguiente manera: http://IP:9090
Vamos a darle soporte PHP ..
dijo:apt-get install php5-cgi
Editamos el archivo php.ini situado en /etc/php5/cgi/
dijo:nano /etc/php5/cgi/php.ini
Y agregamos al final la siguiente línea:
dijo:cgi.fix_pathinfo=1
Reiniciamos cherokee
dijo:/etc/init.d/cherokee restart
Vuelvo a darme acceso al panel de administración:
dijo:cherokee-admin -b 10.0.0.6
Ingreso: http://10.0.0.18:9090
Vamos a la sección "Virtual Servers"
Luego vamos a "php"
Finalmente a "Behaviour" y verificamos que se utilice FastCGI
Vamos a crear un archivo php para verificar que todo funcione correctamente:
dijo:cd /var/www
dijo:nano info.php
dijo:
Ingresamos: http://10.0.0.18/info.php
Está funcionando perfectamente bien, ahora lo último que vamos a instalar son los módulos que quizá más adelante necesitemos a la hora de programar o armar nuestro sitio
dijo:apt-get install install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
Reiniciamos cherokee (/etc/init.d/cherokee restart) e ingresamos nuevamente a nuestro info.php y vamos a ver que hay muchísimos más módulos que antes..
Eso es todo ..
Lighttpd es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares.
Está optimizado para entornos donde la velocidad es muy importante, y por eso consume menos CPU y memoria RAM que otros servidores. Por todo lo que ofrece, lighttpd es apropiado para cualquier servidor que tenga problemas de carga.
Lighttpd es software libre y se distribuye bajo la licencia BSD. Funciona en GNU/Linux y UNIX de forma oficial. Para Microsoft Windows actualmente hay una distribución conocida como Lighttpd For Windows mantenida por Kevin Worthington.
Hecha la introducción a qué es lighttpd empezamos con el tutorial:
Lo primero que vamos a hacer es instalar el cliente y servidor de nuestro MySQL:
dijo:apt-get install mysql-server mysql-client
Nos va a pedir la contraseña de root, la tenemos que introducir dos veces.
Ahora instalamos lighttpd:
dijo:apt-get install lighttpd
Lighttpd usa como directorio por default para sus archivos (los del sitio) /var/www (igual que Apache2).
Probamos si está funcionando nuestro sitio: (en mi caso http://192.168.1.5)
Bien, ya tenemos funcionando nuestro servidor web, ahora vamos a instalar PHP5.
Para hacer funcionar a PHP5 en lighttpd vamos a utilizar FastCGI.
Instalamos:
dijo:apt-get install php5-cgi
Y ahora editamos el archivo php.ini que se encuentra en /etc/php5/cgi/php.ini
dijo:nano /etc/php5/cgi/php.ini
Nos vamos al final del archivo y agregamos esta línea:
dijo:cgi.fix_pathinfo=1
Para activar nuestra configuración de FastCGI escribimos:
dijo:lighttpd-enable-mod fastcgi
Recargamos lighttpd:
dijo:/etc/init.d/lighttpd force-reload
Ahora vamos a probar si realmente configuramos todo bien y ya tenemos funcionando nuestro PHP5 en el servidor.
Para esto, vamos a crear un archivo en php:
dijo:nano /var/www/ver.php
Y copiamos el popular phpinfo();
dijo:
Entramos a (en mi caso) http://192.168.1.5/ver.php:
Ya tenemos funcionando nuestro PHP5, ahora sólo nos falta obtener soporte de MySQL en PHP5, instalamos todos estos paquetes:
dijo:apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
Reiniciamos lighttpd:
dijo:/etc/init.d/lighttpd restart
Y ahora cuando entremos de nuevo a nuestro archivo php (http://192.168.1.5/ver.php) vamos a ver que tenemos muchos más módulos soportados, entre ellos MySQL:
Eso es todo, ya tenemos instalado nuestro Servidor Web con Lighttpd que soporta PHP5 y MySQL
Aolserver, poco conocido y poco utilizado ..
Es un servidor para aplicaciones Web que presenta un alto desempeño en sitios que presentan gran demanda; con gran tráfico. Las principales características que describen a AOLServer son las siguientes:
dijo:
Arquitectura multi-hilos para un alto y eficiente desempeño.
Simple acceso a bases de datos.
Conexiones a base de datos con alta disponibilidad y rapidez de acceso.
Proyecto de Código Abierto, distribuido de forma gratuita.
PostgreSQL: Es el manejador de bases de datos relacionales más avanzado de código abierto que existe. El proyecto ha estado en constante progreso por 15 años. Actualmente PostgreSQL es utilizado para almacenar todos los registros de los dominios .INFO y .ORG.
OpenACS: Es una plataforma que permite construir aplicaciones web orientadas a comunidades. Esta plataforma está diseñada para sitios web que experimentan alto tráfico. OpenACS presenta gran gama de características que ayudan al rápido desarrollo de aplicaciones. De igual manera cuenta con un gran número de funcionalidades implementadas, las cuales están disponibles para que los desarrolladores y administradores las puedan usar.
Para instalarlo basta con teclear:
dijo:apt-get install aolserver4
Y luego iniciar el servicio e ir a http://127.0.0.1 o http://localhost
/etc/init.d/aolserver4 start
Aquí van a encontrar un poco más de información sobre este webserver.
Según Wikipedia:
Tomcat es un servidor web con soporte de servlets y JSPs. Tomcat no es un servidor de aplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que compila JSPs convirtiéndolas en servlets. El motor de servlets de Tomcat a menudo se presenta en combinación con el servidor web Apache.
Tomcat puede funcionar como servidor web por sí mismo. En sus inicios existió la percepción de que el uso de Tomcat de forma autónoma era sólo recomendable para entornos de desarrollo y entornos con requisitos mínimos de velocidad y gestión de transacciones. Hoy en día ya no existe esa percepción y Tomcat es usado como servidor web autónomo en entornos con alto nivel de tráfico y alta disponibilidad.
Dado que Tomcat fue escrito en Java, funciona en cualquier sistema operativo que disponga de la máquina virtual Java.
Lo primero que vamos a hacer es agregar unos repositorios para instalar Java, de lo contrario no vamos a poder hacer funcionar nuestro Tomcat
dijo:nano /etc/apt/sources.list
Agregamos:
dijo:deb http://ftp.debian.org/debian/ unstable main non-free
dijo:apt-get update
Instalamos los siguientes paquetes: sun-java6-bin sun-java6-jdk sun-java6-jre
dijo:apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre
Bueno, tenemos instalado Java recién, ahora ingresamos al sitio de Tomcat y nos descargamos la última versión, la 7.0
O directamente hacemos click acá (para los fiacas..)
Descomprimimos:
dijo:tar xvzf apache-tomcat*
Movemos a otro directorio:
dijo:v apache-tomcat* /usr/share/tomcat7
Y ahora tenemos que indicar el JAVA_HOME a nuestro Tomcat, hay 2 formas de hacerlo, la primera puede fallar, la 2da no.
1) Editamos el archivo .bashrc en nuestro home:
dijo:nano .bashrc
y al final de todo agregamos esto:
dijo:export JAVA_HOME=/usr/lib/jvm/java-6-sun
2) Ejecutamos: /usr/share/tomcat6/bin/startup.sh
dijo:/usr/share/tomcat6/bin/startup.sh
Ya debería estar funcionando nuestro Tomcat, para comprobarlo ingresamos al ip, en mi caso como estoy contra una máquina virtual:
http://10.0.0.18:8080
Si queremos que se inicie automáticamente, hacemos lo siguiente:
dijo:nano /etc/init.d/tomcat
Y pegamos esto:
dijo:
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start)
sh /usr/share/tomcat6/bin/startup.sh
;;
stop)
sh /usr/share/tomcat6/bin/shutdown.sh
;;
restart)
sh /usr/share/tomcat6/bin/shutdown.sh
sh /usr/share/tomcat6/bin/startup.sh
;;
esac
exit 0
Lo hacemos ejecutable (le damos permisos)
dijo:chmod 755 /etc/init.d/tomcat
Y listo ..
yo solito y mi blog..