hosting Alojamiento de sitios en Linux
Alojamiento de sitios en Linux Gabriel García
linux@software.com.pl
Linux ocupa un muy buen lugar en servidores en la actualidad debido a su flexibilidad y gran variedad de servicios disponibles, entre ellos el de servidor web para el alojamiento de sitios y aplicaciones en Internet.
S
e conoce como hosting o servicio de alojamiento al servicio ofrecido por una computadora trabajando como servidor y conectada a Internet donde se pueden alojar páginas (archivos HTML) que • constituyen un sitio web, estos equipos corren un programa (Apache en general) que, por defecto, escucha el puerto 80 para contestar las peticiones que realizan los navegadores.
Tipos de alojamiento
Los tipos de alojamiento se dividen en cuanto a las cualidades • de los mismos, en general tenemos los siguientes: •
76
Servicio compartido: uno de los más usados para pequeños sitios, en general son económicos ya que un solo servidor físico pueden contener cientos de sitios o • cuentas individuales lo que abarata su costo; se usa una aplicación web para su administración y los archivos se pueden subir vía FTP. Se suelen evitar estos servicios cuando la seguridad es importante ya que estamos compartiendo la misma máquina con cientos de usuarios y pueden haber brechas de seguridad, además que los certificados SSL (https) suelen ser el mismo para todos
Linux+ 12/2008
los usuarios. Otra desventaja de este tipo de servicio es que la performance del mismo suele ser baja en algunos momentos si muchos sitios tienen picos de visitas. Servicios gratuitos: son una variante del servicio de arriba pero con la salvedad de ser gratuitos o con la obligación de usar alguna publicidad en nuestras páginas, en general la performance es aún peor ya que se suelen colocar muchos más sitios por lo que suelen ser frecuentes la caídas de servicio. Alojamiento para revendedores: este tipo es el que se ofrece a quienes quieren re-vender el servicio a empresas más pequeñas y ganar una diferencia, se adquieren grandes cantidades de espacio y de ancho de banda para segmentarse en paquetes pequeños para ser vendidos. Servidor hogareño: podemos tener un sitio web propio desde nuestras casas sin necesidad de pagar por un servidor externo, en general se usan equipos pequeños o antiguos y que tengan una conexión permanente a Internet, de esta manera podemos alojar nuestros archivos, como veremos más adelante una simple conexión de banda ancha (ADSL o cable-módem) bastaría, aunque no es lo ideal.
hosting Alojamiento de sitios en Linux •
Servidor dedicado: este tipo de servidor suele ser un equipo para uso exclusivo nuestro, sin compartir nada, tendremos el 100% del CPU y del ancho de banda para nuestro uso, además de poder instalar lo que deseemos, por supuesto, esta opción es mucho mas cara que las anteriores, en general las empresas que ofrecen este servicio brindan soporte técnico de hardware y ayuda en las instalaciones de software.
Alojamiento en Linux
Para todos los tipos expuestos arriba Linux puede ser usado sin inconvenientes y ha demostrado ser una solución eficiente sobre todo por su bajo coste, además ofrece una gran variedad de opciones en cuanto a servicios extras que hacen aún más atractiva su implementación, en general el software que se usa para servidor web es el Apache que viene por defecto en la mayoría de las distribuciones, aunque últimamente están creciendo muy de a poco otras opciones como Nginx y lighttpd que son mas livianos que Apache que ha crecido mucho en tamaño los ultimos tiempos a pesar de su modularidad.
incluidas. Con mySQL sucede algo parecido, la versión 4.X se sigue usando mucho y esta muy extendida en los servicios de alojamiento, pero estas versiones sólo tienen correcciones de seguridad muy graves y ningún otro tipo de actualización, por lo que es muy conveniente usar una versión 5.X o exigir a nuestro proveedor que actualize su servidor a dicha versión en el caso de no poder hacerlo nosotros mismos. Cabe aclarar que con Apache es conveniente tener siempre la última versión para estar al día con correcciones de seguridad y nuevas mejoras.
Distribuciones dedicadas
Si bien a cualquier distribución Linux le podemos instalar Apache, hay algunas que nos facilitan el trabajo, por suerte el mundo Linux al ser abierto permite que cada uno se implemente lo que desee al modo que desee, por eso hay varias distribuciones dedicadas para el montaje de servidores web que permiten optimizar el uso de la
computadora y a su vez agilizar su implementación. Un ejemplo de esto es Lamppix (http: //lamppix.tinowagner.com/), que esta basada en Knoppix y Damn linux, incluye las ultimas versiones de las aplicaciones LAMP, posee un escritorio muy liviado basado en XFCE lo que permite su uso en equipos no muy potentes. Lamppix viene en el formato de Live-CD por lo que podremos probarla sin necesidad de instalar nada. Otra distribución lista para esto es SLAMPP (http://slampp.abangadek.com) que viene en el formato de Live-CD y también es heredera de Slackware, incorpora soporte para muchos protocolos como HTTP/HTTPS, FTP, POP, IMAP, SMTP, SSH, DHCP, Squid entre otros. Incluye antivirus y firewall. El escritorio es Xfce para un uso sin problemas en equipos de bajo recursos. Podemos echar una mirada a Sol Linux (http://www.sol-linux.com/) diseñada especialmente para servidores y con todo lo necesario para ofrecer servicios web y virtualiza-
LAMP
Esta sigla se suele ver bastante y corresponde a Linux Apache mySQL PHP, una asociación bastante usada en Internet, es decir, usar sitios web realizados en lenguaje PHP que almacenen datos en base de datos mySQL en un servidor Linux y ofrecidas por Apache. Por supuesto que variaciones sobre esto como usar PostgreSQL o Ruby on Rails o alguno de los servidores web que mecionamos antes, incluso la “P” puede ser Perl o Python pero son opciones mucho menos populares. La mayoría de las distribuciones Linux de la actualidad traen estos paquetes para instalar desde sus repositorios o ya instalado listo para usar. Vale aclarar que no necesaria- Figura 1. Lamppix mente hay que instalar todos los componentes, quizás solo deseemos usar Apache para servir páginas HTML sin usar PHP o base de datos por ejemplo, siempre esto último es conveniente así solo nos quedamos con lo que realmente necesitamos. Si contratamos en servicio de alojamiento ajeno debemos tener en cuanta algunas cosas más, aunque tambien es válido para nuestro propio servidor, entre estas estan las versiones de los componentes, por ejemplo, PHP su versión de uso actual es 5.2, pero hay muchos servidores que aún ofrecen la versión 4.4.X que estan sin soporte por la gente de Zend, esto es muy importante sobre todo en el tema de la seguridad y de a poco en el tema de la compatibilidad, ya existen numerosos scripts que piden la versión 5 de PHP exclusivamente para hacer uso de las nuevas funcionalidades Figura 2. Descargando Ubuntu Server
www.lpmagazine.org
77
hosting Alojamiento de sitios en Linux ción entre otros. Esta distribución tiene muchas • características interesantes: • •
Sol no depende de ninguna otra distribución, es una distribución base, Se actualiza muy frecuentemente, Esta hecha por desarrolladores para desarrolladores, Soporta instalación sobre red (PXE),
• • •
Compatible con virtualización, Herramientas de administración.
No podemos dejar de mensionar Debian (http:/ /www.debian.org/) como una de las distribuciones multipropósito mas usadas y con que pesan muy fuerte en el mundo de los servidores por su robustez y estabilidad, lo que la hacen ideal para el uso de provedor de servicios web. Si bien
Figura 3. VHFFS
Administradores web •
•
•
• •
• •
•
•
78
Cube Control Panel (http://www.cubepanel.com) tiene una versión liviana de hasta 5 dominios, en el mismo sitio podremos acceder a un demo para verlo funcionando. Cuenta con tres niveles de administración: administrador, dominio y cliente, esto es fundamental si queremos delegar o vender nuestro servicio de hosting. VHCS (http://vhcs.net/new/) es Open Source y gratuito, soporta muchas distribuciones y oferce la mayoría de las funcionalidades de los administradores pagos. También incluye un demo para probarlo en el sitio web. Webmin (http://www.webmin.com/) es uno de los más completos aunque el diseño es algo rudimentario en comparación a los otros, tambiern disponemos de paquetes listos para usar según la distribución y además un demo en el sitio web. Penguinator (http://penguinator.org/) es otra alternativa Open Source interesante que podemos probar. VHFFS (http://www.vhffs.org) también es Open Source con muchos años de desarrollo y actualizaciones constantes, lamentablemente el sitio no ofrece un demo del mismo pero podremos ver algunas capturas o directamente instalarlo y probalo. Baifox (http://www.baifox.org) desarrollado en PHP puede ser otra alternativa viable para usar. GNU Hosting Helper (http://hostingsoftware.net/) como el nombre lo indica con licencia GNU, si bien no tiene un demo en el sitio para probarlo, podemos descargarlo libremente desde el mismo lugar. GNUPanel (http://www.gnupanel.org/) tiene soporte en español ya que sus desarrolladores hablan nuestro idioma, lamentablemente el demo del sitio no muestra las funcionalidades que ofrece. ISPConfig (http://www.ispconfig.org/) soporta gran número de distribuciones y tiene actualizaciones constantes lo que lo hace interesante para hecharle una mirada.
Linux+ 12/2008
la instalación y configuración puede no ser tan trivial como distribuciones especializadas, tenemos como contrapartida una gran comunidad para buscar ayuda y tutoriales, además de saber que cada paquete es probado rigurosamente antes de estar disponible para actualización. Otra opción muy usada es CentOS (http: //www.centos.org/) que es una compilación de los archivos fuentes de Red Hat, lo que la hace 100% compatible con esta, su uso está bastante difundido en servidores de hosting profesionales. También Ubuntu (http://www.ubuntu.com/ products/whatisubuntu/serveredition) tiene su versión para servidores con soporte LAMP incuído. Para los usuarios novatos esta distribución es fácil y sencilla de instalar, aunque personalmente recomendaría Debian (http: //www.debian.org/index.es.html) por su robustez. Pero todo siempre sirve y lo aprendido con Ubuntu Server lo podremos trasladar a Debian más adelante. Podemos descargar la versión servidor desde aquí: http://www.ubuntu.com/ getubuntu/download, y elegiendo la version server como vemos en la figura. La versión al momento de escribir este artículo es la 8.04LTS, que tiene soporte hasta al año 2013, veamos un breve detalle de que contiene: • • • • • •
Kernel 2.6.24, Apache 2, mySQL 5, PostgreSQL 8, PHP 5.2.4, Perl, Phyton, Ruby y muchos más.
El instalador nos preguntará si deseamos el soporte LAMP en nuestro servidor, una aclaración importante es que esta versión no incluye servidor gráfico X (aunque puede ser instalado después), así que tendremos que manejarnos con la consola, si no nos atrevemos a esto por ahora podemos usar alguna de las otras ditribuciones.
Qué elegir
Esto depende de nuestras necesidades, si pensamos ofrecer alojamiento a clientes la mejor opción será un servicio de Revendedor (Reseller) o, mejor aún, un servidor dedicado en el caul podremos instalar lo que nos parezca más
En la red • • • •
Apache: http://www.apache.org/ Nginx: http://nginx.net/ lighttpd: http://www.lighttpd.net/ PHP: http://www.php.net
•
mySQL: http://www.mysql.com
hosting Alojamiento de sitios en Linux adecuado a nuestros requerimientos. Si solo pensamos en tener nuestro sitio web personal, podremos usar un equipo pequeño tipo pentium II ó III con 128Mb de memoria y con un disco de 4Gb es mas que suficiente, podremos usar cualquiera de las distribuciones mencionadas arriba. Por supuesto, que a más espacio y potencia mejor será el desempeño del servidor.
Conexión a Internet
En el caso de montar nuestro servidor hogareño necesitaremos una conexión permanente a Internet y que esté disponible la mayor cantidad del tiempo posible, lo ideal es una coneción con dirección IP fija a la cual podremos asociar nuestro dominio, pero este servicio suele ser más caro en muchos países, otra opción válida es usar una conexión de banda ancha del tipo ADSL o cable-módem y usar algún servicio gratuito de servidores DNS como DynDNS o No-IP (http://www.no-ip.com/), de esa forma podemos usar cualquier dominio y redirigir las peticiones a nuestro ordenador.
No siempre se puede...
Con LAMP podremos usar un gran número de tecnologías, pero tenemos que tener en cuenta
que si alguien deseamos usar tecnologías propietarias como Microsoft .NET por ejemplo no podremos hacerlo de momento, si bien la gente de Novell tiene una implementación libre llamada Mono (http://www.mono-project.com/ Main_Page) para el caso de .NET, aunque hay cosas que ajustar y otras que pueden no funcionar correctamente en ASP.NET bajo Mono.
los administradores presentados en el cuadro Administradores web.
Conclusión
Como hemos visto, podremos usar Linux para montar nuestro propio servidor web al estilo de sitios más profesionales e importantes, nuestro limite estará puesto en el hardware que podamos adquirir y el grado de tiempo que le podamos Administradores web dedicar para administrar funcionalidades, aunSi configuramos nuestro servidor para que un que para un sitio web personal no es necesario tercero lo administre, quizás necesite una for- mucho. ma más sencilla de hacerlo sin necesidad de tener conocimientos de Linux, una forma de hacerlo es instalar un programa administrador que pueda ser manejado vía un navegador, un Sobre el autor ejemplo muy usado de esto que hablamos es Gabriel García es Licenciado en Sistemas cPanel (http://www.cpanel.net) que permite de la Universidad CAECE en Argentina, crear cuentas de correo, subdominios, base de actualmente cursando una maestría en datos, ver estadísticas, administrar archivos, Ingeniería del Software en la Universidad entre otras muchas cosas más. Hay que tener Politécnica de Madrid. Fundador de la en cuenta que cPanel no es de licencia libre y compañía de diseño y programación web tampoco es gratis, su costo es muy alto para un CrystalSys (www.crystalsys.com.ar), con servidor pequeño; similar es el caso de Ensim más de 10 años de experiencia en la infor(http://www.ensim.com/) y de DirectAdmin mática, programación en varios lenguajes (http://www.directadmin.com/). Como altery en diferentes plataformas para diferennativas gratuitas y/o abiertas podemos probar tes compañías alrededor del mundo.
PUBLICIDAD