Lo hice y lo entendí

El blog de Vicente Navarro
09 mar

Hosting casero HOWTO

En Primer aniversario del blog os contaba que este blog estuvo en un hosting casero durante un año entero. Viendo los comentarios, parece que esto llamó bastante la atención y, de hecho, hubo unas cuantas peticiones de una entrada sobre el “hosting casero” (en adelante HC), así que, desde la mucha o poca autoridad que me da mi año de autohospedaje, ahí vamos:

¿Realmente queremos tener un hosting casero?

Echando la vista atrás, al HC yo le veo muchos más inconvenientes que ventajas. Quizás la principal ventaja que a mucha gente se le puede pasar por la cabeza es que te ahorras el dinero del hosting, y así puede ser en algunos casos, pero con varios peros.

Si de lo que estamos hablando es de alojar un blog, la realidad es que tanto WordPress.com como Blogger dan un servicio gratuito excelente. WordPress.com (que no hay que confundir con el CMS WordPress, alojado en WordPress.org) lo hace a cambio de publicidad que muestran muy poco a menudo y no permiten que nosotros pongamos nuestra propia publicidad. Blogger sí que permite incluir anuncios de AdSense. A mí personalmente me desagradan los anuncios de AdSense, pero entiendo que éste pueda ser un factor importante a la hora de alojar nuestro blog en un sitio o en otro. Si queremos tener el blog en un dominio propio, WordPress.com nos lo permite por tan sólo 10$ al año, y Blogger también lo permite gratis (por supuesto, el coste de la compra del dominio va aparte).

Para alojar páginas estáticas, Google Pages podría valernos perfectamente.

Para tener e-mail, alojar páginas estáticas o almacenar documentos con nuestro propio dominio, Google Apps nos lo pone muy fácil. Además, Google recientemente ha añadido a la lista de aplicaciones de Google Apps el Google Sites, que nos permitirá tener un Structured Wiki también en nuestro propio dominio.

Si nada de lo anterior nos satisface por completo por falta de versatilidad para lo que queremos hacer, un hosting puede ser razonablemente barato. No soy la persona más indicada para recomendar uno, pero por ejemplo, SigT, un blog cuyo criterio se puede tener muy en cuenta, está en Dreamhost, y no parece que estén descontentos, aunque pueden contarnos algunas batallitas. Iñaki Silanes también se pasó hace poco a Dreamhost. El plan estándar de Dreamhost, que incluye SSH y 5TB de transferencia mensual, sale por 10.95$/mes si contratamos un mes, 9.95$/mes si contratamos un año, 7.95$/mes si contratamos 3 años y 5.95$/mes si contratamos 10 años. Yo llevo poco tiempo en 1and1.es y no tengo ninguna queja sobre ellos, pero en precio y características, definitivamente no son competitivos comparando con Dreamhost.

Además, tener un ordenador siempre encendido en casa no es exactamente gratis: además de la electricidad que gasta, sus componentes se van desgastando, sobre todo el disco duro, y si tenemos que reemplazar un disco duro, por menos de unos 60€ seguramente no lo podamos hacer.

El HC tiene muchas otras desventajas, entre las que podemos citar:

  • Intervalos sin servicio.
  • Poco ancho de banda de subida.
  • Según el servidor usado, es posible que tengamos poca velocidad de respuesta y las páginas dinámicas no se generen rápidamente.
  • Poca capacidad de respuesta ante picos inesperados de tráfico.
  • Disponibilidad reducida del ordenador que usemos como servidor para otras tareas.
  • Disponibilidad reducida del ancho de banda del que dispongamos para otras tareas (p.e. P2P).
  • No es lo más recomendable tener un dispositivo eléctrico 24×7 encendido: Aunque no es lo más probable, el cable se podría calentar, derretir, generar un cortocircuito y causar un incendio.
  • Preocupación por si el servicio se está dando correctamente.
  • ¿Qué haces con el servidor cuando te vas a ausentar de casa por un espacio prolongado de tiempo?
  • ¿Cómo reaccionar rápidamente ante una avería hardware?
  • ¿Qué haces si se va la luz?
  • Es necesario invertir tiempo en la administración del servidor.

¡Uy! ¡Que mal lo hemos pintado! ¿Y no tiene ninguna ventaja el HC? Pues sí, hay una y muy grande, que puede compensar con creces todos los inconvenientes anteriores:

–== APRENDER ==–

¡Y así es! Porque del HC, lo más provechoso es lo que se aprende de las tecnologías web. Con él podremos ver cómo configurar Apache, cómo reparar nuestras bases de datos MySQL, cómo mantener nuestro sistema estable para tener que hacer el mínimo número de paradas posible, cómo crearnos scripts para tener todos los aspectos de nuestro servidor monitorizados y controlados, cómo estudiar los logs, cómo… ¡administrar un servidor web de verdad que sirve páginas de verdad!

En mi caso, además, que uso WordPress, el hosting casero me ha permitido hacer lo que he querido con él. He modificado el código como me ha parecido y he instalado los plugins que me han parecido útiles sin las restricciones de WordPress.com. Gracias a eso, también he aprendido un poco de PHP.

Bueno, ¿qué has pensado? ¿Sigues queriendo montar tu propio HC? ¡Pues sigue leyendo!

El servidor

¡No, no, no! No puedes usar tu nuevo y flamante Quad-Core con 8GB de RAM, una NVidia 8800GTX, 4 discos en RAID y fuente de 1000W como servidor de HC. Estoy de acuerdo que ninguno mejor que ese generará las páginas dinámicas y hará volar al Apache pero: ¿No es ese el ordenador que vas a usar para todo lo demás? ¿Con ese pedazo de tarjeta de vídeo no vas a usarlo para algún juego 3D? ¿Seguro que lo reiniciarás lo justo? ¿Tú te has dado cuenta del ruido que hacen sus ventiladores? Además, el precio del kWh es de unos 0.09 ceńtimos de €, así que a poco que consuma 300W, estamos hablando de 300x24x365x0.09/1000=236€ al año (o 19€ al mes).

Sí, ese Pentium III/4/AMD K7 que tienes ahí parado desde hace meses y que no sabes bien qué hacer con él te podría servir, pero apostaría sin dudarlo mucho a que también consume lo suyo y a que hace incluso más ruido que el nuevo. Es una buena opción, y si no te importa mucho el consumo eléctrico, definitivamente podría ser lo que necesitamos. Sin embargo, recordemos que tu casa es ese sitio al que vas después de un duro día y donde esperas encontrar paz, tranquilidad y el descanso del guerrero. Llegar y encontrarte ese odioso ordenador haciendo ruido un día y otro, y otro también y sin que te puedas permitir apagarlo, quizás no es lo que más te apetezca. Sí, ya sé que tú tal vez ya tienes ese mismo ordenador muchos días encendido bajando cosas con aMule y con Bittorrent, pero de vez en cuando lo apagas, ¿no? ¡Ah! ¿Cómo? ¿Que noooooo? ;-)

Bueno, a lo que quería llegar, es que a menos que tengáis una casa de 200m2 con una habitación por ahí perdida donde encerrar el ordenador bajo llave para no oírlo, seguramente necesitéis otra cosa. Si lo que queremos es el servidor perfecto para un HC profesional, válgame la contradicción, lo que nos hace falta es un ordenador de bajo consumo y sin ventiladores.

Hasta hace poco, los procesadores líderes indiscutibles en esta categoría eran los VIA C3 y C7, de los que he hablado extensamente en este blog. Las placas VIA EPIA de formato Mini-ITX han sido durante mucho tiempo elecciones excelentes para este propósito; los drivers para el procesador gráfico no son lo mejor del mundo, pero no es algo realmente importante si sólo la vamos a usar como servidor. Hay otros fabricantes que tienen placas con procesador integrado y chipset de VIA, como las Jetway, las eBox (distribuidas en España por EPATec) o la Elite C7VCM (con fuente de alimentación DC-DC integrada), todas ellas más baratas que las VIA EPIA, pero no creo que me equivoque mucho si digo que probablemente hay muchísima más documentación y experiencia sobre las VIA EPIA que sobre otros modelos (sin entrar en la teórica superior calidad de unas sobre otras).

Pero decía “hasta hace poco” porque Intel y AMD no están indiferentes ante este trozo de mercado de procesadores/placas sin ventilador y de bajo consumo. AMD hace tiempo que tiene los procesadores AMD Geode, aunque la verdad es que no han sido muy populares en el segmento de mercado de los procesadores VIA, tal vez porque hasta la salida del Geode NX, el rendimiento de sus predecesores era muy pobre (ejemplos de placas con AMD Geode: ALIX2C2, Albatron KI741CX).

Nota: Gracias a Tostadilla por varios de los enlaces.

Intel, por su parte, está a punto de descabalgar a sus competidores también en este segmento de mercado igual que ha hecho con AMD en los segmentos de procesadores para ordenadores de sobremesa y en procesadores para portátiles. Su nueva placa base D210GLY, con procesador de refrigeración pasiva Intel Celeron 215 (con arquitectura Core) a 1.2GHz, con un consumo equiparable a las VIA EPIA, y con un precio de 69.50$, es un misil directo a la línea de flotación de las VIA EPIA. Yo no he probado una de estas placas, pero dado el historial de productos de calidad de Intel y su compromiso con la creación de drivers de código abierto, no dudaría ni un momento en recomendar una de estas placas por delante de las de VIA. Por no decir que seguro que a igualdad de frecuencia de reloj, uno de estos Celeron tiene mucho más rendimiento que uno de VIA. Josemanu de La Factoría Secreta acaba de cambiar su VIA EPIA por una de estas placas… ¡a ver qué nos va contando sobre ella!

Respecto a otros aspectos del servidor, sólo cabría mencionar la memoria RAM y tal vez el disco duro, pero como cualquier tamaño de disco duro superior a los 10GB será más que suficiente para casi cualquier propósito, quizás lo más determinante pueda ser la RAM. En mi opinión, una cantidad razonable de RAM para manejar con soltura varias peticiones de Apache y el MySQL son 512MB, pero 256MB podrían ser suficientes.

Para finalizar la sección, comentar que un portátil definitivamente no es una opción como servidor. Pero ni como servidor de HC ni para tenerlo siempre encendido con programas P2P. Un portátil es un portátil. No están preparados en absoluto para un estado de sobrecalentamiento permanente y a sus pequeños discos duros de 2.5″ no les gusta que les tengan permanentemente dando vueltas y estarán condenados con mucha probabilidad a una muerte prematura si les obligas a ello.

Y no se me olvidan los dispositivos de ultra-bajo-consumo que aceptan Linux, como el NSLU2, el LinkStation, la KuroBox o la EFIKA. Aunque se les pueda instalar Linux, en mi opinión no dan la talla para un servidor web completo como el que nos ocupa.

Por cierto, Intel está a punto de revolucionar aún más el panorama de los procesadores de bajo consumo con la llegada de los Ultra-Mobile PC (UMPC) y sus procesadores: A100/A110 y su reciente Atom (via Blog Staredsi).

El proveedor de Internet

Evidentemente, necesitaremos un acceso de banda ancha a Internet, y con este acceso llegará nuestra mayor limitación: el ancho de banda de subida. El acceso de banda ancha más común actualmente en España es el ADSL de 3Mbps de bajada y de 320kbps de subida. La bajada nos importa bien poco, pero la subida es lo que definitivamente determinará el máximo número de usuarios que podremos atender simultáneamente con una cierta fluidez.

Esos 40KB/s teóricos de subida pueden parecer poco, pero no son desdeñables, ya que pueden suponer una transferencia máxima mensual teórica de más de 100GB, bastante superior a lo que ofrecen muchos hostings:

320x3600x24x31/8/106=107GB

1KB=103Bytes, 1GB=106Bytes

Sin embargo, evidentemente, esta no es una comparación del todo justa, ya que no podemos esperar que el flujo de visitas sea regular, sino que la naturaleza de la web nos trae precisamente lo contrario; exceptuando el tráfico procedente de los buscadores que tal vez sí sea razonablemente uniforme, las visitas normalmente las tendremos a rachas: a ciertas horas del día, cuando se nos cita y enlaza desde otras páginas o cuando publicamos algo nuevo. Si se nos amontonan las visitas, las páginas tardarán considerablemente más en ser descargadas y la experiencia del usuario en nuestra página podría llegar a ser muy pobre, …y eso si no se cansa de esperar y definitivamente la cierra sin que acabe de cargarse.

Por tanto, ¿son suficientes esos 40KB/s para dar un servicio razonable? En mi experiencia, en principio, sí, pero vamos a tener que ser cuidadosos con el material que servimos y tenemos que tener bien claro que ante un pico brutal de visitas, vamos a fracasar sin remedio.

Por supuesto, no sólo existe la oferta de los 320kbps de subida. Ahora mismo también hay otras compañías de ADSL que ofrecen hasta 1Mbps de subida (con sus “hasta” 20Mbps de bajada). Sin embargo, cuando en algún momento me he planteado contratar alguna de esas alternativas, siempre me he encontrado docenas de mensajes en los foros de personas quejándose de cortes y microcortes frecuentes y reiterados que me han desanimado. Al final, la calidad de una de estas líneas con ADSL 2+ dependerá del ruido de la línea y de la distancia del par de cobre hasta la central telefónica, pero en el mejor de los casos, su calidad parece claramente insuficiente si queremos dar un servicio de la forma más estable posible.

Por otra parte, el panorama parece que va a mejorar mucho y muy pronto. ONO ya ofrece 1Mbps de subida, que tal vez sean más estables que los del ADSL 2+ y la aparición del VDSL2 de la mano de Telefónica es inminente, al mismo tiempo que se acerca el FTTH.

Otro aspecto que podemos plantarnos es la conveniencia de la IP fija. En Telefónica sale por 12€ al mes, y nos podría facilitar enormemente muchos aspectos del HC. Sin embargo, sólo por lo que cuesta, podríamos contratar un hosting profesional, de modo que es una opción que la mayoría descartaríamos.

El dominio

Por supuesto, vamos a necesitar uno o más dominios para hacer realidad nuestro proyecto. Si tuviéramos una IP fija, podríamos comprar un dominio a cualquier registrador y hacer que el DNS apuntara a nuestra IP fija. En nuestro servidor tendríamos que configurar un servidor de DNS además de todos los otros servicios que quisiéramos proporcionar.

Sin embargo, con una IP dinámica también podremos montar nuestro HC sin problemas gracias a empresas como DynDNS o no-ip.com. En ¿Piensas en si un día te roban el portátil? ya vimos una introducción a cómo funcionan estos servicios y una guía de configuración del ddclient en Debian para que actualice la IP tan pronto como ésta cambie. Suponiendo dicha teoría sabida, vamos a ver cómo ajustar la configuración de DynDNS al entorno de un HC como el que estamos montando.

DynDNS pone a nuestra disposición un gran número de dominios base sobre el que crear hostnames (hasta 5 por cuenta) como por ejemplo:

barriosesamo.homelinux.org
gustavo.blogsite.org
supercoco.is-a-geek.org

Los dominios disponibles tienen nombres bastante útiles y llamativos, de forma que resulta bastante fácil encontrar una combinación que sea de nuestro agrado. La mía, como los más viejos del lugar saben, fue y es valencia.homelinux.org. Si queremos asociar una IP dinámica a un dominio propio, podemos considerar la opción de comprar el servicio Custom DNS, que sale por 27.5$ al año. Si también compramos el dominio en DynDNS, por ejemplo, uno .com por 15$, al hacer la compra conjunta con el Custom DNS nos hacen un descuento de 5$. Por tanto, la broma de Custom DNS + Dominio nos saldrá por 37.5$/año. En DynDNS no podemos comprar un dominio .es, pero si lo compramos en otro sitio, podemos hacerlo funcionar con el servicio Custom DNS de DynDNS.

