Cómo montar un servidor web casero (Linux / Windows)

Importante: Hice este post hace más de 5 años para aquellos que querían empezar con desarrollo en PHP/MySQL; pero ya está bastante desactualizado. Si quieren instalarse un sistema de testing, les recomiendo usar el último Ubuntu y cuando lo instalen seleccionar las mismas opciones para servidor LAMP, FTP, MySQL.



Bueno, les voy a explicar como montar su propio servidor casero para hostear páginas web propias, de testeo o para sus amigos.

Existen 2 formas de instalar este tipo de servidores, la complicada, y la extra-fácil, les voy a explicar la extra-fácil porque hoy en día nadie se quiere complicar.


Seccion 1. Servidor Web LAMP (Linux/Apache/MySQL/PHP)

Para Linux, que es uno de los sistemas más usados para Webs, lo que necesitamos es instalar una distro de linux. Si ya tienen una instalada, el proceso es distinto a este, pero muy parecido.

Para hacerlo bieeeen fácil para todos, vamos a trabajar con Ubuntu Server. El Ubuntu, por más de lo que creen, es un sistema bastante robusto porque está basado en Debian. Puede no ser tan profesional como tal vez lo sea su padre, Debian, o sistemas similares como CentOS / Red Hat, pero es muy bueno para empezar, por su simpleza y facilidad de configurar las cosas.

Primero: Se descargan el ISO de Ubuntu Server, en este ejemplo vamos a usar la 8.04.1 (hardy); se lo pueden bajar DD desde este link: http://www.ubuntu.com/getubuntu/download-server. Las versiones van de esta forma: año (2008 -> 8) y mes (abril -> 04), a veces con un agregado en actualizaciones (eg 2008/04 update 1 = 8.04.1); pueden bajar la más nueva si quieren, no difiere en gran manera (puede que alguna opción no sea necesaria o esté en otro lugar)

Segundo: Elijen la PC que van a usar como servidor (debería estar 24hs encendida, pero no requiere tener monitor, teclado o mouse; sólo para la instalación se necesita). Bootean la misma desde el CD Rom de Ubuntu, y les va a aparecer un menú con un par de opciones. Con las eFes del teclado podemos elegir el idioma del instalador, y el idioma del teclado; por lo general lo elije por defecto; y una vez está pasamos a Instalar.

Tercero: La instalación en sí; es bastante simple, casi todo se puede saltear al siguiente. Si tienen Windows y Linux en la misma PC pueden usar el particionado guiado que les permite mantener Windows y usar el resto para Linux, o automáticamente cambiar el tamaño de las particiones para que entren los dos. Si saben de Linux, pueden hacer un particionado propio, sino, no importa, no es algo esencial por el momento. Una vez lleguen al último paso les preguntará qué servidores quieren instalar, tienen que tildar LAMP, FTP Server, MySQL Server y si quieren alguno más, es a gusto.

Cuarto: Esperan... e inician su equipo por primera vez. Una vez lo inicien ya está listo.


Seccion 2. Servidor Web WAMP (Windows/Apache/MySQL/PHP)

En sí el Apache es nativo en Linux, pero es posible montar un servidor en Windows que funcione, medianamente, estable. Para esto, necesitan tener un CD de Windows "Original" (digamos), en el cual instalar su servidor.

Primero: Descargan el programa que van a usar, existen 2 que son los más comunes AppServ y EasyPHP. El primero es mejor porque es más liviano y más estable; el segundo tiene una administración más amigable, pero es más inestable.

Segundo: La instalación es bastante lineal, les pedirá la clave para MySQL y la ruta donde quieren instalar el programa. Tengan en cuenta que la ruta del programa contiene al directorio WWW adonde están las webs.


Seccion 3. Montando las Webs

En Linux el directorio por defecto para las webs es /var/www (pueden borrar la carpeta y poner un link a otro lado si quieren). En Windows por defecto tienen que buscar la carpeta www que está dentro de la carpeta de instalación de su script; si instalaron AppServ, seguramente sea C:AppServwww

