Instalar un servidor web: Apache

Si leíste el artículo sobre DNS dinámicas con No-IP que escribí hace unos días, recordarás que comentamos de pasada los servidores web.

Un servidor web no es más que un programa que ejecuta de forma continua en un ordenador (también se utiliza el término para referirse al ordenador que lo ejecuta), manteniéndose a la espera de peticiones por parte de un cliente (un navegador de internet) y que contesta a estas peticiones de forma adecuada, sirviendo una página web que será mostrada en el navegador o mostrando el mensaje correspondiente si se detectó algún error.

Instalar un servidor web en nuestro PC nos permitirá, entre otras cosas, poder montar nuestra propia página web sin necesidad de contratar hosting, probar nuestros desarrollos en local, acceder a los ficheros de nuestro ordenador desde un PC remoto (aunque para esto existen otras alternativas, como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que están viendo la luz ultimamente.

Uno de los servidores web más populares del mercado, y el más utilizado actualmente, es Apache, de código abierto y gratuito, disponible para Windows y GNU/Linux, entre otros. Su instalación es bastante sencilla, pero antes de empezar con ella te recomendaría leer, si no lo has hecho ya, el artículo sobre No-IP que comentaba para crear un subdominio que apunte a tu PC, y poder utilizar una URL del tipo Nombre.no-ip.org para acceder a éste en lugar de tener que recordar su dirección IP. Si tu IP es dinámica no te queda más remedio que leerlo y aplicarlo.

Y ahora, si estás listo para comenzar, podemos empezar descargando el servidor web Apache desde la página de la Fundación del mismo nombre, haciendo click sobre el enlace Win32 Binary bajo la sección «best available version» (mejor versión disponible), asumiendo que utilizas Windows.

Una vez descargado el programa de instalación, pasamos a instalar el servidor web ejecutando el archivo obtenido. Acepta la licencia y pulsa siguiente (Next) hasta que nos pregunte por el dominio, nombre de servidor y correo web del administrador del servidor. Para los dos primeros campos, introduciremos el subdominio que creamos para nuestro PC en No-IP. Rellena el campo de email del administrador con una dirección cualquiera mediante la que se puedan poner en contacto contigo.

Por último, se nos pide que seleccionemos también si queremos que el servidor responda en el puerto 80 para todos los usuarios, o bien que sólo se active de forma manual, para el usuario actual, y en el puerto 8080. Lo normal es seleccionar la primera opción.

Información del servidor en la instalación de Apache

Pulsa siguiente un par de veces para terminar la instalación. Una vez instalado, deberíamos ser capaces de acceder al servidor web mediante un navegador introduciendo el nombre de dominio de nuestro PC en la barra de direcciones. El navegador mostrará una página web confirmándonos que Apache se ha instalado correctamente, similar a la siguiente.

Página de índice por defecto de Apache

Basta con copiar los archivos que queramos en la carpeta htdocs dentro del directorio donde instalamos Apache para que estos estén disponibles en el servidor.

Una vez llegados a este punto sólo resta configurar el servidor para adaptarlo a nuestras necesidades. El proceso de configuración de Apache se lleva a cabo a través de una archivo de configuración en modo texto llamado httpd.conf que podemos encontrar en la carpeta conf, o bien a través del menú de inicio de Windows en Configure Apache Server -> Edit the Apache httpd.conf Configuration File.

Se han escrito libros enteros sobre la configuración y uso de Apache, por lo que esto queda lejos del propósito de este artículo. Si te interesa mancharte las manos y personalizar totalmente el servidor echa un vistazo a la documentación de Apache en la web de la Fundación.

221 comentarios en «Instalar un servidor web: Apache»

  1. Buen tutorial, sólo queda añadirte que hay en algunos casos en los que no se visualizará esa página si pones el dominio que creaste en No-IP en la barra de búsqueda.

    Creo que no meto la pata cuando digo esto ya que si tienes un router y vas a acceder a otro pc en red para ver la página lo que tendrás que poner es la ip de red, no la dns que creaste porque apunta a una ip de internet y para visualizar eso necesitaría una ip de red local.

    Más que nada comento esto por la línea en la que dices «probar nuestros desarrollos en lan», para que lo sepa la gente.

    Para solucionar esto también es posible tocando el fichero «hosts» de windows, para indicarle expresamente que la dns que hemos creado no la resuelva y se fije en la que pongamos nosotros en ese fichero, que sería lógicamente la ip local del pc al que queremos acceder.

    Ese archivo se encuentra en esta ubicación (en windows XP): C:\WINDOWS\system32\drivers\etc, (en windows NT/2000): C:\WINNT\System32\drivers\etc, (en (ojala nadie se fije en esto… :S) windows 98): C:\Windows\Hosts.

    Si quieres añadirlo a tu entrada haciendo un resumen o algo, eres libre, si no, pues que los que tengan algún tipo de problema que lean esto.

    Gracias y un saludito. 😛

    1. Señor, para esto lo que tienes que hacer en tu router es direccionar la computadora que quiieres que se vea en internet.
      Por ejemplo en los ruteadores 2wire tienes que direccionar tu ruteador y decirle que el servidor web va a correr en el equipo que tu decidas, de este modo cuando tu habras la pagina desde internet, se direcciona al equipo en donde tienes Apache, esto tambien te funciona para varias cosas, entre ellas tambien el escritorio remoto de xp.

      Saludos

  2. En el caso de tener un router con configuracion web, vienen por defecto para servirla con el puerto 80 por lo que antes de intentar acceder desde fuera se debe redireccionar el puerto de configuracion del router a otro y ya de paso filtrarlo desde fuera.

    Felicidades por estos articulos; aver si sigues con otras cositas (php, mysql…). A mi el de noip o dyndns me aclaro cositas sobre IP dinamica, yo tengo IP fija y parece que ahora es un chollo tenerla.

  3. Ah! bueno y para probar que puedes ver tu pagina desde fuera pero desde tu ordenador local (que raro suena), accede al dominio (nombre.no-ip.org) a traves de un proxy (www.megaproxy.com) o siempre te queda pedirselo a un amigo 😛

  4. hombre, evidentemente, si tienes un router tienes que hacer un forward del puerto 80 a la ip interna . pero cómo hacerlo varía de modelo en modelo. para eso y para abrir puertos, a echar mano de google
    buena explicación wizard

  5. el XAMPP es como la Mandrake, al principio todo muy bonito, pero al cabo de unos dias todo empieza a caerse… lo mejor es instalar el apache por un lado i lo demas por el otro… Más complicado pero ‘compacto’ al fin i al cabo.

  6. Pingback: Instalar PHP y MySQL

  7. Buen tutorial pero no solucuiona mi problema, yo tengo el appserv y el apache funcionando todo muy bien ,mi programita de no-ip que informa cada vez q reinicio de mi nueva ip ,pero el problema es el siguiente . mi subdominio http://www.biblionline.dyndns.org/ apunta a la carpeta /localhost/www
    pero mi web esta en /localhost/www/web ¿como se soluciona esto? ¿alguien sabe ?.Gracias
    Rob

    1. Debes configurar dos entradas nuevas en httpd.conf

      Options Indexes FollowSymLinks
      AllowOverride all
      Order Allow,Deny
      Allow from all

      y en vhost.conf lo siguiente:

      ServerName http://www.dominio.com
      DocumentRoot «localhost/www/web»
      ErrorLog ../logs/error.log
      CustomLog ../logs/access.log common
      AddDefaultCharset on
      AddDefaultCharset ISO-8859-15

      Siendo localhost por ejemplo: c:/wamp/

  8. Pingback: Acelerando PHP: Zend Optimizer

  9. Pingback: Facilitando el uso de MySQL: phpMyAdmin

  10. Pingback: Instalando una aplicación en PHP: Wordpress

  11. Hola a ver si me pueden ayudar..tengo todo configurado en la PC que se conecta directo a internet con el apache como indican aqui y anda bien! pero si lo configuro en mi otra PC que usa la anterior como puerta de enlace..esto no funciona..que podria hacer? que ip uso? gracias..

  12. Ahhh! tengo un switch para compartir la conexion de internet.

    Nicolás el 9 Noviembre 2005 a las 10:36 pm dijo:

    Hola a ver si me pueden ayudar..tengo todo configurado en la PC que se conecta directo a internet con el apache como indican aqui y anda bien! pero si lo configuro en mi otra PC que usa la anterior como puerta de enlace..esto no funciona..que podria hacer? que ip uso? gracias..

  13. Estimado amigo geek, segui los pasos para instalar en mi pc q tiene win xp pack 2, sale un error al instalalo, tengo instalado el asp.net previamente sera q hay conflicto?
    finalmente se crea el icono en la barra de tareas al hacer clic en este sale el mensaje siguiente: «error, the requested operation has failed»

  14. william666 el 2 Diciembre 2005 a las 3:10 am dijo:

    Estimado amigo geek, segui los pasos para instalar en mi pc q tiene win xp pack 2, sale un error al instalalo, tengo instalado el asp.net previamente sera q hay conflicto?
    finalmente se crea el icono en la barra de tareas al hacer clic en este sale el mensaje siguiente: “error, the requested operation has failed”

    no tendrás el IIS escuchando en el mismo puerto en el que intentas instalar el apache ¿no?

    echa un vistazo al log de apache a ver qué te dice. si es el caso creo que dice algo así como que no pudo reservar un socket

  15. ¡Hola!

    Tengo problemas al acceder remotamente a mi servidor web. 😐

    Uso Apache, PHP, MySQL y PHPMyAdmin. Localmente todo va perfecto, pero desde fuera no se puede acceder a las páginas.

    Tengo el router Conceptronic C54BRS4. En la configuración del router, en el apartado NAT, asigno el puerto 80 al equipo que tiene el servidor (mediante su IP local). No sé muy bien qué diferencias hay entre “Port Forwarding” y “Virtual Server” (son opciones de configuración en el apartado NAT), pero he puesto lo del puerto en un sitio, en el otro y en los dos a la vez, y no va de ninguna manera.

    Tengo un dominio en http://www.no-ip.com del tipo “midominio.no-ip.org” y desde mi equipo veo bien la página poniendo el dominio de No-IP.

    Creo que está todo bien configurado y no sé por qué no puedo acceder desde fuera al servidor Apache y ver las páginas.

    Quizá no abro bien el puerto 80, o no está bien configurado el Apache (he mirado en el archivo de configuración y lo tengo para que se acepten todas las conexiones).

    ¿Alguien puede ayudarme? Lo agradecería mucho.

    ¡Muchas gracias!
    Lydia

  16. 🙂
    Ya está solucionado. Lo he puesto en el puerto 8080 y funciona bien. En No-IP he puesto la redirección al puerto 80 y así no hace falta escribir el puerto en la dirección de la página.

  17. que tal como estas, buenas ideas ehhh….
    bueno tengo una pequeña duda al respecto de lo siguiente, fijate que en nuestra empresa actualmente utilizamos el servicio por medio de un proveedor de correo externo o correo mail, pero queremos crear nuestro propio servidor de manejo de correo de internet para dejar de pagar este servicio tenes alguna idea que me pueda servir……

  18. Hola que tal ya tengo todo instalado como lo marcan aqui de hecho en mi pc funciona muy bien y todo mientras sea local funciona perfectamente… eee hecho tambien lo que comento lydia arriba pero ni asi… que me aconsejan tengo instalado el apache y en no-ip tengo algo semejante a nombre.no-ip.info

  19. Hola a todos.
    He configurado el Apache, instalando el pack FoxServ3. He modificado el conf de apache. He creado la DNS en hosts. He abierto el puerto del router (8080). Desde mi máquina lo veo todo bien. Tanto con localhost, como con 127.0.0.1 y también con el dns.

    Cuando lo pongo desde otro ordenador abriendo internet, no me carga la página, sinó que me pone «a test» en el navegador.

    Qué puede estar pasando?

    Gracias de antemano.

    1. Pues que probablemente no estas colocando tu proyecto en el directorio correcto.
      El index.html que vas a ver es el que esta directamente en el directorio:
      DocumentRoot «C:/Apache/htdocs»

      Este lo puedes modificar en el archivo httpd.conf

  20. Hola, necesito ayuda para lanzar en internet un servidor dedicado para el juego counter strike a través de un router, he registrado un dominio en no-ip pero quisiera saber como configurar el sevidor para que sea accesible desde fuera de mi lan.

  21. Yo es que no consigo saber dónde me pone apache la carpeta donde va a estar mi web.

    ¿Cómo lo cambio o cómo sé dónde puede estar???

    Vamos que cómo especifico a apache dónde va a estar la carpeta de mi web no-ip???

    Salu2

  22. iroq el 5 Febrero 2006 a las 9:41 pm dijo:

    Yo es que no consigo, saber donde me pone apache, la carpeta donde va a esatr mi web.

    Como lo cambio o como se dodne puede estar???

    Vamos que como especifico a apache donde va a estar la carpeta de mi web no-ip???

    Salu2

    si te fijas está contestado en la entrada:

    Basta con copiar los archivos que queramos en la carpeta htdocs dentro del directorio donde instalamos Apache para que estos estén disponibles en el servidor.

  23. Hola tengo una problema, cuando no estoy conectada a internet puede abrir mis paginas hechas en php, menos la que se crea como que aparecen en blanco, y cuando me conecto a internet ninguna pagina se carga en el explorer, alguien sabe porque sucede esto que me pueda explicar??? gracias.

  24. Miriam el 7 Febrero 2006 a las 4:52 am dijo:

    Hola tengo una problema, cuando no estoy conectada a internet puede abrir mis paginas hechas en php, menos la que se crea como que aparecen en blanco, y cuando me conecto a internet ninguna pagina se carga en el explorer, alguien sabe porque sucede esto que me pueda explicar??? gracias.

    Por cierto todo esto lo hago desde localhost

  25. hola tengo un servidor web en un equipo windows funciona bien monte mysql en otro equipo como hago para que el servidor web apunte al servidor mysql

  26. A ver si alguien me puede ayudar…
    Instalé clarkconnect (trae incorporado apache) y me interesa crear una web para mi red lan unicamente. Cual sería la dirección web que habría que poner en las máquinas remotas?. El servidor tiene ip 192.168.1.128. Gracias!

  27. Estimados:

    Muy interesante todo y muy práctico. Yo les Recomiendo el WAMP Server (WINDOWS APACHE MYSQL AND PHP, Tambien PhpMyAdmin y MySQLLite ), muy simple de instalar y administrar. En el Sitio encontrarán además actualizaciones y addons de MySql y PHP, asi como como otras herramientas de integración etc.

    Tras la Instalación los Sitios y Documentos cuelgan de c:\wamp\www\

    Espero que les sirva…

  28. saludos! he instalado el apache http: he seguido los pasos aconsejados pero me informa de un error durante la instalacion el cual dice lo siguiente

    make_sockt: could not bin to adres 0.0.0.0:80 no listening sockets available, shuting down

    Que debo hacer?? cuando el apache se ejecuta le indico que inicio el servicio «Star» y me niega el servicio..

    Agradesco su ayuda.

  29. Muy bueno, sencillo y funciona inmediatamente, aunque me hubiera gustado encontrar un manualcito, de como configurar apache sin tener que visitar la página de la fundación de Apache. 😛

  30. Hola a todos, tengo un problemita… he instalado el apache y seguido todos los pasos anteriores pero sólo me funciona localmente la web; trato de acceder desde otra computadora y no me carga. No tengo router, uso un cable modem solamente. Gracias de antemano.

  31. juan. y como querés que salga de tu pc si no tenés una IP PUBLICA hay una herramienta que se llama SAN GOOGLE informate antes de hacer preguntas tontas
    saludos

    1. por ahi lei a en este documental que alguien dijo la siguiente Expresion………
      y como queres que te funcione si no tenes una ip publica.
      que lastima me dan las persona que tienen cinco centavos de sabiduria, mas no saben que lo que saben lo saben, porque El DIOS del universo se los permite.
      sabios ignorantes

  32. No opiniones estupidas si no estupidos que opinan , no entendio bien la pregunta??? ,, si tiene ip publica,, es obvio si tiene Internet banda ancha asi sea IP dinamica ,,,, simplemente queria saber como configurar el NAT para que redireccionara al pc desde internet hasta intranet..

    http://cronoenvios.no-ip.info

    Si lo quieres comprobar ya lo logre…

  33. Hola. Tengo un servidor apache instalado. tengo mi pagina principal hecha en html y arranca perfectamente. mi problemita es que no se configurar el apache para que desde mi pagina web arraque el foro que es php (SMF 1.1 RC2). Tengo servidor dedicado. windows xp sp2. En resumen. si configuro el apache para que arranque mi pagina web, como hago pa que me arranque el foro??.. gracias de antemano.

  34. Hola. espero no estar equivocado en esta respuesta, primero que todo tienes que saber que el foros de php funciona con una base de datos SQL, por lo tanto tiene que estar instalado una version de SQL en el servidor, y luego cuando tengas el foro php instalado con base de datos cargaras el codigo principal del foro copiandolo é insertandolo en tu pagina html, pero creo que seria mas conveniente que instalaras el sistemas php nuke ó postnuke que te facilitan la administracion de los foros…

    Espero no haber interpretado mal tu pregunta..

  35. Un saludo fraterno para todos Uds., me ayudaron mucho con el manual.

    Bueno, escribo para ver si me ayudan.

    Hice todo lo que me indica el manual, pero no puedo accesar a la web que diseñe, necesito una ayuda urgente, pues deseo mandar la web que tengo desde mi propia pc.

  36. Saludos Amigos me gustaria que dieran una mano, instalae el servidor apachetengo no-ip activo, pero cuando intento abrir la web me dice:

    Forbidden
    You don’t have permission to access / on this server.

    Apache/2.0.50 (Win32) PHP/5.0.1 Server at silva2.no-ip.org Port 80

    al que me pueda ayudar se lo voy a agrader la instalacin la he echo tal cual como la han explicado…. Gracias

  37. Saludos nestor, la verdad no se por que te esta saliendo ese error pero lo mas probable sea algun error en la configuracion, el path ó algo asi de los pasos de intslacion, lo que te puedo aconcejar si es que vas a crear una pagina web en php desinstales el apache é instales una version de EasyPHP que tiene todo el paquete incluido, Apache, MySQL, PhpMyadmin, lo puede descargar en http://www.easyphp.org

    Trae un instalador que te configura todo el sistema y no se complique..

    Ademas como tiene una direccion no-ip.info tiene que configurar el puerto 80 en su modem, router olo que utiliza para conexion a internet para poder accesarlo desde la internet.

  38. Hola a todos.
    He hecho tal y como está escrito en la pag. web pero cuando pongo el nombre de mi dominio en la barra de direcciones sale not found, quisiera saber que hice mal.

    Gracias

  39. Hola soy yo otra vez esta vez tengo otras dudas =(
    Hice todo de nuevo y al entrar en mi pgina me sale que ponga mi ID y mi contrasea. Y pongo tal y como me registr pero no sale

    Alguien me puede decir el porque. Se lo agradecera bastante

  40. Bueno, solo quiero agreegar que el ultimo WAMP que acaba de aparecer nopermite colgar las paginas en la WEB sin antes «quitarle el candado». Para esto se debe de hacer clic en el icono del WAMP (el relojito blanco) y escoger la primera opcion que dice algo como «Put Online». Si no lo quitan aparecera un error del tipo Forbidden cuando se quieren acceder a las paginas alojadas en el WAMP

  41. es posible crear un servidor local con la capacidad de ser visto por usuarios desde la internet. me explico quiero mi ordenador como el servidor local y me gustaria que todo accedieran a el como hacerlo???

  42. yo recien he instalado el apache en mi pc y en la ventada de dos no me sale nada sale todo negro sin nada que diga que esta corriendo alguien me puede ayudar

Responder a Nicolás Cancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.