Yo compré el dominio vicente-navarro.com con el servicio Custom DNS y la configuración del ddclient para actualizar puntualmente ambos dominios era (/etc/ddclient.conf):

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

pid=/var/run/ddclient.pid
protocol=dyndns2
use=web, web=checkip.dyndns.org/, web-skip='IP Address'
wildcard=yes
server=members.dyndns.org
login=supercoco
password=contrasenyadesupercoco
valencia.homelinux.org
custom=yes, vicente-navarro.com

Como vemos, la única diferencia entre actualizar un hostname de los gratuitos y uno de los Custom DNS es la cadena custom=yes. www.vicente-navarro.com puede ser un CNAME a vicente-navarro.com o podría ser un hostname diferente, en cuyo caso tendríamos que añadir una línea adicional en el ddclient.conf.

La línea:

use=web, web=checkip.dyndns.org/, web-skip='IP Address'

sirve para especificarle al ddclient dónde encontrar la IP a usar para actualizar el servidor de DNS. Poniendo use=web le decimos que acceda a una web (en este caso checkip.dyndns.org) para consultarla. Si nuestro servidor tuviera directamente la IP pública de Internet en uno de sus interfaces, algo cada vez más raro hoy en día, podríamos poner algo así:

use=if, if=eth0

El ddclient es capaz de conectarse a ciertos routers de diferentes formas para obtener la dirección directamente del router. Podemos consultar todas las posibilidades en la documentación del ddclient.

Para probar el correcto funcionamiento del ddclient, es una buena idea usar la opción -v y la -force también puede ser necesaria para hacer troubleshooting ya que el cliente se niega a enviar una actualización al servidor de DNS si la IP no ha cambiado (lo sabe por la caché que mantiene en /var/cache/ddclient/ddclient.cache):

# ddclient -v -force
CONNECT:  checkip.dyndns.org
CONNECTED:
SENDING:  GET / HTTP/1.0
SENDING:   Host: checkip.dyndns.org
SENDING:   User-Agent: ddclient/3.6.7
SENDING:   Connection: close
SENDING:
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Content-Type: text/html
RECEIVE:  Server: DynDNS-CheckIP/1.0
RECEIVE:  Connection: close
RECEIVE:  Cache-Control: no-cache
RECEIVE:  Pragma: no-cache
RECEIVE:  Content-Length: 105
RECEIVE:
RECEIVE:  <html><head><title>Current IP Check</title></head><body>Current IP Address: 81.39.245.141</body></html>
INFO:     forcing update of valencia.homelinux.org.
INFO:     forcing update of vicente-navarro.com.
INFO:     setting IP address to 81.39.245.141 for valencia.homelinux.org
UPDATE:   updating valencia.homelinux.org
CONNECT:  members.dyndns.org
CONNECTED:
SENDING:  GET /nic/update?system=dyndns&hostname=valencia.homelinux.org&myip=81.39.245.141&wildcard=ON HTTP/1.0
SENDING:   Host: members.dyndns.org
SENDING:   Authorization: Basic dmluYWpvOmxhZW5jb250cmFzdGU6LSk=
SENDING:   User-Agent: ddclient/3.6.7
SENDING:   Connection: close
SENDING:
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Date: Sat, 08 Mar 2008 10:12:15 GMT
RECEIVE:  Server: Apache
RECEIVE:  X-UpdateCode: n
RECEIVE:  Content-Type: text/plain
RECEIVE:  Connection: close
RECEIVE:
RECEIVE:  good 81.39.245.141
SUCCESS:  updating valencia.homelinux.org: good: IP address set to 81.39.245.141
INFO:     setting IP address to 81.39.245.141 for vicente-navarro.com
UPDATE:   updating vicente-navarro.com
CONNECT:  members.dyndns.org
CONNECTED:
SENDING:  GET /nic/update?system=custom&hostname=vicente-navarro.com&myip=81.39.245.141&wildcard=ON HTTP/1.0
SENDING:   Host: members.dyndns.org
SENDING:   Authorization: Basic dmluYWpvOmxhZW5jb250cmFzdGU6LSk=
SENDING:   User-Agent: ddclient/3.6.7
SENDING:   Connection: close
SENDING:
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Date: Sat, 08 Mar 2008 10:12:15 GMT
RECEIVE:  Server: Apache
RECEIVE:  X-UpdateCode: n
RECEIVE:  Content-Type: text/plain
RECEIVE:  Connection: close
RECEIVE:
RECEIVE:  good 81.39.245.141
SUCCESS:  updating vicente-navarro.com: good: IP address set to 81.39.245.141

En el fichero /etc/default/ddclient podemos especificar si queremos que ddclient funcione como un demonio, que es lo recomendable (otra opción es planificar el ddclient en el cron) y cada cuánto tiempo debería de chequear si ha habido un cambio de IP (5 minutos por defecto, si lo ponemos más frecuente, es posible que nos denieguen el acceso por abuso del servicio):

# Configuration for ddclient scripts
# generated from debconf on Sat Mar 10 13:45:30 CET 2007
#
# /etc/default/ddclient

# Set to "true" if ddclient should be run every time a new ppp connection is
# established. This might be useful, if you are using dial-on-demand
run_ipup="false"

# Set to "true" if ddclient should run in daemon mode
run_daemon="true"

# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval="300"

Por tanto, cada vez que el ISP nos cambie la IP (algo que normalmente no ocurre en semanas) nos encontraremos con que tendremos unos pocos minutos sin servicio. Otra opción, la óptima, es que nuestro router soporte el protocolo de DynDNS y sea capaz de actualizar el servidor de DNS cada vez que detecte un cambio de IP en la interfaz de WAN. Mi Zyxel 660HW lo soporta, por lo que sí que es capaz de actualizar un hostname como valencia.homelinux.org, pero no es capaz de gestionar hostnames de dominios Custom DNS por defecto:

Zyxel DynDNS

DynDNS mantiene una lista de dispositivos hardware con un cliente DynDNS integrado certificado. El popular Linksys WRT54G es uno de ellos y soporta Custom DNS poniendo una coletilla al nombre del dominio: example.com&system=custom. De todas formas, DynDNS prefiere los clientes software.

Para finalizar, podemos comentar la lista de servicios que ddclient soporta según su README, por si preferimos uno alternativo a DynDNS:

Dynamic DNS services currently supported include:

DynDNS.org - See http://www.dyndns.org for details on obtaining a free account.
Hammernode - See http://www.hn.org for details on obtaining a free account.
Zoneedit   - See http://www.zoneedit.com for details.
EasyDNS    - See http://www.easydns.com for details.
NameCheap  - See http://www.namecheap.com for details

El sistema operativo

A estas alturas, nadie se puede sorprender de que yo recomiende como sistema operativo de nuestro servidor de HC la última versión estable de Debian (en estos momentos la Debian Etch 4.0) con sus correspondientes actualizaciones de seguridad. Las versiones estables de Debian tienen mucha fama por su gran estabilidad a costa de llevar versiones menos recientes pero mucho más probadas. Cuando me pasé a 1and1.es, una de las agradables sorpresas que me llevé fue ver que usaban Debian en sus servidores.

Hace unas semanas, cuando se hizo público el famoso exploit que afectaba a casi todas las versiones del kernel, el equipo de seguridad de Debian se apuntó un buen tanto al ser la primera en distribuir un parche de seguridad para el problema. Pero de todas formas, cualquier distribución de Linux bien mantenida, estable y con constantes actualizaciones de seguridad es perfectamente válida para nuestro propósito.

Y eso sin querer hacer un desprecio a las diferentes *BSD, que pueden ser una opción tanto o más buena que cualquier Linux, quizás destacando OpenBSD por su foco en la seguridad.

Y Windows… pues bueno, se podría tener un servidor de HC con Windows, pero las posibilidades de gestión y actualización remota se reducirían drásticamente. Definitivamente, no es la mejor opción.

El router

En la mayoría de los casos, nuestro servidor de HC estará detrás de un router que será el que tenga la IP pública del interfaz de WAN y que distribuirá el tráfico entre los equipos conectados a la LAN. Además, no es que sea lo más típico, es que a menos que el servidor de HC sea el único sistema que vaya a acceder a Internet en la casa, tampoco existe otra opción válida.

El router tenemos que configurarlo para que nuestro servidor de HC siempre reciba la misma dirección IP por DHCP, algo que la mayoría de routers soportan asociando una dirección MAC determinada con una misma IP. Otra opción es configurar el servidor para que use una IP fija y no la obtenga por DHCP, opción más segura que la primera, pero tendremos que usar una IP fuera del rango de direcciones DHCP que concede el router aunque dentro de la misma subred.

Además, tendremos que abrir como mínimo el puerto 80 y configurar el NAT para que las peticiones a dicho puerto vayan a la IP que hemos asignado a nuestro servidor. Otro puerto fundamental es el 22 para permitir el acceso por SSH y así poder hacer mantenimiento remoto del servidor. Opcionalmente, podemos abrir el 25 para SMTP y tal vez el 110 (POP3) y el 143 (IMAP).

Los sistemas de la LAN distintos al servidor probablemente no podrán usar el servidor de nombres de Internet para acceder a los servicios que proporciona el servidor (por ejemplo, para ver nuestra página web desde otro sistema de la red), porque el dominio resuelve a una IP que tiene el router, por lo que le estaremos mandado las peticiones al router, no al servidor de HC. Es por ello que, o montamos un pequeño DNS que dé servicio a la LAN, o introducimos en el fichero /etc/hosts de todos los sistemas (incluso en los Windows en c:\windows\system32\drivers\etc\hosts) una referencia a los hostnames de todos los servicios que tengamos hospedados:

192.168.1.30 www.vicente-navarro.com vicente-navarro.com
192.168.1.30 valencia.homelinux.org

Para finalizar, una advertencia sobre el Wi-Fi y su inconveniencia para nuestro propósito. Nuestro servidor de HC debería estar conectado por cable al router. La conexión Wi-Fi, aunque nos pueda parecer que normalmente es muy estable, está sujeta a muchas interferencias sobre las que no tenemos control. Y de entre esas interferencias, yo destacaría la de los vecinos. En mi casa, por ejemplo, yo detecto multitud de señales Wi-Fi diferentes de vecinos que me provocan graves interferencias y que ni siquiera me permiten recibir la señal del router en otra habitación por muchos cambios de canal que pruebe, por lo que me tuve que cablear la casa. Otros casos pueden ser menos graves, pero en cualquier momento puedes encontrarte con que la señal del vecino causa interrupciones en la tuya. Definitivamente, no parece lo más conveniente.

El servidor web

Hablar de servidor web en un sistema UNIX es casi sinónimo de hablar de Apache. Siempre quise probar el lighttpd, pero nunca llegué a ponerme manos a la obra, así que no puedo contar de primera mano qué tal funciona en un sistema modesto como el mío, pero en general, tiene muy buena prensa, especialmente en lo que toca a consumo de memoria. En la gráfica de Febrero de Netcraft, vemos que lighttpd ya va haciéndose ver con su millón y medio de sitios que lo usan. Creo que es un candidato excelente como servidor web para nuestro HC.

Volviendo a Apache, todas las distribuciones tienen un paquete de Apache perfectamente listo para instalar y comenzar a trabajar; cada una con sus peculiaridades de configuración. Lo primero que tendremos que elegir es si queremos Apache 1.3 o Apache 2.x, un viejo debate en el que yo no me atrevo a entrar. Para el desarrollo de Apache 2.0 se reescribió la mayor parche del código y su mayor novedad fue que funcionaba con threads UNIX. Aunque su rendimiento es mejor en general, su adopción ha sido muy lenta porque muchos de los módulos existentes para Apache 1.3 no existían en Apache 2.x y porque la documentación de PHP desaconsejaba usarlo. En la actualidad, las instrucciones de instalación de PHP en entornos con Apache 2 muestran la siguiente advertencia:

Warning

We do not recommend using a threaded MPM in production with Apache2. Use the prefork MPM instead, or use Apache1. For information on why, read the related FAQ entry on using Apache2 with a threaded MPM

En Debian tenemos paquetes para Apache 1.3 y para Apache 2.2. En el caso de Apache 2, con distintas posibilidades de MPM (Multi-Processing Module):

apache - versatile, high-performance HTTP server
apache-common - support files for all Apache webservers
apache-dbg - debug versions of the Apache webservers
apache-dev - development kit for the Apache webserver
apache-doc - documentation for the Apache webserver
apache-perl - versatile, high-performance HTTP server with Perl support
apache-ssl - versatile, high-performance HTTP server with SSL support
apache2 - Next generation, scalable, extendable web server
apache2-doc - documentation for apache2
apache2-mpm-event - Event driven model for Apache HTTPD 2.1
apache2-mpm-itk - multiuser MPM for Apache 2.2
apache2-mpm-perchild - Transitional package - please remove
apache2-mpm-prefork - Traditional model for Apache HTTPD 2.1
apache2-mpm-worker - High speed threaded model for Apache HTTPD 2.1
apache2-prefork-dev - development headers for apache2
apache2-src - Apache source code
apache2-threaded-dev - development headers for apache2
apache2-utils - utility programs for webservers
apache2.2-common - Next generation, scalable, extendable web server

El paquete apache2-mpm-prefork es el que necesitamos según la documentación de PHP (Apache MPM prefork). Si miramos su descripcción, vemos que permite usar Apache 2 de una forma similar a la que funcionaba Apache 1.3 evitando problemas con librerías que no son thread-safe a cambio de algo de rendimiento:

$ apt-cache show apache2-mpm-prefork
[...]
Description: Traditional model for Apache HTTPD 2.1
 This Multi-Processing Module (MPM) implements a non-threaded,
 pre-forking web server that handles requests in a manner similar to
 Apache 1.3. It is appropriate for sites that need to avoid threading for
 compatibility with non-thread-safe libraries. It is also the best MPM
 for isolating each request, so that a problem with a single request will
 not affect any other.
 .
 It is not as fast, but is considered to be more stable.
[...]

Y, de hecho, podemos comprobar que es un prerequisito para instalar el mod-php5:

$ apt-cache show libapache2-mod-php5
[...]
Depends: libbz2-1.0, libc6 (>= 2.3.6-6), libcomerr2 (>= 1.33-3), libdb4.4, libkrb53 (>= 1.4.2),
libpcre3 (>= 4.5), libssl0.9.8 (>= 0.9.8c-1), libxml2 (>= 2.6.27), zlib1g (>= 1:1.2.1),
mime-support (>= 2.03-1), apache2-mpm-prefork (>> 2.0.52) | apache2-mpm-itk,
apache2.2-common, php5-common (= 5.2.0-8+etch10), libmagic1, ucf
[...]

Los diferentes paquetes apache2-mpm-* lo que hacen es instalar un binario principal de Apache diferente:

$ dpkg -L apache2-mpm-prefork | egrep 'bin|lib'
/usr/sbin
/usr/sbin/apache2

El módulo de MPM que Debian instala por defecto si hacemos un simple “apt-get install apache2” es el apache2-mpm-worker (Apache MPM worker), pero si instalamos el mod-php5, es reemplazado por el apache2-mpm-prefork.

En definitiva, para instalar con un sólo comando un sistema LAMP (Linux+Apache+MySQL+PHP) en Debian, sólo necesitaremos ejecutar el siguiente comando:

# apt-get install apache2 libapache2-mod-php5 php5-mysql mysql-server-5.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
[...]
The following NEW packages will be installed:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libdbd-mysql-perl
  libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libterm-readkey-perl mysql-client-5.0
  mysql-common mysql-server-5.0 php5-common php5-mysql
[...]

Las versiones de Debian Etch son razonablemente recientes: Apache 2.2, MySQL 5.0 y PHP 5. Creo que en un sistema que montamos a nuestro gusto para aprender, tampoco vale la pena irnos a las versiones más viejas. Los hostings profesionales ya son bastante rácanos en cuanto al uso de versiones modernas (¡hace poco me encontré con uno que aún usaba MySQL 3!), como para que nosotros les emulemos. Si la versión es estable para Debian, también lo es para mí.

Por tanto, una vez que tenemos el Apache 2.2 instalado, en Debian tenemos un fichero de configuración global en /etc/apache2/apache2.conf. Desde ese fichero se incluye el /etc/apache2/httpd.conf, que por defecto está vacío y preparado para que nosotros introduzcamos nuestras líneas de configuración personalizadas sin tener que alterar el principal. En el fichero ports.conf se especifica el puerto a usar, por defecto el 80. Luego tenemos los directorios de /etc/apache2/:

mods-available/
mods-enabled/
sites-available/
sites-enabled/

En el mods-available tenemos los módulos instalados en el sistema. En el sites-available tenemos todos los sitios virtuales configurados en el sistema. En los directorios mods-enabled y sites-enabled tenemos enlaces a los módulos y sitios virtuales que queremos habilitar. En las entradas de compresión y cacheo de Apache vimos cómo habilitar y configurar los módulos:

Los enlaces los podemos crear y eliminar a mano o con las siguientes herramientas de Debian:

a2dismod   a2dissite  a2enmod    a2ensite

Tenemos más información sobre los aspectos particulares de configuración de Apache en Debian en el fichero /usr/share/doc/apache2.2-common/README.Debian.

Configuración de los sitios virtuales

Por defecto, Debian sólo nos deja un sitio virtual configurado en /etc/apache2/sites-available/default que es el que por defecto se usa cuando se accede con un hostname que no tiene una configuración de sitio virtual específica. Tiene el directorio base de documentos en /var/www/apache2-default/ y nos permite recorrer la documentación del servidor sólo desde el navegador del propio servidor, http://localhost/doc/:

NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                # This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
                RedirectMatch ^/$ /apache2-default/
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

La configuración básica de sitio virtual que yo usaba (/etc/apache2/sites-available/vicente-navarro.com, con enlace en sites-enabled) era:

<VirtualHost *>

        ServerName vicente-navarro.com
        ServerAlias www.vicente-navarro.com

        DocumentRoot /var/www/vicente-navarro.com/

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/vicente-navarro.com/>
                Options FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error_vn.log



        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access_vn.log combined
        ServerSignature On
</VirtualHost>

Sobre ella, podemos hacer algunos cambios:

  • Si queremos permitir la configuración con ficheros .htaccess, tendremos que quitar las líneas “AllowOverride None“.
  • Si queremos presentar un documento personalizado para errores 404, podemos incluir una línea como: “ErrorDocument 404 /404.php“.

Por otra parte, teniendo en cuenta que nuestro ancho de banda de subida es muy limitado, el hotlinking (enlace a las imágenes de nuestro sitio desde otro sitio) es especialmente dañino, por lo que deberíamos de prevenir hasta donde sea posible el “robo de imágenes”. Una buena forma de hacerlo es rechazando las peticiones cuyo referer no sea nuestra propia página o ninguno (hay firewalls que los eliminan, la extensión No-Referer de Firefox también los elimina, e incluso podemos controlarlo en Firefox con el parámetro Network.http.sendRefererHeader). How can I prevent people from “stealing” the images from my web site?:

SetEnvIf REFERER "vicente-navarro\.com" linked_from_here
SetEnvIf REFERER "^$" linked_from_here

<FilesMatch "\.(gif|jpg|png)">
    Order deny,allow
   Deny from all
    Allow from env=linked_from_here
</FilesMatch>

Además, en mi caso, cuando cambié el dominio principal de valencia.homelinux.org a www.vicente-navarro.com, tuve que implementar una redirección 301, para lo que creé un sitio virtual en /etc/apache2/sites-available/valencia.homelinux.org:

<VirtualHost *>
        ServerName valencia.homelinux.org

        Redirect permanent / http://www.vicente-navarro.com/blog/

        ErrorLog /var/log/apache2/error_vho.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access_vho.log combined
        ServerSignature On
</VirtualHost>

Por supuesto, podemos crearnos todos los sitios virtuales que queramos. Sobre todo uno de desarrollo es fundamental para ir probando todas las cosas nuevas que queramos implementar sin que sean visibles antes de que estén acabadas.

Poniendo en marcha la nueva configuración

Cuando hagamos cualquier cambio a los ficheros de configuración de Apache y queramos que tengan efecto interrumpiendo de forma mínima el servicio, tenemos que tener la precaución de chequear que están correctos:

# apache2ctl configtest
Syntax OK

Porque si la sintaxis no fuera correcta o hubiera cualquier otro error:

# apache2ctl configtest
Syntax error on line 1 of /etc/apache2/sites-enabled/000-default:
Invalid command 'ZerverName', perhaps misspelled or defined by a module not included in the server configuration

…y no lo hemos verificado antes, el servidor no arrancará y tendremos el servicio parado hasta que consigamos arreglar el error:

# apache2ctl restart
Syntax error on line 1 of /etc/apache2/sites-enabled/000-default:
Invalid command 'ZerverName', perhaps misspelled or defined by a module not included in the server configuration

Además, el “apache2ctl restart” mata las conexiones que estuvieran activas en ese momento. Es por eso que es mucho más respetuoso con nuestros visitantes hacer un “apache2ctl graceful“, que espera a que todos los servidores activos acaben antes de reiniciar. Por tanto, para releer la configuración de Apache cuando la cambiemos, haremos:

# apache2ctl configtest
Syntax OK
# apache2ctl graceful

No debemos olvidar revisar frecuentemente los posibles errores que puedan aparecer en los logs para asegurarnos de que no haya ningún problema de configuración o que estemos sufriendo algún tipo de ataque.

MaxClients

En casos de avalanchas de visitas nos encontraremos con que ni la CPU, ni la memoria son nuestro cuello de botella sino, evidentemente, el ancho de banda de subida. Pero en esos casos, si nos entran muchísimas conexiones de diferentes clientes al mismo tiempo, el servidor sí que puede llegar a tener problemas de memoria porque tiene las conexiones abiertas y por el ancho de banda no se están sirviendo. Es por ello que yo descubrí que bajando el número máximo de clientes que se pueden atender (MaxClients) en el apache2.conf de los 150 de por defecto a 50, en casos de avalancha, la máquina no se agobiaba y a aquellos clientes que aceptaba, les servía más o menos correctamente. Había muchos que no eran aceptados, eso sí, pero que en cualquier caso, por el ancho de banda no se les podía haber servido en condiciones, así que mejor rechazarlos desde el principio y así desahogar al servidor:

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients           50
    MaxRequestsPerChild   0
</IfModule>

Tenemos mucha más información sobre cómo configurar Apache en la página de documentación de Apache 2.2.

Moderación con el tamaño de lo que publicamos

Y es precisamente por la limitación de ancho de banda que debemos de ser contenidos en lo que publicamos en nuestra web. Por ejemplo, una imagen de 300KiB que se muestre en todas las página de nuestro sitio puede suponer una verdadera bofetada a nuestros visitantes que tendrán que esperar segundos y segundos a que la página acabe de cargar… y eso si finalmente esperan y no la cierran antes. Por eso, cuidado con lo que hospedamos y seamos muy tacaños con el escaso ancho de banda con el que contamos. Antes hacía referencia a entradas previas que trataban de la compresión y cacheo de las páginas web. Con dicha técnica podremos reducir al mínimo el volumen de los ficheros HTML, CSS y JavaScript, pero el objetivo de mantener a un tamaño razonable las imágenes no debe de perderse nunca de vista.

Un poco de SEO para ahorrar ancho de banda

Unos visitantes tan pesados como necesarios son los robots de los buscadores. Los necesitamos para existir en Internet, pero sus visitas constantes consumen ancho de banda y no poco, ya que recordemos que recorren periódicamente toda nuestra web. Una solución para aliviar el problema es usar un fichero robots.txt y bloquear todo aquello que no necesitemos que sea encontrado. En el caso de un blog, podemos bloquear las páginas de categorías, las de etiquetas, los archivos… al fin y al cabo, es sólo contenido duplicado que lo único que puede hacer es confundir al buscador a la hora de decidirse por la mejor página. Pero la jugada maestra para ahorrar ancho de banda es prohibir a los buscadores que indexen las imágenes de nuestro sitio (Remove an image from Google Image Search). La gente que busca imágenes, raramente estará interesada por el contenido de nuestra página en sí mismo. Por ello, prohibiendo la búsqueda de imágenes, evitamos por un lado el gasto de ancho de banda de servir nuestras imágenes a los buscadores de imágenes y por otro, el de aquellos que acceden a nuestra página buscando imágenes, e incluso el de aquellos que, una vez encontrada la imagen que buscaban, decidan hacer hotlinking a nuestra imagen. Otra cosa es que te pueda interesar mucho el tráfico proveniente de buscadores de imágenes. En mi caso, el número de visitas procedente de images.google.com llegó a ser muy alto hasta que prohibí la búsqueda de imágenes en mi sitio, ya que analizando las búsquedas origen de las visitas, llegue a la conclusión de que no eran visitantes interesados en el contenido de mis páginas.

Si tenemos un feed por RSS o Atom, tenemos que tener en cuenta que los diferentes agregadores de noticias suelen acceder con cierta frecuencia para ver si hay nuevas entradas, así que puede ser muy útil para ahorrar ancho de banda servir el feed a través FeedBurner de forma que FeedBurner sea el único que acceda a nuestro feed y que sea él el que use su ancho de banda para alimentar al resto de agregadores.

Para analizar los logs, Debian nos ofrece varias aplicaciones ya preempaquetadas: Visitors, WebDruid, AWFFull y el veterano wwwstat.

Apache HTTP server benchmarking tool

Por último, no podemos dejar de mencionar el ab (Apache HTTP server benchmarking tool), una utilidad incluida en el paquete apache2-utils con la que podremos hacerle pruebas de carga a nuestro servidor web. Puede resultarnos útil para comparar el rendimiento de un Apache 1.3 con el de un Apache 2.2 o con el de un lighttpd o para probar las mejoras de la caché o de la compresión o para estudiar las consecuencias que los cambios en el código pueden suponer (por ejemplo, tras introducir un trozo de código PHP muy complejo de ejecutar y que tal vez resulte muy lento).

En esta prueba de ejemplo, le lanzo a mi servidor a través de la LAN peticiones de 5 en 5 (-c 5) durante un tiempo máximo de 60 segundos (-t 30), y veo que es capaz de atender 23 peticiones (los fallos “Length: 21” son porque las páginas devueltas no tienen todas el mismo tamaño, algo que no es un problema en este caso), pero que algunas han tenido que esperar hasta 40 segundos:

# ab -c 5 -t 60 http://www.vicente-navarro.com/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.vicente-navarro.com (be patient)
Finished 23 requests


Server Software:        Apache/2.2.3
Server Hostname:        www.vicente-navarro.com
Server Port:            80

Document Path:          /blog/
Document Length:        63231 bytes

Concurrency Level:      5
Time taken for tests:   60.523663 seconds
Complete requests:      23
Failed requests:        21
   (Connect: 0, Length: 21, Exceptions: 0)