Creen un archivo que se llame index.html o index.php (si programan en php) y éste será el primero que se vea al entrar al sitio. Por ahora, pueden poner cualquier cosa en el archivo, es para probar nada más.

Una vez está listo, entran a http://localhost (desde un navegador en la PC servidor) o a http://192.168.0.x (reemplazando por la IP de RED, si estan en una red). Y tienen que ver ese Index (sino asegurense que el programa está iniciado)!

Para que funcione desde internet, necesitan una IP fija, pero como esto cuesta platita, podemos usar DynDNS para tener un host dinámico que apunte a nuestra casa.


Seccion 4. Abriendo el servidor al público

En el caso de Ubuntu, no necesitan hacer nada, en el caso de Windows, se complica un poco, porque tienen que editar el archivo de configuración en el Apache (comúnmente httpd.conf) y ponerle que escuche en el puerto 80 (Listen 80) y revisar que NO diga localhost, sino que diga 0.0.0.0:80 o directamente *:80 para que acepte conexiones desde afuera y desde adentro de la Red también, porque sino va a funcionar solo localmente. En muchas ocasiones esto viene comentado en el mismo archivo así que puede que nada más tengan que sacar el comentario.

Una vez está listo eso, vamos a http://www.dyndns.com y hacen click en "Create Account". Completen los pasos, y validensé haciendo click en el mail que les mandan. Una vez está listo, se loguean a su cuenta.

NOTA: DynDNS también se puede usar si quieren montar otro tipo de servidores (un servidor de CS o Winning, FTP Server, repositorio de linux, etcétera).

En "My Services" tienen una opción que dice Hosts. Ahí tienen que crear uno nuevo clickeando Add Hostname. Eligen el nombre que quieren, tildan "Host with IP" y abajo ponen su IP pública (hay un link de "autodetect" que pueden usar). El email lo dejan como está y ponen "Create".

Ahora en unos minutos ya van a tener el dominio apuntando a su PC y funcionando. Como no tienen IP fija, hay que editar la IP a cada rato, pero, si tienen un Router esto se configura fácil desde ahí y el mismo router configura la IP cada vez que se cambie. Si no tienen un router, o no tienen esta opción, pueden bajar uno de los clientes que auto gestionan las IPs y la actualizan, desde aca: https://www.dyndns.com/support/clients/

IMPORTANTE: Si tienen un router para la red, necesitan ir a la configuración del mismo y en la parte de Port Forwarding, redireccionar el puerto 80 a la PC que tenga el acceso de servidor si quieren acceder remotamente a su servidor Web. Configurar el ruteo para un FTP Server es un poco más complejo, asi que capaz en otro tutorial lo haga si quieren, pero en sí lo que hay que hacer es rutear el puerto 21 y reconfigurar los puertos pasivos de FTP.


Si les gustó el tuto o les pareció útil, avísenme y comenten así les hago algún otro

Comentarios Destacados

@kuteninja +48
PD: Y si no entendieron algo también comenten así los ayudo por acá

112 comentarios - Cómo montar un servidor web casero (Linux / Windows)

@kuteninja +48
PD: Y si no entendieron algo también comenten así los ayudo por acá
@naza1 +4
si muy bueno gracias por la info sobre todo porque viene para linux tambien copadooooo
@bsbgales +3
Gracias, no creoque tenga necesidad de hacerlopor elmomentopero esta muy bueno, algo aprendi... grax!
@Transeunte +2
Huu.. es justo lo q estaba buscando...

