Servidor Web (IP Fija)

¿Qué es un Servidor Web?

Un servidor web como su nombre lo indica, es un software instalado en el equipo con todas las condiciones necesarias para servir o entregar páginas web que le sean solicitadas por un navegador, asegurando que se muestren y representen todos los elementos necesarios para su correcto funcionamiento y visualización.

Existen varios tipos de servidores web, Apache es un software de código abierto, libre de uso y totalmente configurable, es en este momento el más utilizado en la red, ya sea en plataformas Linux, Mac o Windows.

Al instalarlo en nuestra equipo dispondremos de un servidor completo, con todos los requisitos para ejecutarlo de forma local.

Partiendo desde la instalación del sistema operativo Debian GNU/Linux podemos ahora montar un servidor que ofrezca varios servicios a terceros como por ejemplo Servidor Web Apache 2 compatible con PHP, FTP, bases de datos, entre otros servicios.

Estos tipos de servidores los podemos usar solos en una maquina o en conjunto para que nuestro servidor sea más o menos completo. Recuerda que cuantos más servicios ofrezcamos más potente tiene que ser la maquina para poder dar a basto con todo.

Respecto a la compatibilidad de este frente a clientes con Linux, Windows o Mac va a ser total con lo que podremos compartir todos los servicios sin problemas como pueden ser la impresora o los archivos, directorios particiones que compartamos con nuestra red, entre otros.

Hardware Necesario

Podemos llamar servidor a toda maquina que este conectada a la red y ofrezca diferentes servicios a los usuarios de la misma. Para esto necesitamos Hardware suficiente para montar un computador que pueda cumplir nuestras necesidades.


El uso que le vamos a dar a esta maquina es exclusivamente la de servidor así que voy a prescindir de usar entorno gráfico para ahorrar recursos en nuestra maquina. Esto no quiere decir que no necesitemos una tarjeta gráfica y un monitor si no que no necesitamos una tarjeta gráfica muy potente y el monitor pues da lo mismo ya que operaremos con ella en modo Terminal. También vamos a prescindir del tema del sonido, por lo que no voy a instalarle ninguna tarjeta de sonido.


En un servidor Web el Hardware más potente que tiene que haber en la maquina es el procesador y la memoria ram sin duda alguna. De ellos dos depende el funcionamiento de todo una vez empecemos a sobrecargar el sistema con programas y usuarios conectados a el, así que cuanto mas tengamos de esto mejor.

Necesitamos minimamente:

    • Placa base (2 Puertos USB)
    • Microprocesador (mínimo 500 Mhz)
    • Tarjeta gráfica
    • Tarjeta de red 10/100 por lo menos
    • Memoria Ram (mínimo 512mb)
    • Disco duro (10Gb mínimo)
    • Lector de CD/DVD o usb libres para cargar el SO.

Con este Hardware es suficiente para un servidor casero, funciona a la perfección para uso personal pero no para profesional.


Una vez Instalado el servidor lo primero que recomiendo es que actualicen los paquetes.

sudo apt-get update
sudo apt-get upgrade

Configuración de Red

En la instalación del sistema operativo se nos configuró automáticamente el servicio DHCP para que nuestro router nos asigne automáticamente una IP. Eso esta muy bien y nos ha sido muy cómodo ya que no hemos tenido que configurar nuestra tarjeta de red para nada durante la instalación del sistema, pero vamos a tener que configurarla manualmente para que nuestro servidor sea accesible desde cualquier lugar.

¿Porque? Pues muy sencillo, Vamos a necesitar que nuestra tarjeta de red tenga una IP estática ya que cuando compartamos un ervicio Web o Ftp deberemos abrir y redireccionar el puerto 80 para el Web y el 21 para el Ftp hacia nuestro servidor y por consecuente a una IP, que a continuación la configuraremos para que podamos hacerlo.


Lo primero que haremos será iniciar el servidor y accederemos a una Terminal, donde habrá que logearse como root.

Vamos a hacer algunas comprobaciones y configuraciones para asegurarnos de que tenemos bien configurada la red además de tener acceso a Internet desde este servidor.


Para empezar vamos a asignarle una IP fija a nuestra maquina, esto es necesario porque si vamos a ofrecer servicios hacia Internet deberemos abrir puertos y asignarlos a una IP fija desde el Router. Si por el contrario tenemos la asignación IP de forma automática con DHCP no podremos asignar "X "puerto a "Y" IP. Con lo cual es completamente necesario que nuestra tarjeta de red tenga una IP fija.


Durante la instalación el sistema quedo con una IP asignada de modo automático (DHCP) por el Router. Comprobemos si tenemos salida a Internet mandando unos pings, por ejemplo a Google.