Write errors:           0
Total transferred:      1510651 bytes
HTML transferred:       1505035 bytes
Requests per second:    0.38 [#/sec] (mean)
Time per request:       13157.318 [ms] (mean)
Time per request:       2631.464 [ms] (mean, across all concurrent requests)
Transfer rate:          24.37 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:  2319 11847 9921.7   9117   40440
Waiting:     1251 5547 7283.9   2763   30366
Total:       2319 11847 9921.7   9117   40440

Percentage of the requests served within a certain time (ms)
  50%   8977
  66%  14074
  75%  15522
  80%  18804
  90%  27300
  95%  29838
  98%  40440
  99%  40440
 100%  40440 (longest request)

Volvamos a repetir la prueba tras habilitar el plugin para WordPress WP Super Cache, del que ya hablamos en Comprimir y cachear las páginas generadas por WordPress y veremos que de las decepcionantes 23 peticiones servidas pasamos a nada menos que 8193 peticiones con un tiempo de espera máximos de 71ms:

# ab -c 5 -t 60 http://www.vicente-navarro.com/blog/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.vicente-navarro.com (be patient)
Completed 5000 requests
Finished 8193 requests


Server Software:        Apache/2.2.3
Server Hostname:        www.vicente-navarro.com
Server Port:            80

Document Path:          /blog/
Document Length:        63301 bytes

Concurrency Level:      5
Time taken for tests:   60.358 seconds
Complete requests:      8193
Failed requests:        0
Write errors:           0
Total transferred:      520941496 bytes
HTML transferred:       518752897 bytes
Requests per second:    136.55 [#/sec] (mean)
Time per request:       36.617 [ms] (mean)
Time per request:       7.323 [ms] (mean, across all concurrent requests)
Transfer rate:          8478.80 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    3   2.5      3      26
Processing:    13   32   4.1     33      69
Waiting:        2    8   4.4      8      49
Total:         18   36   4.1     36      71

Percentage of the requests served within a certain time (ms)
  50%     36
  66%     37
  75%     38
  80%     39
  90%     41
  95%     43
  98%     45
  99%     46
 100%     71 (longest request)

¡Ah! Y si permitimos la compresión con la opción -H "Accept-Encoding: gzip", el resultado es incluso más espectacular, llegándose a las 16122 peticiones servidas, aunque ahora la diferencia ya era previsible, ya que es debida sólo a que ahora se sirven menos datos:

# ab -c 5 -t 60 -H "Accept-Encoding: gzip" http://www.vicente-navarro.com/blog/
[...]
Complete requests:      16122
[...]

Por supuesto, lo ideal es hacer estas pruebas desde otro sistema de Internet, donde el cuello de botella del ancho de banda se note, pero estas pruebas desde la LAN también pueden ser muy ilustrativas y útiles para entender por dónde cojea nuestre servidor web.

El servidor de correo

Los dos servicios básicos de un hosting son el servidor web y el servidor de correo, así que de nuestro HC también podríamos esperar que fuera un buen servidor de correo.

Sin embargo, quitando la parte de que un servidor de correo como sendmail o exim puede ser realmente difícil de configurar, la realidad es que en la actualidad, siendo el spam un problema tan grande en Internet, un servidor de SMTP funcionando desde una red de usuarios finales con IPs dinámicas es candidato seguro a ser ignorado por casi todos los servidores de correo de Internet.

E incluso aunque nuestra IP fuera fija, al no ser la IP conocida de un ISP profesional, lo más probable es que nuestros correos también fueran rechazados por un alto porcentaje de servidores destino. Además, no podremos cambiar la resolución inversa de la IP, algo que muchos servidores de correo verifican.

Por ejemplo, imaginemos que instalo el paquete exim4, y lo configuro con “dpkg-reconfigure exim4-config” como servidor SMTP del dominio hostingcasero.homelinux.org (para direcciones como usuario@hostingcasero.homelinux.org).

Elegimos que el “General type of mail configuration” sea “internet site“:

exim4-config 1

En “System mail name” ponemos hostingcasero.homelinux.org:

exim4-config 2

En “IP-addresses to listen on for incoming SMTP connections” lo podemos dejar vacío para que el servidor acepte conexiones SMTP por todos los interfaces de red:

exim4-config 3

En “Other destinations for which mail is accepted“, pondremos el hostname de nuestro servidor, así como hostingcasero.homelinux.org:

exim4-config 4

El “Domains to relay mail for” en principio lo podemos dejar vacío, así como el “Machines to relay mail for“. El “Keep number of DNS-queries minimal (Dial-on-Demand)?” no tiene mayor importancia en nuestra configuración, así como el “Delivery method for local mail” y el “Split configuration into small files?“, que ya van según las preferencias de cada uno.

Pues bien, a finalizar me encuentro con que si intento enviar un e-mail a Hotmail me dice que no acepta mi correo porque mi IP no es de fiar:

# mail nospam@hotmail.com < /tmp/correo.txt
delivering 1JY4zH-0001ym-VM
R: dnslookup for nospam@hotmail.com
T: remote_smtp for nospam@hotmail.com
Connecting to mx2.hotmail.com [65.54.244.168]:25 ... connected
  SMTP<< 220 bay0-mc2-f2.bay0.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited. Other restrictions are found at http://privacy.msn.com/Anti-spam/. Violations will result in use of equipment located in California and other states. Sat, 8 Mar 2008 11:45:44 -0800
  SMTP>> EHLO localhost
  SMTP<< 250-bay0-mc2-f2.bay0.hotmail.com (3.5.0.22) Hello [81.39.245.151]
         250-SIZE 29696000
         250-PIPELINING
         250-8bitmime
         250-BINARYMIME
         250-CHUNKING
         250-AUTH LOGIN
         250-AUTH=LOGIN
         250 OK
  SMTP>> MAIL FROM:<root@hostingcasero.homelinux.org> SIZE=1367
  SMTP>> RCPT TO:<nospam@hotmail.com>
  SMTP>> DATA
  SMTP<< 550 DY-001 Mail rejected by Windows Live Hotmail for policy reasons. We generally do not accept email from dynamic IP's as they are not typically used to deliver unauthenticated SMTP e-mail to an Internet mail server. http://www.spamhaus.org maintains lists of dynamic and residential IP addresses. If you are not an email/network admin please contact your E-mail/Internet Service Provider for help. Email/network admins, please visit http://postmaster.live.com for email delivery information and support
  SMTP>> QUIT
LOG: MAIN
  ** nospam@hotmail.com R=dnslookup T=remote_smtp: SMTP error from remote mail server after MAIL FROM:<root@hostingcasero.homelinux.org> SIZE=1367: host mx2.hotmail.com [65.54.244.168]: 550 DY-001 Mail rejected by Windows Live Hotmail for policy reasons. We generally do not accept email from dynamic IP's as they are not typically used to deliver unauthenticated SMTP e-mail to an Internet mail server. http://www.spamhaus.org maintains lists of dynamic and residential IP addresses. If you are not an email/network admin please contact your E-mail/Internet Service Provider for help. Email/network admins, please visit http://postmaster.live.com for email delivery information and support
LOG: MAIN
  <= <> R=1JY4zH-0001ym-VM U=Debian-exim P=local S=1777
LOG: MAIN
  Completed

Pero en cambio, GMail sí que me lo acepta:

# mail nospam@gmail.com < /tmp/correo.txt

delivering 1JY51y-0001yu-LW
R: dnslookup for nospam@gmail.com
T: remote_smtp for nospam@gmail.com
Connecting to gmail-smtp-in.l.google.com [216.239.59.27]:25 ... connected
  SMTP<< 220 mx.google.com ESMTP g11si5603645gve.6
  SMTP>> EHLO localhost
  SMTP<< 250-mx.google.com at your service, [81.39.245.151]
         250-SIZE 28311552
         250-8BITMIME
         250 ENHANCEDSTATUSCODES
  SMTP>> MAIL FROM:<root@hostingcasero.homelinux.org> SIZE=1363
  SMTP<< 250 2.1.0 OK
  SMTP>> RCPT TO:<nospam@gmail.com>
  SMTP<< 250 2.1.5 OK
  SMTP>> DATA
  SMTP<< 354 Go ahead
  SMTP>> writing message and terminating "."
  SMTP<< 250 2.0.0 OK 1205005717 g11si5603645gve.6
  SMTP>> QUIT
LOG: MAIN
  => nospam@gmail.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [216.239.59.27]
LOG: MAIN
  Completed

aunque según mi experiencia, dependiendo de la IP dinámica que te haya tocado, es muy posible que también se te rechacen los correos si alguna vez la ha tenido alguien sospechoso de mandar spam. En definitiva, es un servicio nada fiable.

Si tenemos un dominio propio con Custom DNS, crear un registro SPF en el DNS puede ayudar para que no rechacen los correos de tu servidor. En openspf.org tienen un formulario que nos ayuda a confeccionar uno adecuado para nuestro servidor.

Las MSN Hotmail Guidelines son un buen sitio donde contrastar todos estos requisitos, que suelen ser bastante comunes:

  1. Sender is expected to comply with all technical standards for the transmission of Internet e-mail, as published by The Internet Society’s Internet Engineering Task Force (IETF), including RFC 2821, RFC 2822, and others.
  2. After given a numeric SMTP error response code between 500 and 599 (also known as a permanent non-delivery response), the sender must not attempt to retransmit that message to that recipient.
  3. After multiple non-delivery responses (see #2), the sender must cease further attempts to send e-mail to that recipient.
  4. Sender must not open more than 500 simultaneous connections to MSN Services inbound e-mail servers without making prior arrangements.
  5. Messages must not be transmitted through insecure e-mail relay or proxy servers.
  6. The mechanism for unsubscribing, either from individual lists or all lists hosted by the sender, must be clearly documented and easy for recipients to find and use.
  7. Connections from dynamic IP space may not be accepted.
  8. E-mail servers must have valid reverse DNS records.

Y fijémonos además en lo que nos decía el mensaje de rechazo de Hotmail:

Mail rejected by Windows Live Hotmail for policy reasons. We generally do not accept email from dynamic IP’s as they are not typically used to deliver unauthenticated SMTP e-mail to an Internet mail server. http://www.spamhaus.org maintains lists of dynamic and residential IP addresses. If you are not an email/network admin please contact your E-mail/Internet Service Provider for help. Email/network admins, please visit http://postmaster.live.com for email delivery information and support.

Esa lista que menciona de Spamhaus no sólo la usa Microsoft, sino que muchas otras empresas e ISPs se basan en ella para descartar los correos desde determinados rangos de IPs en función de la lista.

Con los correos entrantes no tendremos ningún problema siempre que nuestro servidor esté arriba. Los servidores SMTP que nos quieran mandar correo buscarán el registro MX (o el A si no hay MX) en elDNS y salga la IP que salga, ahí se mandará el correo. Para recuperar los correos recibidos en el servidor, puede ser suficiente el clásico comando mail, o con un simple “apt-get install qpopper“, podemos tener un servidor de POP3 listo en pocos segundos. Sin embargo, si nuestro servidor no está arriba por algún problema cuando otro servidor SMTP quiera conectarse al nuestro para enviarle un e-mail, el servidor remoto tendrá que decidir si reintenta el envío más tarde o si lo descarta, por lo que el servicio de recepción de correos tampoco es fiable.

Si realmente queremos tener un servidor de correo fiable en nuestro sistema, la solución definitiva puede venir por contratar el servicio de DynDNS MailHop Relay (42.5$/año), específicamente pensado para estos problemas. El servidor SMTP de DynDNS es el que da la cara y nosotros lo usamos como smarthost para mandar los correos a través de él y viceversa, para que él nos los envíe de vuelta, guardándolos temporalmente si nuestro servidor está caído.

Bytecoders también trató estos temas hace poco en Aviso de actualizaciones en Debian por e-mail y SMTP: la lacra del SPAM.

Correo con nuestro propio dominio con Google Apps

Para mí, todos estos problemas con el correo se acabaron cuando apareció el Google Apps y pude usar el equivalente a GMail (con su POP3 y su IMAP) pero creando diferentes direcciones sobre mi propio dominio (vicente-navarro.com). Para ello, lo único que tuve fue darme de alta en el servicio y apuntar los registros MX de mi dominio a los servidores de Google (Configuring Your MX Records):

# nslookup
> set querytype=MX
> vicente-navarro.com
Server:         80.58.61.250
Address:        80.58.61.250#53

Non-authoritative answer:
vicente-navarro.com     mail exchanger = 10 alt1.aspmx.l.google.com.
vicente-navarro.com     mail exchanger = 15 alt2.aspmx.l.google.com.
vicente-navarro.com     mail exchanger = 5 aspmx.l.google.com.

Authoritative answers can be found from:
alt1.aspmx.l.google.com internet address = 72.14.215.114
alt1.aspmx.l.google.com internet address = 72.14.215.27
alt2.aspmx.l.google.com internet address = 64.233.179.27
aspmx.l.google.com      internet address = 216.239.59.27

Tras esto, creé buzones de correo (o alias) para cada una de las cuentas que iba a usar y reconfiguré mi servidor para que usara un smarthost:

exim4-config Google Apps 1

Y para que usara smtp.google.com como smarthost:

exim4-config Google Apps 2

el resto de la configuración, puede quedar igual que estaba antes. Bueno, igual pero no se nos tiene que olvidar poner nuestro dominio en el apartado de “System mail name“.

Lo único que tendremos que tener en cuenta es que ahora los correos no se reciben localmente sino en la cuenta de Google Apps (lo que en realidad es más cómodo), pero si aún así fuera necesario traer esos correos a nuestro servidor, siempre podríamos configurarlo para que se los trajera de Google usando POP3.

Por supuesto, Google requiere autentificación para mandar correos a través de él, por lo que en el fichero /etc/exim4/passwd.client tendremos que asociar nuestro usuario y contraseña de Google Apps al servidor SMTP:

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
gmail-smtp.l.google.com:cuentaadministrador@vicente-navarro.com:contrasenya

Independientemente de que vayamos a usar el servidor de HC para enviar y recibir correos en serio o no, es indudable que necesitamos tenerlo bien configurado como servidor de correo para que podamos mandarnos advertencias sobre problemas que pueda haber en el servidor desde nuestros scripts de monitorización. O, simplemente, porque aplicaciones como WordPress mandan correos cada vez que llega un nuevo comentario, por ejemplo. Si el servidor de correo no está bien configurado, las aplicaciones que envían correos como parte de su funcionamiento normal, no podrán hacerlo.

Otras cuestiones

Backups
#!/bin/bash
while ! queda_claro
do
   insistir_en_el_backup
done
no_se_puede_insistir_bastante

Creo que no hace falta decir más. Tenemos todo el trabajo invertido en configurar nuestro servidor casero, las bases de datos con los comentarios de nuestros visitantes, nuestras imágenes, nuestro trabajo ahí. ¿De verdad nos vamos a arriesgar a que el disco duro falle o a que inadvertidamente hagamos un “rm -rf *” y desaparezca todo de un plumazo?

Para esta tarea, rysnc es nuestro mejor amigo (Backups con rsync), aunque herramientas como tar o cpio también pueden ayudar. Yo recomendaría una copia de todos los ficheros importantes en algún directorio del propio servidor casero y otra/s copia/s en otro/s sistema/s que tengamos a través de de la red con rsync.

Para exportar todas las bases de datos MySQL del sistema e incluirlas en el backup, podemos hacer un:

mysqldump -uroot -ppassword --all-databases > backup_mysql.bak

y lo podríamos recuperar con un:

mysql -uroot -ppassword < backup_mysql.bak

Más detalles sobre cómo usar el mysqldump en “mysqldump — A Database Backup Program“.

El sistema de respaldo

Durante el año habrá algunos días, semanas o meses que pases fuera de tu casa. Seguramente esos días te querrás dejar la luz, el agua y el gas de casa cerrados para prevenir incidentes. ¿Qué haces con el servidor casero? ¡Tiene que seguir dando servicio!

Si tienes la suerte, como yo, de contar con algún otro ordenador que pueda servir también de servidor casero y de tener algún familiar/amigo con conexión a Internet y que consienta en tenerlo en su casa, una especie de “housing casero”, lo tenemos muy fácil:

  • Instalamos la misma versión de sistema operativo que en el servidor “oficial” y lo llevamos a su nuevo destino.
  • Creamos un nuevo nombre para el otro sistema en DynDNS y lo configuramos para que el ddclient del nuevo sistema lo actualice, pero muchísimo mejor si podemos configurar el router de “la otra casa” para que lo haga automáticamente.
  • Opcional: Preparamos el router y el sistema “hospedado en casa ajena” para arrancar con Wake on Lan. Tenemos que tener en cuenta que si no es el router el que se encarga de actualizar la IP en DynDNS, podemos tener el problema de no saber la IP de destino para enviarle el paquete mágico.
  • Le ponemos una IP fija al sistema o configuramos el router para que le asigne por DHCP siempre la misma y abrimos los puertos necesarios en el router.
  • Creamos una batería de scripts basados en rsync y SSH para sincronizar todos los ficheros de configuración necesarios y adaptar los que varían en el nuevo sistema (por ejemplo, el /etc/ddclient.conf). También deberían actualizar las bases de datos y reiniciar los procesos necesarios tras modificar la configuración.
  • Tener previstos otros scrips para pasar el servicio de un sistema a otro. Al final, esto sólo consiste en que el sistema que sea el primario actualice los registros DNS con su IP y el secundario deje de hacerlo.
  • Tras la estancia en el otro sistema, tendremos que sincronizar los cambios de vuelta al sistema principal y probablemente querramos recoger los logs que se hayan generado allí.

Este sistema de respaldo no sólo nos puede servir en caso de tener que apagar nuestro servidor habitual. También lo podemos utilizar mientras hacemos tareas de mantenimiento o si en tenemos problemas con la conexión a Internet o estamos sufriendo un apagón.

Los cortes de corriente

Otro de los problemas con los que nos tendremos que enfrentar serán los cortes de corriente. Aunque no son muy frecuentes, de vez en cuando tendremos uno y tenemos que tener previsto qué hacer cuando ocurran.

Si se trata de un breve corte, lo más importante es que el servidor arranque sólo cuando vuelva a recibir corriente. Para ello, tenemos que buscar el parámetro de nuestra BIOS que lo permite.

Por ejemplo, en una VIA EPIA SP8000E, el parámetro se llama AC Loss Auto restart y podemos hacer que la máquina se encienda siempre cuando vuelva la luz, que no se encienda nunca o que vuelva al estado anterior:

AC Loss Auto restart

The field defines how the system will respond after an AC loss during system operation.

Off: Keeps the system in an off state until the power button is pressed
On: Restarts the system when the power is back
Former-Sts: Restores the system to its previous state

AC Loss Auto restart

En una placa Asus A8N-SLI, el parámetro se llama Restore on AC Power Loss y sólo tiene dos valores posibles, activado o desactivado:

Restore on AC Power Loss

Pero si queremos estar prevenidos de verdad ante cortes de corriente, la mejor opción es tener un SAI al que conectar el servidor y el router que da acceso a Internet. Si el servidor es un sistema de bajo consumo, tendremos bastante tiempo de margen para esperar a que vuelva la luz, o al menos, el tiempo suficiente para actualizar nuestro servidor de respaldo por si tiene que entrar en acción.

Mantenimiento remoto

La posibilidad de conectarnos por SSH a nuestro servidor casero siempre tiene que estar abierta. En mi experiencia, un servidor SSH abierto en Internet trae infinidad de intentos de conexión con reiteradas pruebas con distintos usuarios. Sin ir más lejos, hoy mismo, alguien ha probado 1520 combinaciones diferentes de usuario/contraseña en mi sistema

# grep "Invalid user" auth.log.0 | grep "Mar  9" | wc -l
1520

Algunos ejemplos:

Mar  9 06:15:05 telemaco sshd[6028]: Invalid user ibm from 61.250.91.34
Mar  9 06:15:09 telemaco sshd[6032]: Invalid user informix from 61.250.91.34
Mar  9 06:40:08 telemaco sshd[7742]: Invalid user stevie from 61.250.91.34
Mar  9 06:40:11 telemaco sshd[7746]: Invalid user kelly from 61.250.91.34
Mar  9 06:40:15 telemaco sshd[7750]: Invalid user rasoul from 61.250.91.34

Es por eso que lo mejor es deshabilitar completamente el acceso con usuario/contraseña y permitir exclusivamente la autentificación por clave pública/privada: Autentificación trasparente por clave pública/privada con OpenSSH.

Cambiar el puerto del servidor SSH (por defecto 22) a otro también puede ser una medida útil para evitar algunos de estos insistentes intentos de acceso.

Otra herramienta de mucha utilidad para el mantenimiento remoto es conectar un módem a nuestro servidor casero, tal y como vimos en: Configurar Linux para permitir el acceso remoto por módem a la consola y por RAS/PPP. En casos en que el router haya perdido la conexión a Internet, podemos tratar de conectarnos por módem y a través del interfaz de configuración por telnet del router tratar de reiniciarlo. Otra situación útil es en caso de una avalancha de peticiones en la que tú mismo no puedes acceder por el router por la absoluta falta de ancho de banda y, en ese caso, la entrada “por la puerta de atrás” nos puede servir para llegar al sistema sin usar Internet.

¿P2P y hosting casero?

Supongamos que necesitamos bajarnos el último DVD de Knoppix por Bittorrent. ¿Es compatible el P2P con sus altas necesidades de ancho de banda con el HC?

Pues en principio, puede serlo -en función del número de visitas que recibamos- siempre que limitemos el ancho de banda de subida disponible para P2P a un límite que permita servir los contenidos hospedados a una velocidad razonable. En el mejor de los casos, el uso de P2P en la misma conexión de un HC irá completamente en detrimento de la experiencia de nuestros visitantes, aunque sólo tengamos uno en ese momento, pero que notará que la página descarga más lenta.

El mejor consejo al respecto es que si activamos el P2P, deberíamos de estar pendientes de que el tiempo de respuesta sea un mínimo aceptable probando nosotros mismos a conectarnos desde otro sistema de Internet. Si vemos que va muy lento, deberíamos desactivar el P2P. Por supuesto, en caso de un pico de visitas, deberíamos de desactivar el P2P inmediatamente.

Scripting

Cualquier administrador que se encargue de un servidor UNIX tiene que estar continuamente creándose scripts para no realizar las mismas tareas una y otra vez. Para nosotros, como administradores de nuestro HC no va a ser distinto. Deberíamos de tener unos conocimientos mínimos de scripting que nos serán muy útiles para hacer backups, para analizar logs, para monitorizar el estado de algún proceso, para enviar e-mails con advertencias, etc.

A lo largo de este año, yo me he llegado a crear un buen número de scripts. La mayoría son muy específicos de mis necesidades particulares, pero me gustaría dejar aquí uno muy sencillito que nos manda un e-mail cada vez que el ISP nos cambia la dirección IP dinámica:

#!/bin/bash
cd /root/scripts_ip
mv -f ippublica ippublica.old
./ippublica.sh > ippublica
if ! diff ippublica ippublica.old > /dev/null
then
   cat cabecera ippublica | mail -s "La IP del servidor ha cambiado - `date +\"%g/%m/%d %H:%M\"`" user@example.com
fi

El ippublica.sh puede ser, bien una petición por SNMP al router para ver cuál es la IP del interfaz de WAN:

snmpwalk -c comunidad -v 1 192.168.1.1 IP-MIB::ipAdEntAddr|egrep -v '0\.0|192\.168' | awk '{print $4}'

bien un acceso a checkip.dyndns.org:

/usr/bin/wget -q -O - http://checkip.dyndns.org/index.html | /usr/bin/fromdos | /bin/sed 's_<html><head><title>Current IP Check</title></head><body>Current IP Address: __' | /bin/sed 's_</body></html>__'

El fichero cabecera es algo como:

La IP del servidor es ahora:

Conclusión

En esta entrada he tratado de recopilar lo más importante de lo que me ha sido necesario conocer durante un año completo de autohospedaje en el que creo que el resultado ha sido bastante satisfactorio. Por carambolas del destino, ahora ya he pasado a un hosting profesional, pero la travesía ha valido la pena y la repetiría tantas veces como hiciera falta. Si alguien tiene intención de adentrarse en esta aventura ha de saber que aprenderá mucho y espero que en estas líneas encuentre consejos que le sean de utilidad, como creo que me hubieran sido a mí.

También hay que tener en cuenta que también es posible tener un hosting casero sin tomárnoslo muy en serio, de forma que no nos importe en absoluto si tenemos la página caída varios días seguidos, pero creo que si nos ponemos, vale la pena hacerlo lo mejor posible. No hay nada que dé peor impresión en Internet que una página que tarda en cargar o que cada dos por tres esté caída. Esa no es la forma de fidelizar a nuestros lectores.

El HC es un poco como tener un perro en casa. Puede ser divertido, te dará muchas satisfacciones, pero a cambio ganas muchas obligaciones: Tienes que estar pendiente de él, te da trabajo y no puedes irte de vacaciones sin buscarle un acomodo.

:wq

Entradas relacionadas

139 Comentarios a “Hosting casero HOWTO”

  • Osqui dice:

    ¡Dios! Esto es LA ENTRADA.
    Súperinteresante, súperamena y súper bien explicada.
    Muchísimas gracias.

  • andoni dice:

    impresionante

  • Sagman dice:

    Impresionante :O . Ahora no tengo tiempo para leerlo detenidamente pero mañana intentaré sumergirme en la lectura entera del artículo porque parece muy interesante :D . Tenía ganas de que lo explicaras!! Gracias :D
    P.D: Me enteré de la entrada a través del pingback que ví en mi blog :)

  • Raist dice:

    En plan didáctico seduce plantearse el instalarse el apache y demás , pero vamos , en plan didáctico como dije , los peros son muy significativos . Eso si , no dudo en seguir el tutorial para trastear y aprender ;)

  • Iván dice:

    ¡Impresiontante artículo, menudo curro!. Te lo has currado muchísimo, todo muy bien explicado, con ejemplos, ventajas, distintos puntos de vista… Aunque no vaya a montarme un HC casero y vaya a seguir con blogger, hay muchas ideas que sí me van a ayudar mucho. Lo primero que tengo que conseguir es configurar el correo, porque ya lo he intentado un par de veces y no hay manera.

    Saludos y gracias por el excelente artículo, Iván.

  • andres dice:

    Enhorabuena, muy bien explicado.

    Yo tenia algo parecido montado pero la placa acabo estropeandose tras mucho tiempo.

    Solo 2 apuntes que faltarian a mi entender para ser perfecto:
    - Configuracion del iptables: algunosmodems, como por ejemplo los de cable, solo tienen una boca y solo te dan una IP, por lo que mi servidor estaba en medio y ademas de correo y web servia internet a la red interna. Por ello tenia que configurar el IPTABLES para que hiciese de pasarela. Es sencillo pero no muy obvio.
    - Servidor de DHCP: al hilo de lo anterior, un servidor de DHCP para la red interna. Con la instalacion por defecto es casi suficiente, solo hacia falta cambiar el nombre de la interfaz de red a la que tenia que servir direcciones
    - QoS: tambien tenia algun programa P2P y casi siempre iba bien, pero deberia de haber puesto, y al final por vagancia nunca lo hice, alguna regla de QoS para dar la minima prioridad sobre el ersto de paquetes a los de los programas P2P.

    Como te digo, el post esta muy bien, pero con informacion sobre como hacer eso para mi ya seria perfecto :)

    Un saludo

  • David G.V. dice:

    Hola.

    Sólo quería felicitarte por este howto tan interesante, del que me he permitido hablar en mi blog ( http://www.blogubuntu.com/159/como-montar-un-servidor-web-casero-y-no-morir-en-el-intento/ ).

    Un saludo y felicidades por el material.

  • Gustavo dice:

    Muy pero que muy explicado todo.
    Muy buen manual/guia en todos los sentidos.

  • Croc dice:

    Prácticamente son los mismo pasos que yo seguí también en su día, sólo que yo sigo hoy en día tirando de mi HC con Telefonica (IP fija por usuario antiguo) y 320 kbps de subida.

    En lo que me gustaría hacer hincapié del artículo es en la selección hardware. Tened cuidado con la máquina que elegís como servidor o despedíos de dormir por la noche. Si compartís habitación haced todo lo posible por eliminar completamente los ventiladores o invertid en algo super-silencioso. Vuestro descanso os lo agradecerá.

    Actualmente estoy dandole una pasada a mi servidor de correo, que aún no he recibido ningún tipo de problema por denegación en ninguna máquina. Por fortuna mi ISP resuelve inversamente mi IP sin problemas. La configuración de un servidor Courier (SMTP/POP/IMAP) y una interfaz web como RoundCubeMail se merecería otra entrada explicativa ;)

    Un saludo!

  • sistemasorp dice:

    Buen artículo, yo también tengo un dominio (sistemasorp.com) albergado en un ordenador VIA EPIA.

    Lo único que quería comentar es que aunque yo tengo el dyndns para que desde el router cambie la ip de mi dominio, tengo los DNS del dominio apuntando a Zoneedit (que pues añadir hasta 5 dominios gratuitamente). Así, poniendo CNAMEs como http://www.sistemasorp.com o http://ftp.sistemasorp.com apuntando a sistemasorp.homelinux.com puedo hacer que cualquier petición que se haga a través del dominio pase al subdominio de dyndsn y finalmente a la ip que tenga en ese momento, incluido el correo. Por eso siempre que se haga un nslookup a http://www.sistemasorp.com o similares lo resolverá a sistemasorp.homelinux.com.

  • Gonzi50 dice:

    Solo a modo de apunte, deberias echar un vistazo a gnupanel. es un panel de administracion, estilo plesk, gnu para debian.

    Puede simplificaros mucho las cosas porque instala de golpe muchos de los paquetes que se nombran y el menu de administración tanto de nivel usuario y administracion es muy buena.

    Creo que sera un referente en el futuro.

  • juan dice:

    Muy bueno! felicitaciones.

    Otro ordenador util, silencioso y de bajo consumo es el Mac Mini.

    Saludos!

  • victor dice:

    Hola, he llegado a tu blog desde barrapunto, y lo primero que habia pensado es que habias instalado un “servidor de hosting” real. puro y duro. tipo Cpanel o Plesk para que tus amigos pudieran redirigir su dominio y crearse cuentas de ftp y web contra tu servidor. ¿lo has probado? seria un gran reto!!! la verdad es que no podría ser publico pues seguramente no tendrás ganas de gastarte las astronómicas cantidades que valen las licencias … pero… ¿hay soluciones gratuitas a cpanel y plesk?

    gracias y saludos!

  • Te falta ciertas ventajas que no has mencionado:

    1 La libertad de configurar el servidor, que suele ser muy importante si estas programando dicha web. Y no te problemas de una configuración distinta de cuando haces la prueba.
    2 Ganar conocimientos por si te falta subir el ancho de banda. Si contratas direcmente los servicios de hosting. Cuando tienes un proyecto avanzado, no puedes dedicarte a aprender en ese momento como montar un hosting.
    3 Si programas la web, consigues que no te puedan robar código o ideas. Hombre, claro esta por sólo 13 euros y tras una pesada documentación puedes registrar tus derechos de autor. Pero edemás de esto es bueno no tener el código disponible de terceros.
    4 Antes un fallo de programación o del servidor los conocimientos son mayores para solucionarlo.
    5 Infinidad de dominios que puedes crear con bajo coste, el hosting se paga por cada dominio

    En yo mi caso, un servidor llamado casero. Pero ya mismo le voy poner dos lineas de telefono ampliamdo la seguridad y el ancho de banda.
    ¿Lo deberé seguir llamando casero por estar en mi casa?. Dónde aguanto visitas mas de 60000 visitas al mes entre todas mis web. Por ejemplo, esta de curriculum web
    Un incoveniente muy peligroso:
    Ante un problemón te puede dar un infarto.
    Pero a veces esos problemones lo tienen las empresas, no dan ese mal servicio que no podemos hacer nada.

  • S@mutops dice:

    Gracias por la información. Te lo has currado :)

    Saludos.

  • InKiLiNo dice:

    El manual está de Puta Madre, pero yo recomiendo para un servidor casero lighttpd en vez de apache2, y php5 + fastcgi, mejor que mod_php5, ah y de paso le ponemos el eaccelerator y nuestro servidor volará :D

  • Gonzi50 dice:

    para Victor:

    Como he dicho un par de comentarios mas para arriba te recomiendo gnupanel. Yo llevo unos cuantos meses con uno montado y todos son buenas noticias.

  • Jose A. Cely dice:

    Hola

    Muy buen articulo, lo leí completo, me siento identificado con muchas cosas, y la experiencia que tuve con mi antiguo servidor de producción (2005), sin embargo esa maquina que usaba aun la uso como servidor personal.
    Te dejo el link de el articulo que escribí es su momento, no es tan técnico como el tuyo.
    http://josecely.tecsua.com/?p=14
    Saludos desde Colombia

    Jose A. Cely

  • Sr. XX - Terror dice:

    Hola, felicidades, todo muy claro y bien explicado.

    Yo hace unos años hice lo mismo. Quería colocar mis programas java a disposición del público, y el hosting java era (y sigue siendo) carísimo.

    Más o menos hice lo que tú excepto en 2 cosas.

    1) Servidor web. En un principio coloqué apache+tomcat (vía ajp). Tras unos benchmarks caseros me dí cuenta de que tomcat podía servir páginas estáticas casi a la misma velocidad que apache. Así que quité apache y puse tomcat en el puerto 80 directamente.

    2) Servidor de correo. Los MTAs de linux (exim, sendmail y post???nosequé) son un suplicio para configurarlos correctamente (demasiadas opciones). Me decanté por JAMES (del proyecto apache). Es un MTA supersimple, javizado, que permite almacenar el correo entrante en una base de datos relacional, haciendo maravillosamente transparente toda la gestión. En fin, hoy, con el proyecto casi congelado, sigo apostando por JAMES.

    Saludos.

  • liken dice:

    Hola, Vicente. Muy buen articulo.

    Se que hay diferentes opiniones, pero discrepo solo en lo de no recomendar laptops como servidores.
    La mayoria de los portatiles de consumo actuales estoy de acuerdo en que no son recomendables, pero hay laptops antiguos de muy buena calidad y de bajo precio en Ebay que pueden ser una opcion bastante buena. Yo tengo un IBM Thinkpad 600 (una maquina de calidad) de servidor encendido hace 2 años, aunque el uptime actual es 6 meses, y sin ningun problema (toco madera ;-) ). Tienen muchas ventajas: Es muy silencioso. El ventilador se enciende solo aveces y apenas se escucha. Tienen UPS incorporada, la bateria aunque vieja te aguanta 10 minutos un apagon. El consumo tambien es muy bajo al ser un portatil y con LCD cerrado. Lo uso como servidor web a internet, servidor samba local, interface gmui para descargas centralizadas de P2P multiusuario y remotas, servidor de correo tambien a traves de gogle apps, y para alojar una libreria sobre ciencia que seria dificil de colocar en un host contratado. Por necesidades uso un disco duro 2.5 de 60GB y que, de momento , va aguantando (El tema de que los 2.5” duran menos tambien trae discusiones y algunos defienden lo contrario). Saludos.

    Liken
    ——–

  • jecomovi dice:

    La comunidad nos hace grandes, articulos como este ENORMES.
    Gracias.

  • Muy buena entrada, para guardar y revisar de vez en cuando.

    Yo de todas maneras le veo futuro a este tipo de servidores, pero más que para tener presencia en Internet, para usar el servidor directamente tu. A ver si me explico, montas un Wiki, un software de trabajo en grupo, otro de gestión de proyectos y lo alojas en tu propio servidor. Y solo accedes tu y tus amigos, no lo abres al público. Entonces tienes la ventaja de la comodidad, puedes actualizar las versiones, personalizarlo a tope… y no tienes los problemas del ancho de banda.

    Saludos.

  • Joan R. dice:

    Impresionante tu dominio del tema socio, saludos desde Mallorca.

    ZP en lugar de dedicarte a salvar el culo de los ladrilleros que se irán al paro, preocúpate de toda la gente super capaz que hay en este pais, y haz que suban como la espuma, te presento a uno de ellos, mi amigo Vicente Navarro … :)

  • Bytecoders dice:

    Extraño que nadie haya mencionado como ventaja el hecho de que el hosting solo depende de ti y de nadie más. Aunque a veces también puede ser una desventaja.
    En mi caso, no depender excesivamente de terceros fue desde luego la mayor motivación.
    No puedo negar que estoy aprendiendo/destrozando mucho, etc. etc. pero eso queda (para mí) en un segundo término.

    Saludos

  • Bytecoders dice:

    Por cierto, no cabe decir que el artículo es de Wikipedia.
    Pero me ha picado la curiosidad.
    Si no me equivoco, tu ya has sobrevivido al efecto Barrapunto y Menéame con el hosting casero, no?

    Saludos, tener buenos sitios de referencia también ayuda. Anda que no he aprendido cosas aquí o de ti ;)

    PS: No sé si podía editar el comentario. Al final, por desconocimiento he puesto otro. :(

  • @Osqui, @andoni, @Sagman, @Raist, @Iván ¡Muchas gracias por vuestros amables comentarios!

    @andres ¡Gracias! Respecto al IP tables, es una buena sugerencia, pero quizás merecería una entrada específica sobre su uso. Sobre el servidor DHCP, a mí no me hacía falta porque el router ya hace el trabajo, aunque ya hablé un poco sobre servidores DHCP en: Iniciar una instalación de Debian por red. Finalmente, probar el QoS ha sido una de las grandes asignaturas pendientes que me han quedado, aunque no esperaba mucha mejora ya que, a diferencia de tu caso, mi tráfico no pasaba todo por el servidor. De todas formas, sí que ajusté algunos parámetros de priorización de tráfico que tenía el router. En cualquier caso, unas sugerencias muy buenas.

    @David G.V., @Gustavo ¡Me alegro de que os haya gustado!

    @Croc Gracias por hacer hincapié en lo del servidor silencioso. Creo que es algo realmente importante. Sobre lo del Courier y el RoundCubeMail, sí, me temo que tanto no cabría aquí ;-) .

    @sistemasorp ¡Pues me parece una idea excelente! ¡Buena de verdad! Así te ahorras comprar el “Custom DNS”! Muchísimas gracias por compartirla en esta entrada.

    @Gonzi50 Gracias por la sugerencia

    @juan ¡Gracias! Sí, el Mac Mini podría servir, pero en su día yo lo descarté porque aunque sea muy silencioso, sí que tiene ventiladores, y si somos estrictos en la política de nada de ruido, me temo que no nos sirve.

    @victor Bueno, ya ves que el servicio era para mí mismo sólo ;-) Sobre lo que me preguntas, en la Wikipedia tienes una lista de web-hosting control panels, tanto de pago como de código abierto.

    @Julio Autor de curriculum web Son muy interesantes los aspectos que mencionas. Me ha parecido curioso lo de:

    Si programas la web, consigues que no te puedan robar código o ideas.

    ¿Realmente crees que los del hosting pueden robarte el código que tienes hospedado? Si te da tanto miedo, siempre puedes ofuscarlo…

    Sobre:

    Infinidad de dominios que puedes crear con bajo coste, el hosting se paga por cada dominio

    no estoy de acuerdo. En Dreamhost, por ejemplo, te permiten asociar un número ilimitado de dominios a tu cuenta.

    @S@mutops Gracias

    @InKiLiNo ¡Muchas gracias por los consejos!

    @Jose A. Cely Gracias por la referencia al artículo. Es muy interesante.

    @Sr. XX – Terror Gracias por la sugerencia del Java Apache Mail Enterprise Server (JAMES), de la fundación Apache. La verdad es que no lo conocía. Muy a tener en cuenta.

    @liken ¡Gracias por tu comentario y por expresar aquí tu opinión! Aunque puede haber casos de portátiles que sobrevivan como héroes durante años, sigo pensando que no son lo más conveniente para un uso como servidor. Además de los discos de 2.5″, el polvo que pueda entrar por los ventiladores se irá acumulando poco a poco en su interior causando problemas de calentamiento y reducir su vida. Se pueden abrir y limpiar, pero es una tarea extremadamente incómoda. En cualquier caso, por supuesto, puedo estar equivocado :-) .

    @jecomovi ¡Gracias!

    @tenderodigital Desde luego, lo que comentas son excelentes sugerencias de uso de un hosting casero sin muchos de sus inconvenientes. ¡Gracias por tu comentario!

    @Joan R. ¡Gracias!

    @Bytecoders ¡Muchas gracias por tu aportación! Por supuesto, una ventaja muy importante del hosting casero es que puedes hacer lo que te dé la gana con él. Sin embargo, en las últimas semanas en las que he probado un hosting de verdad con SSH más en serio me he dado cuenta de que teniendo el Apache, el PHP, el MySQL y una shell, apenas tienes restricciones ni encuentras cosas en las que te encuentres tan limitado. Únicamente, tal vez, el debug y ciertos parámetros que te gustarían cambiar del servidor.

    En Primer aniversario del blog se mencionaban las entradas que han salido en Barrapunto o Menéame estando el blog en HC ;-) .

  • EuLogos dice:

    ¡Muy, pero que muy interesante!
    Quería añadir un par de cosillas:
    1-. No es por hacer publicidad pero con cdmon.com puedes registrar un dominio (por precios bastante competitivos) y luego usar sus DNS para IP dinámicas. Ciertamente se complica el tema de actualizarla pero probablemente se podrá usar un registro CNAME a la dirección de dyndns gratuita.
    2-. Además de “ab (apachebench)” puedes usar “siege”, que además te permitía elegir la identificación del cliente.
    Saludos.

  • @EuLogos Gracias por tus sugerencias de siege y cdmon.com. Ciertamente son alternativas a considerar.

  • Alberto dice:

    Hola

    Intel, ha sacado una nueva version de la placa D210GLY, la D210GLY2 sin ventilador. En la siguiente dirección han hecho un estudio del consumo frente a otras opciones Itx de Via:

    http://resources.mini-box.com/online/MBD-I-D201GLY/intel-d201gly-power-consumption.html

    Si queries calcular el coste de consumo de un equipo, en la suiguiente página hay una calculadora que puede dar una idea bastante aproximada:

    http://www.eu-energystar.org/es/es_007c.shtml#electricity

    Saludos, y felicidades por el trabajo.

  • @Alberto Pues muchas gracias por tu amable comentario y por el enlace al análisis de consumo de la Intel, que me gusta mucho. Tanto, tanto, que ya lo había puesto por ahí arriba ;-)

    Por otra parte, la calculadora de consumo que mencionas está muy chula.

    Para las VIA EPIA hay un simulador de consumo en: EPIACENTER PowerSimulator

  • Infinidad de dominios que puedes crear con bajo coste, el hosting se paga por cada dominio.

    Bueno pero, no se si me explicado bien.Según tengo entendido por cada dominio en algunos hosting se suele pagar un alojamiento distinto. Compras un hosting dedicado limitado a número de dominios especifico, que es lo mejor lo que dreamhost te lo deja ilimitado. Pero de todas formas he visto algunos que si tienes que reiniciar o arreglar algo servicio técnico aparte…

    ¿Realmente crees que los del hosting pueden robarte el código que tienes hospedado? Si te da tanto miedo, siempre puedes ofuscarlo…

    Ok, no somos dioses programando pero la posibilidad de robar existe. Y lo de ofuscar “que será enredar el código”, Ofuscar para molestar y desfucar(si existe) para programar asi cada vez en volverse loco. Para eso le envio el cd (una vez registrado en derechos de autor).

    Otra ventaja es si modificas continuamente la web, es más rapido enviarlo por tu red local.

    Para ampliarlo poner dos lineas con dos registro de dns. Y ya que te queda bordao.

  • igle dice:

    Guauu!!Es un fiel reflejo de lo que tengo yo montado actualmente.
    En mi caso el tema hardware no lo elegí mucho…tiré con lo que tenía y es bastante decente (P3 y 368M de RAM) además, para evitar temas de ruido y demás decidí colocar el servidor en la terraza de casa. No encontrareis servidor con mejores temperaturas y sin limiataciones de ruidos! :-) Algún día tengo que colgar fotos por el blog…
    Saludos y felicidades por el artículo!

  • Robintux dice:

    Felicitaciones y saludos desde peru .

  • Feclicitaciones por tan buen HOWTO, como tu; también yo hospede un HC por algún tiempo.
    Este vivió en 3 PC’s diferentes y con diferentes sistemas operativos. El primero fue un Pentium de 100MHz y 32MB de RAM, corría FreeBSD 4.9, con todos los servicios deseables de un hosting profesional.

    ¡Vaya que aprendí con mi HC!

  • Hola tocayo, te felicito, extraordinario este Howto, te lo has currado, como todos los que tienes.
    Todavía sigo buscando para hacer el HC con una placa de bajo consumo, las de VIA EPIA me parecen una opción extremadamente cara y estoy esperando a que salgan placas más económicas, si al final lo que nos ahorramos en luz durante 5 años nos lo gastamos en un ordenador carísimo, no hacemos nada.
    También estoy esperando que los discos de estado solido estén a un precio razonable.
    Mientras tanto con una supertorre que hace mucho ruido con su SAI para protegerla de los cortes eléctricos.

  • Yurgen dice:

    Buenas!,

    Un gran post para los novatos en el tema de Hosting. De todos modos, no entiendo por que descartas Windows de primeras. Entiendo que el inconveniente mas grande sea el tema de pago de licencias, pero en cuanto administración y gestión remota no le encuentro ninguna diferencia. En linux SSH y en Windows Terminal Server. Si a lo que te refieras es dar acceso a los clientes, es cierto que ahí Linux gana por goleada. Pero si solo es servicio de correo y FTP, no creo que hubiera problema

    Por suerte o por desgracia he trabajado y trabajo con los dos sistemas en entorno de Hosting compartido y dedicado, y lejos de ser un defensor a ultranza de Windows, la estabilidad de los servidores con éste sistema es quizá mas alta que los Linux (no me peguéis por favor :P). Habría que servicios se quiere ofrecer apache ó IIS con SQL Server, ASP.net.., y a partir de ahí decidir. (PHP y MySql funciona en los dos correctamente, ventajas del software libre :P).

    No se que opináis.

    Saludos!

    P.D. Espero no haber sido un flamer….

  • @Julio autor de curriculum web Lo que yo he visto en varios hostings es que tú contratas tu cuenta con su espacio y su límite de transferencia mensual y luego le puedes asociar muchos dominios. Sean comprados en ese mismo hosting o sean externos.

    @igle Pues es un muy buen remedio contra el ruido ;-) . Pero, ¡no se te oxida la caja? Ya se oxidan a veces incluso dentro de casa… así que ¡imagínate en el balcón!

    @Robintux, @Ernesto Celis ¡Gracias!

    @Vicente Puchades ¡Muchas gracias! Échale un vistazo a la placa Intel que menciono arriba. Tiene un precio muy razonable. De todas formas, no es sólo por el consumo, para mí lo más importante de estas placas es que no llevan ningún ventilador ;-)

    @Yurgen Por supuesto que no eres un “flamer”. Presentas un opinión muy razonada y respetable. Para mi, el inconveniente más grande de Windows en este campo es la ausencia de una línea de comandos en la que se puedan hacer cosas de verdad en el campo del mantenimiento remoto. Mencionas el Terminal Server, pero me temo que es mucho menos flexible que una humilde shell a través de SSH. Ni que decir tiene que hablando de hosting casero, el ancho de banda que necesitaríamos para acceder desde fuera de la LAN sería totalmente desmesurado, así como la desaparición de la posibilidad de acceso por modem. Además, necesitas una licencia de Windows Server… ¿quién querría desembolsar tal cantidad de dinero para tener un hosting casero existiendo Linux? :-)

  • Ringmaster dice:

    Uauuuh!! Menudo currazo, imprescindible para los que se inicien en el hosting casero. Parece que te hayas conectado al ordenador con el casco de Matrix y hayas volcado todos tus conocimientos. Felicidades.

    Y sí, estoy de acuerdo contigo que actualmente las placas VIA NO son recomendables, el soporte de controladores es pésimo y en cuanto a precio/calidad/potencia las de intel o incluso AMD son mejores.
    Yo cambié la mía por una MicroATX AMD X2 4200 y sólo me consume 15W más en idle (aunque se dispara al doble de la VIA cuando está ocupado no hay duda que hace mucho más trabajo).

  • corrosion dice:

    Buenas!
    Muy buena tu entrada. Yo también tengo montado lo mismo que tu, bueno, muy similar; con una vieja epia800 y FreeBSD y es una delicia. Claro que tengo la máquina a unos 15 metros de mi en un trastero sin molestar a nadie con el ruido. Es un servidor genial. Voy a ver si le puedo echar el guante a esa placa intel que comentas :D:D:D

  • Alber dice:

    Hola,

    Yo llevo tres años con mi servidor de correo casero y estoy bastante contento. Ocasionalmente he montado algun servidor web pero sólo para experimentar. La máquina es un AMD Sempron 3000 con ventilador y fuente de muy bajo ruido y no molesta casi nada. Uso Windows XP también sin problemas (no uso mantenimiento remoto, sólo local).

    Algunos comentarios que pueden ser de utilidad:

    DNS: para barato, un registro de dominio (dominio con mi nombre) y DNS que que apunta el dominio a mi IP dinámica tengo http://www.sitelutions.com 9 $ al año todo. Sin ningún problema. (No permite dominios .es)(Se pueden transferir dominios de otros sitios)

    Correo: Para resolver los problemas que hay al enviar correo desde IP dinámica. Hay que enviarlo a través de un smarthost, de ese modo el correo llega desde una máquina ´legal´. El smarthost a usar es el servido de correo de nuestro ISP, en mi caso (tengo jazztel) smtp.jazztel.com. Cada ISP os habrá dado los datos de su servidor de correo, el cual se puede usar como smarthost.

    Para reibir el correo si nuestro servidor no está online se puede usar un servicio de mail backup. En sitelutions te dan uno por 18 $ al año. Cuando nuestro servidor vuelve a estar online recibe los correos pendientes.

    SPAM: Para que no llegue SPAM lo mejor es el ASSP http://assp.sourceforge.net/ LLeva algo de trabajo configurarlo bien pero una vez hecho no llega ni uno.

  • Awela dice:

    Muy bueno
    Muy interesante

    Yo lo tube en casa hace ya unos cuantos años… de cuanto telefonica daba la Ip fija sin preguntar…
    La verdad es que aprendí un montón….

    Yo tenia un Compaq que compré de segunda mano… un Pentium, asi a secas con 2 gb de disco… una debian… apache, php y exim

    Ya no tengo tiempo para estas cosas, pero fue muy muy divertido cuidar de este pequeñin…

    Yo lo recomiendo

  • @Ringmaster ¡Gracias! Sí, las VIAs están donde están por pura desidia de la compañía. Ahora que Intel ha entrado en este segmento de mercado, están prácticamente

    @corrosion ¡Gracias!

    @Alber Sobre el DNS, muchas gracias por recomendarnos Sitelutions. Veo que sólo por el coste del dominio, te permiten tener DNS dinámico gratis, incluso redirecciones de URL y DNS estático. Una alternativa muy interesante.

    Sobre el “smarthost”, el tema es enviar correos usando múltiples cuentas de tu propio dominio. Normalmente el servidor SMTP de tu ISP te dejará mandarlos con su dominio (p.e. correo@jazztel.com), pero no con el tuyo (p.e. correo@midominio.com).

    Sobre el “spam”, ¡gracias por recomendarnos el ASSP!

    @Awela ¡Gracias!

  • abaca dice:

    ¡menuda tesis doctoral! vaya currada te has metido; me prometo a mi mismo aprovechar estos apuntes algún día, muchas gracias

  • macario dice:

    Creo que el hosting casero, cuya puesta en marcha has explicado tan bien, es una excelente opción en casos de emergencia. Hace unos días, tras cesar mi proveedor sus servicios de hosting de modo repentino, tuve que realojar urgentemente mi web osCommerce. Para ello hice lo siguiente:

    1- Darme de alta en DynDNS,
    2- Buscar un SAI pequeño,
    3- Desempolvar un viejo Duron, al que renové los ventiladores (¡quién hubiera tenido un diminuto y silencioso NSLU2!),
    4- Instalarle Ubuntu Server. Eligiendo la opción LAMP es rapidísimo hacerlo funcionar (sobre la instalación por defecto sólo añadí OpenSSH y, por comodidad, mc y phpMyAdmin, creo).
    5- Retocar un par de cosas de configuración (como el conf de apache) y de seguridad (htpasswd, por ejemplo),
    6- Reponer mi web desde la última copia de seguridad (bendita sea),
    7- Activar el agente DynDNS de mi router Linksys.

    Al día siguiente, tras muy pocos ajustes, ya estaba todo funcionando y ahora, con mi página en marcha, puedo ir probando tranquilamente nuevos proveedores.

  • Alber dice:

    Super CoCo dijo: “”Sobre el smarthost, el tema es enviar correos usando múltiples cuentas de tu propio dominio. Normalmente el servidor SMTP de tu ISP te dejará mandarlos con su dominio (p.e. correo@jazztel.com), pero no con el tuyo (p.e. correo@midominio.com).””

    Te puedo garantizar que en mi caso mando a través de smtp.jazztel com los correos de tipo miscuentas@midominio.com. He tenido que configurar mi servidor de correo para decirle que use como smarthost smtp.jazztel.com junto con mi usuario y password en jazztel. Llevo así un año o sea que funciona.

  • @abaca Sí, sí, doctor en Cacharreología por la Universidad de mi Casa ;-) . ¡Muchas gracias!

    @macario Es algo muy a tener en consideración. Aunque ahora tengo un hosting normal, sigo teniendo todo perfectamente preparado por si cualquier día me toca volver a servir el blog desde mi servidor casero, ¡que nunca se sabe qué problemas puedes tener con una empresa de hosting!

    @Alber Pues me alegro mucho que sea así para tu comodidad. Sin embargo, si un servidor SMTP está bien configurado, no debería de permitir correos de dominios diferentes a los que gestiona ese servidor para evitar el spam (y otros servidores SMTP no deberían aceptarlos según las reglas que hemos comentado más arriba). Por ejemplo, smtp.telefonica.net sólo permite el dominio telefonica.net y todos los dominios que hayas comprado a Telefónica junto con su servicio de hosting. A mí, por ejemplo, no me gustaría que nadie enviara correos con el dominio vicente-navarro.com y, por lo que dices, tú podrías mandarlos a través de smtp.jazztel.com, ¿no?

  • josemanu dice:

    Super Coco… ERES EL MAS GRANDE!!!!!

    Has escrito un artículo épico. Ha partir de ahora referencia obligatoria para el que se quiera documentar sobre hosting casero (yo lo voy a consultar mucho, te lo aseguro).

    Un artículo completísimo y fácil de entender, pura poesia.

    Si alguna vez te acercas a Castellón ponte en contacto conmigo, que tienes pagado un almuerzo, comida o lo que se tercie.

    Muchísimas gracias.

  • @josemanu ¡Muchas gracias! :-)

  • Joan R. dice:

    ….

    “Buenos dias, está el señor Vicente Navarro, hola, vengo de la Secretaría General de Política Científica y Tecnológica, Ministerio de Ciencia y Tecnologia … :)

    Estoy aquí para servirle, dígame … que necesita usted para crear su empresa tecnológica y contratar a 10 personas, para realizar I+D ?? :)”

    :)

  • Alber dice:

    Efectivamente, yo podría mandar correos del dominio vicente-navarro.com a través de smtp.jazztel.com, pero yo creo que cualquiera podría mandarlos a través de su servidor smtp. Los servidores smtp que conozco (he usado más aparte de jazztel) normalmente sólo permiten su dominio para evitar spam, PERO si usas el servidor con autenticación (usuario y password ) permiten que el origen sea cualquier dominio (en este caso al ser usuario suyo, no hay peligro de spam)

    Esa prueba la he hecho con otras cuentas de correo que tengo y habitualmente funciona. Creo que tengo alguna cuenta de telefonica.net, si eso hago una prueba.

    Respecto a lo de que te preocupa que alguien (que no seas tú) envíe correos de tu dominio, no tiene remedio. Enviar correos con nombres de otros dominios es trivial (vease spam). El correo actual no garantiza que el originario sea quien dice ser.

  • @Joan R. ;-) .

    @Alber Sobre:

    Respecto a lo de que te preocupa que alguien (que no seas tú) envíe correos de tu dominio, no tiene remedio.

    estoy de acuerdo. Pero muchos servidores SMTP ya están configurados para no aceptar correos de dominios cuyo origen no es una IP válida (según las reglas que comentábamos de SPF, resolución inversa, etc.). Por la misma regla de tres, los servidores SMTP que envían correos no deberían aceptar hacer relay de correos de dominios que no están asignados a ellos, aunque se autentificaran correctamente. Si se cumplieran ambas condiciones, habría muchos menos problemas de suplantación de identidad (aunque para eso está el PGP) y de spam, ¿no te parece?

    Por tanto, lo que hace Jazztel me parece bien de cara a dar facilidades sus usuarios y mal de cara a prevenir suplantaciones de identidad y spam. Sobre Telefonica.net, en las pruebas que hice en su día vi que sólo acepta correos de dominios que tiene gestionados.

  • Alta_suciedad dice:

    Es un manual perfecto. Ademas tienes el don de la palabra y consigues que tantos datos juntos queden escritos de una manera entendible y agradecida de leer. Un 10 para ti.
    Yo tambien voy haciendo pinitos con un servidor domestico realizado con un equipo P4 de HP de sobremesa pero con Win2003 Server + conexion de 6Mbps de Orange protegido por un SAI APC de 700 VA.
    Me hace mucha gracia el planteamiento inicial del HW necesario, el consumo electrio, el ruido, del ISP y de la estabilidad en la alimentacion porque coincido al 100% con lo que comentas.
    Lo dicho, felicidades y gracias por compartir tantas horas de trabajo con nosotros.

  • @Alta_suciedad ¡Gracias! ¡Me alegro de que te haya gustado!

  • Lazaro dice:

    Estaba navegando por la web y buscaba como hacer nuestro propio server (somos una Iglesia Cristiana en Lansing USA),y de verdad que me dejo muy impresionado tus explicaciones, solo que tengo que leerlo todo, y por lo que veo… no creo podremos, tengo servidor de Hosting con GoDaddy, y hacemos Streaming de audio/video con Markoni, y estos ultimos trabajan con el WMEncoder, yo solo trabaje una vez Ubuntu, pero por las razones explicadas ahora tenemos a “Ventanas”..Bueno felicitaciones y suerte.
    Alta_suciedad dijo:…felicidades y gracias por compartir tantas horas de trabajo con nosotros.
    Y en eso estoy de acuerdo 100%, es una de las razones que mas admiro la comunidad Open/source (si esta bien dicho).

    Nota:”On this free world, without frontier’s..Who needs “Gates and Windows”

  • @Lazaro ¡Gracias! Y sí, tienes razón… el streaming sería demasiado para un pobre hosting casero ;-)

  • Roberto dice:

    Estoy completamente deacuerdo en que la opcion mas practica para aquel que quiera tener un dominio en internet y alojar unas paginas, un blog, etc, es abonarse a una de las muchas ofertas de hosting que tenemos disponibles y que tampoco son tan caras.

    Eso si, como cacharreo aconsejo a todo el mundo que se aventure en la instalacion de una distro linux con apache, mysql, php, webmin, ssh, etc,etc,etc y juegue con todo ello. Aunque no sea para sacarle rendimiento simpre se aprenden cosas muy interesantes y conocemos un poco mas como funciona el tema.

    Otro articulo muy bueno y que da una idea muy buena de un servidor web casero.

    Felicidades Super Coco y gracias.

  • MoDoRrO dice:

    perfecto!

    justo lo que se necesita para los que empiezan en servidores caseros

    Saluds

  • @Roberto, @MoDoRro ¡Muchas gracias!

  • Cristián dice:

    Hola estimado: He leído tu excelente manual y bueno, se me han aclarado muchos puntos, de los que tenía ideas un poco vagas…
    Pero tengo unas consultas… a ver si tienes un tiempesito para ayudarme….

    1) necesariamente debo “comprar” un dominio?? lo digo porque yo tengo una cuenta en no-ip.com y tengo un host (algo asi como xxx.servehttp.com) pensando que podria poner esta dirección en la barra del navegador y llegaría a ver mi página…. :P

    2) Tengo apache montado sobre Windows XP SP2, y cuando hago pruebas locales (en ie: localhost) me funciona sin problemas…

    3) Tengo abierto el puerto 80 tanto en Windows como en mi Router D-link, y ademas nateada mi direccion interna a la externa…

    Tonces…. me puede orientar para saber en que estoy fallando….. recuerda si que todo lo que estoy haciendo es sobre Windows XP lamentablemente…
    Espero puedas ayudarme, te lo agradeceré….

  • @Cristián Si la página te funciona localmente, el problema supongo que puede estar en el NATeo o en que no asocies correctamente la IP pública al host de no-ip.com.

    Pero en realidad hay tantas cosas que pueden estar causando el problema…

  • bitor dice:

    Muy currado el articulo.

    Gracias.

  • Hola que tal, estuve leyendo tu POST sobre “Hosting Casero” y debo decir q me parece muy interesante, yo ya habia montando un servidor casero con muchas cosas similares a las tuyas, pero…. hay un parrafo que me dejo intrigado, aqui lo escribo:

    El dominio

    “Por supuesto vamos a necesitar uno o mas dominios para hacer realidad nuestro poryecto. Si tuvieramos una IP fija, podriamos comprar un dominio a cualquier registrador y hacer que el DNS apuntara a nuestra IP fija.”

    Comentario: Pues hasta aqui todo es normal, es el procediemiento comun que se hace, pero luego…..

    “En nuestro servidor tendriamos que configurar un servidor DNS ademas de todos los otros servicios que quisieramos proporcionar”

    Comentario: Aqui me perdi, no entiendo a lo que te refieres, no valdria simplemente con hacer un NAT en el router? a q te refieres con configurar un DNS en el servidor? o sea…. aparte del DNS del registrador, necesitamos otro DNS en nuestro propio servidor? para que? cual es la idea? como lo hago? no se si podrias enviarme quizas algun enlace q me ayude con esa duda o tratar de explicarme un poco ese tema.

    Disculpa por mis inquietudes pero es algo que he escuchado algunas veces y no entiendo, ojala y me puedas ayudar y pasar algunos links. Tambien te dejo mi blog. Adios

    http://youta18.awardspace.com/wordpress/

    Saludos,

  • @Omar Cuando tú compras un dominio y nada más, en principio lo que estás comprando sólo es la posibilidad de servir las diferentes direcciones de ese dominio desde un servidor de DNS que tienes que tener corriendo tú mismo.

    Por ejemplo, supongamos que compramos el dominio example.com. Al registrador sólo le tienes que decir cuáles son los servidores de DNS que servirán las peticiones dicho dominio. Es lo que ves si haces un whois al dominio:

    Nameserver Information:
        Nameserver: a.iana-servers.net.
        IP Address: 192.0.34.43
        Nameserver: b.iana-servers.net.
        IP Address: 193.0.0.236
        Nameserver: c.iana-servers.net.
        IP Address: 139.91.1.10

    Así, cuando tú pongas en tu navegador “http://proyectoX.example.com”, el cliente de DNS de tu sistema operativo le preguntará a su servidor de DNS asignado que cuál es la IP de ese sitio. Y tu servidor de DNS asignado lo que hará es ir a preguntar a los servidores de DNS de example.com que cuál es la IP que busca.

    Por eso, para hacer hosting casero, si sólo compras un dominio y nada más, tendrás que montarte tu propio servidor de DNS a menos que la empresa a la que le has comprado el dominio te proporcione servicios como los de DynDNS o a menos que tengas una IP fija y el registrador de dominios incluya entre sus servicios el asociar dominios a IPs fijas usando sus propios servidores de DNS.

  • Gracias por responderme tan pronto, pero tengo algunas otras dudas, ojala me puedas ayudar.

    A continuacion le explico mis dudas:

    En realidad todo esta relacionado con servidores DNS, mis dudas son las que siguen:

    Primera inquietud:

    Lo que estamos acostumbrados es a comprar un dominio junto con el hosting, cierto? entonces lo que hace la empresa registradora de dominios es “registrar” nuestro dominio en un servidor DNS para que pueda ser accedido desde internet apuntando a una direccion IP publica (fija obviamente).

    Hasta aqui tengo algunas dudas:

    - ¿En que servidor DNS lo registran? ¿ellos tienen un servidor DNS propio? si tienen un servidor DNS propio, cualquiera puede publicar un servidor DNS en internet? no necesita alguna autorizacion? como saben los demas servidores DNS de la existencia de ese nuevo servidor?

    Segunda inquietud:

    Supongamos que decido comprar solo el dominio, es decir no alquilo hosting y tampoco colocan mi dominio en un servidor dns.
    Lo que he visto y he leido es que al momento de registrar mi dominio debo de colocar que servidores dns voy a usar, para que se hace eso? mi “registrador de dominio” hace alguna configuracion para que solo funcione en ese servidor DNS? donde hacen esa configuracion? en que tipo de servidor? y con que proposito?

    Si yo mismo coloco mi servidor DNS y le digo a mi “registrador de dominios” la IP de mi servidor DNS (para que este resuelva), como se enteran en el mundo (es decir en internet) de la existencia de mi servidor DNS? tendria que registrarlo en otro servidor DNS?.

    Como ves tengo varias dudas, espero me puedas ayudar a resolverlas.

    Saludos,

  • @Osmar Todas las compañías de hosting tienen servidores de DNS, sí, pero dichos servidores de DNS sólo tienen autoridad sobre los dominios que están bajo su control. Otros servidores de DNS, cuando tengan que saber la IP de un nodo de este dominio tendrán que pasar siempre por los DNSs de la compañía de hosting. Hay unos servidores DNS raíz, que son los que tienen autoridad sobre los dominios .com, .net, .org, etc. que son los que te redirigen al servidor DNS de la compañía de hosting que tiene control sobre el dominio.

    Es un tema que requiere documentarse detenidamente. El artículo de la Wikipedia Domain Name System tiene algunos esquemas que te pueden aydar a entenderlo.

    Sobre la segunda inquietud, el tema es muy sencillo. Cuando tú compras tu dominio, lo que estás haciendo es escribir en la base de datos de los servidores DNS raíz (los que tienen control sobre los .com, .net, .org, etc) que tu servidor DNS y sólo tu servidor DNS y ningún otro es el que tiene derecho a dar la respuesta definitiva sobre cuál es la IP que corresponde a tal nombre de tu dominio.

  • Alex Dumont dice:

    Excelente lo de los Google Apps (entre otras cosas, reconozco que no he leido todo de momento). Voy a probar esto en cuanto pueda!

  • The Pro dice:

    Buena Tarde Super Coco:

    2 Preguntas rapidas:

    La primera la tarjeta que recomiendas la D201GLY2A de Intel, soporta el WOL (Wake On Lan), ya que en los lugares que he buscado no se menciona nada con respecto a eso, te lo pregunto por que me interesa habilitar un Hosting Casero y pretendo basarme en tu excelente Guia.

    La segunda, basandose en tu experiencia personal, que me recomiendas, decantarme por la D201GLY2A o tal vez buscar una Tarjeta de VIA como la PC3500G

    Saludos y muchas gracias por compartir tus conocimientos.

  • @The Pro Según el manual de la D201GLY2A, sí que soporta el Wake on Lan.

    Sobre qué es mejor si la D201GLY2A o la VIA, probablemente el procesador de Intel sea mucho mejor, pero como no tengo ninguno de los dos, no tengo elementos de juicio reales para opinar.

  • Mauri dice:

    Felicidades por el artículo / manual, en cuanto tenga tiempo lo pondré en práctica.

    Muchas gracias por compartir tus conocimientos.

  • juan ignacio dice:

    Hola,

    Una pregunta de DynDNS: “¿Si has registrado un dominio “www.midominio.com” en una empresa sin servicios de actualizacion de IP dinamica y en casa tienes ADSL con IP dinamica, puedo usar DynDNS (ddclient) para poder tener mi pagina publicada en internet y administrarla desde mi servidor local?”

    Un cordial saludo

  • @juan ignacio No, no podrías usar ddclient. Tendrías que, cada vez que tu proveedor de ADSL te cambia la IP, ir al panel de control de tu registrador y decirle la nueva IP a la que tiene que apuntar el dominio. Como tendría que ser manual y encima el cambio de IP puede tardar un rato en tener efecto, no es práctico para tener una página pública. Puede serlo si es algo exclusivamente para tí.

    Otra cosa que se puede hacer es que registres algún hostname de los gratuitos en DynDNS como “ejemplo.dyndns.com” que actualices desde tu router/servidor (con ddclient) y que “www.midominio.com” sea un CNAME a “ejemplo.dyndns.com” (si tu registrador te lo permite). Así podrías tener el servidor en casa sin problemas.

  • angel dice:

    HOLA MI SERVIDOR LO PUEDO VER SOLO EN MI RED LOCAL
    como puedo Ver mi servidor fuera de mi LAN
    MI PUERTO 80 ESTA ABIERTO FTP TB
    YA REDIRECCIONE EL IP
    ESTOY TRABAJANDO CON NO-IP
    MI MSN angeltres3@hotmail.com

  • javierPindter dice:

    Que tal, antes que nada agradezco por tu gran aportación. En lo particular tu publicación me ha resultado excelente, pude resolver muchas dudas. No se si ya lo conozcas pero http://www.everydns.net/ ofrece el servicio de DDNS gratuitamente con la ventaja que nos permite usar nuestro propio dominio a diferencia de la version gratuita de DynDNS, además que permite libremente el control de registros como los CNAME y los MX para googleApps. Hasta el momento no me ha causado ningun problema. Saludos.

  • @javierPindter No conocía esa empresa pero parece una buena opción. ¡Gracias por el informarnos de ella!

  • javierPindter dice:

    Recientemente descubri el dd-wrt (http://www.dd-wrt.com/dd-wrtv3/index.php) que es un firmware mucho más completo que el que viene de fabrica, en mi caso WRT54G de LinkSys. Al cambiar el firmware en la opción de DDNS se puede incluir la información de acceso de muchos proveedores DDNS (DynDNS, no-ip, TZO, zoneedit, changeip, easydns, etc) a diferencia de los dos por omisión de LinkSys, con la ventaja de que en caso de que no este en el listado, se puede crear uno como es en el caso de everydns, donde simplemente proporcionas tu login, password y la ruta del servidor (http://www.dd-wrt.com/wiki/index.php/DDNS_-_How_to_setup_Custom_DDNS_settings_using_embedded_inadyn_-_HOWTO). Saludos

  • @javierPindter Información también muy útil e interesante. ¡Gracias!

  • Eduardo Moreira dice:

    Excelente trabajo, lo explicas muy bien entendi como minimo un 95%, llevo varios meses investigando y haciendo pruebas, ya que quiero hacer un proyecto como el tuyo, muchas cosas que expones en este blog ya las sabia pero despues de leerlo completo uffffffffff aprendi bastantes cosas nuevas. Ahora si voy a montar mi web server muy bien configurado……..Gracias

  • Holap:

    Wowww!!!
    Qué trabajo más estupendo!

    Sin duda alguna es uno de los mejores tutoriales que he leido en la internet… ahora sí me ha quedado absolutamente claro todo lo relacionado con el hosting casero, DNS, dominios, etc… etc…

    Muchas gracias por todo.

    Saludooos :P

  • @Eduardo Moreira, @Carlos Ruiz Ortega ¡Gracias! ¡Me alegro de que os haya gustado!

  • katerine dice:

    Felicitaciones! Tienes un blog muy bueno. Y lo mejor, Lo hiciste y yo tambien entedi, muchas gracias

  • Al dice:

    Excelente articulo pero por lo poco que cuestan hoy dia alojamientos como hostgator.es da qeu pensar

  • Franco dice:

    Increible. Esto sí que es un aporte a la comunidad!!
    Felicitaciones

  • Raúl M. dice:

    Bueno, pues me ha motivado mucho tus grandes palabras sobre un HC, y es que si pudiera hacerlo, lo haría… tan solo tengo 17 años, una conexión bastante mala (Vodafone), y una madre…. que mejor ni hablemos jajaja!, en un futuro haré algo por el estilo, o a lo mejor una empresa de WebHosting, quien sabe… se agradece mucho todo esto, hasta me he guardado este documento por si acaso.

    Saludos y suerte amigo. ;)

  • gameshells dice:

    Buen post la verdad no hay que negarlo pero a mis 23 años de vida .. te digo que solo entendi algunas cosas .. desafortunadamente Dioz no me dio un cerebrito como el tuyo para hecharle cabeza a todo esto … Peroooo buee gracias por el post intentare leerlo bien sin que me de ladilla ..

  • JainuX dice:

    muy buen tuto ;-)

    Saludos

  • jgaztelu dice:

    Hola:

    Muy buen artículo, me ha encantado y estoy montando (más o menos) un servidor HC. Por cierto, no ahs mencionado que se puede utilizar alguna utilidad tipo XAMPP. Por último, una pregunta: ¿Cómo puedo tener más de un sitio web en el mismo server?

    Gracias

  • @jgaztelu Gracias. Sí, el XAMPP podría resultar útil para nuestro propósito.

    Sobre lo de los distintos sitios, sí que se explica. Hay que poner un fichero de configuración diferente por sitio en /etc/apache2/sites-available/.

  • tttony dice:

    WOW aunque todavia no me lo he leido completo, necesito saber que sistema operativo recomiendan para este cacharro:

    celeron 400MHZ
    256MB RAM
    PCChips mobo

    pienso correr paginas en PHP con mysql

    saludos y gracias

  • @tttony Cualquier distribución de Linux instalada con el mínimo número de paquetes necesario te irá bien, pero no esperes poder servir a muchos clientes a la vez, ya que la máquina no es muy potente.

  • Daniel dice:

    Execente material, estoy teniendo problemas con mi servidor de correo. Conectado a mi VPN, a traves de webmail, funciona bien, poniedo la IP, pero desde internet aparece error 501, no se que hacer…

  • finidine dice:

    Ante todo Vicente felicitarte por tu excelente blog.

    Tengo un pequeño hosting casero basado en un viejo Pentium III a 800 MHz, no es mala opción ya que esa CPU tiene un TDP máximo de tan solo 22 W… a veces el viejo PC es lo adecuado para estas funciones (simultanear hosting y p2p).

    Saludos,

  • Mauricio dice:

    Señores, les pido un favor, soy nuevo en esto, quiero poner un hosting en mi casa, me compre un dominio y tengo internet con ip dinamica, pero no se como configurar mi servidor con mi dominio, me podrias ayudar?, de antemano muchas gracias.

  • ALoGeNo dice:

    Puedes usar algo como no-ip, o dyndns, te creas una cuenta de usuario en cualquiera de ellos y creas una dns gratuita, la cual luego le tendras q dar a tu proveedor DNS (el q te vendio el dominio) para q linke la dns asociada a no-ip o dyndns con la tuya.

    https://www.dyndns.com/account/create.html

    http://www.no-ip.com/

    (Muchos routers ofrecen la opcion de usar algun servicio como dyndns, o no-ip, el cual se encarga de comunicar los cambios de ip al servidor dns de no-ip o dyndns, en caso de que tu router no lo permitan tanto no-ip como dyndns ofrecen clientes configurables que harian el trabajo.)

    Salu2

  • Di3g0 dice:

    Tio eres genial…

    Llevo mas de 1 dia arrancandome los cabellos, leyendo de todo y gracias a ti he solucionado mi ultimo error en wordpress. Gracias a lo que escribistee en la seccion ROUTER de este articulo.

    Tienes mucha razon en que un blog o cualquier site hospedada en una pc de casa no conviene pero aun asi me parece la manera mas facil de aprender y sobre todo si al jugar tienes una responsabilidad.

    Yo estoy en el proceso de administrar un pequeño blog para no mas de 10 personas x lo que me resulta facil hacerlo en mi pc. PERO he tenido varios problemas al tratar de implementarlo y lo he ido solucionando 1 por 1 con lecturas y/o logica… hasta que me quede estancado en el router, puesto que no podia editar mi blog si no esta con la direccion de localhost, en localhost el blog no se ve bien para afuera empezando por la plantilla que recurre a la direccion local del template… direccion que no esta en la maquina de la persona q lo ve del otro lado; entonces tenia que poner todo el blog al dominio que tengo gracias a no-ip, pero de esa manera no podia usar localhost para editar; tampoco podia usar el dominio de no-ip para editar, porque no se procesaba la peticion, gracias a la edicion del archivo “…/etc/host” lo he logrado.

    Nuevamente muchas gracias, eres el unico que me ha sabido explicar que y porque debo de hacerlo.
    Te has ganado un pedazo de cielo ^^

  • Di3g0 dice:

    mi felicidad no es completa … T_T

    Realizando los pasos que sale en la seccion ROUTER de este articulo, he logrado ver mediante la direccion que me brinda no-ip mi blog, especificamente la pagina principal puesto que cuando procedo a hacerle click a algun comentario, entrada o cualquier otro enlace (dentro del blog) la pagina no carga y se produce un error del tipo:

    NOT FOUND
    The requested URL /blog/category/general/ was not foun on this server
    ——————————————————————————————-

    Cosa totalmente ilogica…
    Ya no doy mas y tampoco tengo tiempo para averiguar que esta pasando, por lo que ahora si pido ayuda y si alguien puede ayudarme en este paso, envieme un correo a diego.iparraguirre@gmail.com

    Gracias de antemano!

  • CarlosVM dice:

    Como sabiamente lo mencionas. La gran maravilla de hacer tu propio hosting es toda el conocimiento que tendrás y así poder recurrir a cualquier distribuidor con muchos más conocimientos.
    Darte las gracias por tu aporte sería poco.
    Saludos,
    Carlos

  • Hola a todos
    de verdad lo felicito muy bien explicado aun que difiero de tener un excelente HC con windows XP Profesional SPK3
    yo he montado Windows XP actualizado con SPK3. apache Friends 1.7 un panel de control que parte del codigo es codigo libre pero e modificado sustantivamente para ir acoplando las necesidades
    que poseeo, para el ISP XDSL y para la actualizacion de la ip dinamica un servicio en español gratuito muy bueno como lo es CDMON.COM tengo hasta ahora apenas 20 dominios hospedados en un pc con las siguientes caracteristicas
    P.IV de 3.2Ghzh con doble nucleo, 2GB de Ram 1024 GB de DD aproximadamente en 3 Discos, Windows XP actualizaado con SPK3, JAVA SDK sun microsystem, XAMPP apache friends, con algunas modificaciones para adaptarlo al panel de control, TOMCATS y PERL como ADDons y un Pack de aplicaciones codigo abierto para su libre instalacion desde el panel de control …
    de verdad esto me ha trabajado muy bien sin problema alguno, para el webmail usaba antes hmailserver el cual es muy bueno pero vivia luchando con las limitaciones de otros proveedores incluso el de no aceptar mail de ip dinamicas pero la gran solucion con google apps me ha sacado los pies del barro y bueno ya no doy cuentas ilimitadas de mail pero en experiencia no pasan nunca de 30 cuentas asi que les manejo el panel yo mismo y es una entrada extra tener esos 20 dominios y creciendo poco a poco

  • Iván E. S. dice:

    Muy buen post! Es gigante, excelente, te mataste escribiendoló, voy a tomarlo como parte de mi aprendizaje al escribir post, salvo que me desanimaste a hacer un HC… Hay que tener mucha más guita que para pagar un hosting… o mucha basura informática en casa :) Así, como decís vos, para aprender es genial. Una idea que tengo en mente es si se pueden usar por ejemplo dos hostings, que vayan rotando, cuando uno se cae, funciona el otro… ¿Utópico? No sé pero suena genial :D Saludos, y gracias por tus post son excelentes

    • Lo que comentas de dos servidores de hosting casero por si uno tiene problemas se podría hacer sin muchos problemas. Yo mismo lo hice a menudo, como comento en la entrada. Si van a estar detrás del mismo router, es tan sencillo como cambiar en la configuración de NAT del router a qué sistema reenvías las peticiones al puerto 80. Si van a estar detrás de conexiones de red distintas, lo único que hay que hacer es cambiar la IP del DNS en el proveedor de DNS dinámico que tengas.

Trackbacks y pingbacks:

Tema LHYLE09, creado por Vicente Navarro