Me estoy armando una copu viejita.. para hacer experimentos.. jeje.. asi q en unos dias te digo si me funciono...
@lucasdf +1
gracias bestia !!!; me salvaste.
@estefanosalazar +1
imprecionante loco, esta genial. sos un groso. muchisimas gracias
@elmenor25
jaja, un poko de problemita [soy noob] pero ya lo tengo
@san_chop
Muy buena la explicación. Gracias loco!.
@roly863
he loco muy bueno, y te hago una pregunta un poco colgada porque no tiene que ver con tu post. pero me podrias aconsejar que es lo mejor para ser un buen webmaster? por ejemplo que tendria que saber bien, si programar html o con el dreamwever alcanza. o si tengo que saber php. vos me diras. jeje
@Hannibalxxy
Una pregunta mira yo hice un host son appserv y en no-ip me hice una cuenta y me dio la direccion pero no me anda la pagina ya la probe desde otra maquina que ip tengo que poner en no-ip la ip publica o privada?
@narosky
Muy interesante che! +10 y gracias por el tuto!
@natalio18
gracias pero sabes me gustaria que me enviaras mas informacion.
mi correo castilloluisc@gmail.com
gracias otra vez
@natalio18
mis preguntas son las siguientes:
-puedo montar un servicio de mensajeria por ejemplo (Zimbra), en windows, y como lo podria hacer?.
-hice una pagina web, y quisiera subirla a mi servidor- podria ver mi pagina tal cual con todo el diseño que le agregue?
por ahora quisiera saber esto gracias
XD
@petacman
gracias por el aporte necesito hacer esto justamente cualquier cosa te pregunto +10
@danielmo
Ta bueno gracias! unas cuestiones: si abro http://midominio.dyndns.org me debe salir exacto como si abriera http://localhost, verdad? pues no funk.
Abri el puerto 80 en el router (de hecho me toco entrar por telnet al router para cambiarle el puerto de administracion de router que tambien era el 80).
Ni siquera abriendo la ip publica en el explorador me muestra nada!.
@adrq
excelente de verdad está buenaso!!!
@ruben_novato
adrq dijo: excelente de verdad está buenaso!!!

buenisimo man me sirvio +10
@vorka
buen post! +1
@PDCARG +2
SOSSS UN GROOOOOOOOOOOOOSSOOOOOOO MAAAAAAAAAAAAAANN ME DESVELE HASTA ESTA HORA PERO AHORA TENGO MI WEB SERVERRRRRRRRRR!!!!!! GRAACIAAAASSSS
@Rodrig0mbia
copado, esta semana no puedo, pero en cuanto tenga un tiempo me limo con esto ....
@MrTTT
que bueno
@L_ucho
Muchas Gracias!
@aarongiles -10
no entendi nada, no de que se trata
@Canty14 +1
Buenisimo lo voy a probar, muy buen aporte
@rnld55u
te faltò PHPmyAdmin en Linux que el lamp no lo trae

T! $request = db_query(" Cypher !!! &quot
@sab007
Y si hay un corte de luz, se cae el servidor igual si se cae el internet ? Otra pregunta : La velocidad del equipo puede afectar el servidor como por ejemplo; no es igual que tengas un servidor con 128 mb de ram y 450mhz de micro a que tengas un servidor con 1gb de ram y micro dual core de 2.5 ghz? ahh; y la velocidad de internet recomendada es de mas de 1mb ? Disculpa tantas preguntas
@desire15
muchas gracias y si sos sexy
@sbs_sk8
Hola buenas, sirve para html??
Luego de instalarlo que hay k hacer para ue salga dns en lugar de ip??
Lu voy a probar con mi primera pag web (muy cutre xD)
Salu2
@Mackphisto
Che cute, tenes idea como se hace para montar diferentes webs en uno de estos servidores y acceder desde afuera a ellas? por ejemplo: http://prueba1.zapto.org y http://prueba2.zapto.org. como haces para que cada url llegue a la carpeta correspondiente?


Muy bueno tu post, van 10.
@uncoverit
Buen post, pero tengo una pregunta en el caso de que querramos hacer un poco mas profesional nuestro servidor, es posible agregarle algun panel de control para los "clientes" en todo caso asi para ofrecer un servicio de hosting a algunos amigos y cosas asi?
Los comentarios se encuentran cerrados