Si en la terminal tecleamos:

$ ping www.google.com

Debería responder algo como lo siguiente, si es así, es que tenemos IP.

PING www.google.com (64.233.186.105): 56 data bytes
64 bytes from 64.233.186.105: icmp_seq=0 ttl=43 time=19.543 ms
64 bytes from 64.233.186.105: icmp_seq=1 ttl=43 time=25.960 ms
64 bytes from 64.233.186.105: icmp_seq=2 ttl=43 time=18.283 ms

Salimos del ping con Control + c.


Ahora vamos a ver de que rango es la IP que nuestro Router nos asigno en el arranque ejecutando el comando ifconfig.

sudo ifconfig

Veremos algo parecido a esto:

sudo ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:bd:ef:d7  
          inet addr:10.1.15.148  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:febd:efd7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:315721 errors:0 dropped:24 overruns:0 frame:0
          TX packets:220 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:19355675 (18.4 MiB)  TX bytes:25903 (25.2 KiB)

Como podemos ver, mi Router tiene activado el modo DHCP y me asigno automaticamente la IP 10.1.15.148 por lo que con ella sabemos el rango que debemos usar para nuestra IP fija es de 10.1.15.148.x.

Asignando IP Estática

Siempre que modifiquemos un archivo del sistema para configurarlo tenemos que tener en cuenta que es necesario hacer una copia de seguridad del mismo para que podamos guiarnos de él en un momento dado o restaurarlo en cualquier caso. A continuación haremos una copia del archivo llamado interfaces que está situado en la ruta /etc/network y seguidamente lo editaremos para indicarle que IP fija es la que va a tener nuestro servidor.

sudo cp /etc/network/interfaces /etc/network/interfacesOLD

Una vez creada la copia vamos a editar el archivo interfaces con el editor de texto más sencillo de todos que viene por defecto en casi todas las distribuciones GNU/Linux llamado nano.

sudo nano -w /etc/network/interfaces

Veremos que el documento es así:

GNU nano 2.2.6         File: /etc/network/interfaces                          


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).


# The loopback network interface
auto lo
iface lo inet loopback


# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp


              [ Read 16 lines ]

Como pueden ver, a nuestra tarjeta de red se le asigna una IP automática gracias a la linea iface eth0 inet dhcp.


A continuación vamos a introducirle los siguientes parámetros para configurar manualmente la tarjeta de red. Para empezar vamos a cambiar el texto dhcp por la palabra static y a continuación especificaremos cual va a ser nuestra IP fija, mascara de subred, puerta de enlace o gateway (router) y resolvedor de nombres DNS.


Para conocer cuales son los datos a obtener que necesitaremos llenar solo debemos teclear ifconfig en la terminal. Donde aparecerán cada uno de los dispositivos de red del equipo, buscamos el que dice eth0y anotamos:

$ ifconfig
  • La IP o address (inet addr)
  • El broadcast (Bcast)
  • La Mascara de Red o netmask (Mask)
  • La red o network es la IP pero terminada en 0

Para saber el gateway tecleamos:

$ ip route show

Por último el servidor DNS o nameserver, para este yo utilizo las asignadas por \url{opendns.org} o puedes usar las que se encuentran en:

$ cat /etc/resolv.conf


A continuación expongo la configuración estática para este ejemplo, la cual no necesariamente tiene que ser igual que la mía, puede variar dependiendo de sus rangos de IP y proveedor de internet para el apartado DNS.

auto lo
iface lo inet loopback


# The primary network interface
allow-hotplug eth0
#iface eth0 inet dhcp


auto eth0
iface eth0 inet static


    address 10.1.15.148
    netmask 255.255.0.0
    network 10.1.15.0
    broadcast 10.1.255.255
    gateway 10.1.0.1
    nameserver 208.67.222.222 208.67.220.220


             [ Read 16 lines ]


Como ven, le he asignado la IP 10.1.15.148. Respecto a los servidores DNS he usado las direcciones de http://www.opendns.org un servicio de resolvedores de nombres que nos ofrecen gratuitamente desde Internet.

Una vez hechas todas las modificaciones al archivo interfaces guardamos el archivo y salimos del editor nano.


A continuación vamos a reiniciar la red para que los cambios surjan efecto.

sudo /etc/init.d/networking restart
[ ok ] Restarting networking (via systemctl): networking.service.  


Ahora deberíamos tener la IP que configuramos anteriormente. Esto podemos verlo ejecutando el comando ip addr.

sudo ip addr

Ahora cada vez que arranquemos tendremos la misma IP y no una dinámica como antes, también puedes hacer un ping para verificar que tengas internet.