SlideShare una empresa de Scribd logo
Montando un servidor web casero: Debian + Apache
                     Bernux
ÍNDICE
Introducción ................................................................................................................................1
   ¿Que se necesita para montar un servidor web? .................................................................1
   Antes de comenzar. ...............................................................................................................3
Instalando y configurando servidor web.....................................................................................4
   Instalando Apache2................................................................................................................4
   Configurar Apache2................................................................................................................4
El dominio....................................................................................................................................6
   Obteniendo nuestro dominio...................................................................................................6
      Dominio gratuito con DynDns.............................................................................................6
      Dominio gratuito con No-ip.................................................................................................8
Otras configuraciones.................................................................................................................9
   Dirección IP estática...............................................................................................................9
   Configurando clientes DynDns y/o No-ip..............................................................................10
      Cliente DynDns (ddclient).................................................................................................11
      Cliente No-ip (noip2).........................................................................................................14
   Abrir y redireccionar puertos.................................................................................................17
Montando un servidor web casero: Debian + Apache

Introducción
En este tutorial veremos como montar un servidor web casero con Debian y Apache, lo que se pretende es que
al final del tutorial podamos tener un sitio web que pueda ser accesible desde cualquier parte del mundo y haber
visto algunas configuraciones básicas o comunes en Apache, todo esto sin gastar un solo centavo.


Este tutorial esta orientado a personas que no tienen idea de como montar un servidor web y que conocen poco
acerca de los conceptos relacionados a redes y servidores. Además, está basado en mis experiencias al
momento de aprender, así que siempre existirá documentación oficial que puede ayudarnos más.


Para este tutorial necesitaremos:


    •   Una PC o laptop con Debian que será el servidor.
    •   Una conexión a internet, de preferencia a través de un modem/router.
    •   Configurar algunas cuentas y dominios gratuitos (se verá más adelante).




¿Que se necesita para montar un servidor web?
Antes de comenzar de lleno con lo práctico veamos un poco de lo necesario para montar un servidor web.


Hosting: Se refiere al servicio de almacenamiento, es decir, el lugar donde va a estar alojado el contenido que
se mostrará a los visitantes. Actualmente hay muchas empresas que dan un servicio de hosting, esto quiere
decir que las empresas de este ramo rentan un pequeño espacio en sus servidores para poner contenidos web.
Pero cualquier computadora puede servir para crear un servidor web, así que en este caso nuestro "hosting"
será una computadora en nuestra casa.


Dominio: Un nombre de dominio es un nombre que se asocia a una computadora o conjunto de computadoras,
es decir, una red. Esto sirve para que los contenidos de un servidor o de una red puedan ser accesibles de
manera fácil, por ejemplo para acceder a Google simplemente escribimos en nuestro browser http://google.com,
que es el nombre de dominio de Google y no tenemos que escribir una dirección IP (http://74.125.45.100/) que
es más difícil de recordar y manipular.


En este tutorial usaremos un dominio gratuito que ofrecen servicios como DynDNS o No-ip, mas adelante
profundizaremos en el tema.


Servicio DNS: Para que un dominio pase de ser local a universal, es decir, que pueda ser reconocido por todos
los servidores en internet, se requiere un servicio de DNS. Si el hosting es por parte de una empresa,
generalmente ellos nos proporcionan las direcciones y nombres de DNS, y en nuestros dominios registrados
podremos cambiar las direcciones de DNS desde el panel de configuración de la empresa que registra el
dominio.


Software servidor: Es el software que servirá como servidor web, es decir, el software que manejará y
presentará las páginas en HTML y todo el contenido y peticiones que se puedan llevar a cabo por medio de
HTTTP. En este caso usaremos Apache.


Direcciones IP: Para un servidor web se requiere de manera básica, una IP pública que es la que proporciona la
conectividad a internet y una IP privada para el servidor, que será la dirección final a donde llegarán las
peticiones.


Algunos links que informan de manera más detallada los conceptos anteriores:

    •   http://es.wikipedia.org/wiki/Alojamiento_web

    •   http://es.wikipedia.org/wiki/Direcci%C3%B3n_IP

    •   http://es.wikipedia.org/wiki/Servidor_web

    •   http://www.dcc.uchile.cl/~jpiquer/Internet/DNS/node2.html
Antes de comenzar.
Primero que nada tendremos que ver como están nuestras conexiones físicas. En este caso será muy simple,
una computadora conectada a un modem/router el cual está conectado a la linea telefónica la cual nos provee
de internet.


El modem/router del tutorial tiene un servidor de DHCP de rango
192.168.0.11-192.168.0.254 con máscara 255.255.255.0, el cual sirve para asignarles dirección ip a los nuevas
computadoras que se conectan a el.


La dirección ip del modem/router es la 192.168.0.1


La computadora que servirá de servidor tendrá la dirección 192.168.0.10 con máscara 255.255.255.0.


Los DNS serán los del ISP, en este caso Telmex.


Y un diagrama sencillo es este:
Instalando y configurando servidor web

Instalando Apache2.
Lo primero que haremos es que localmente instalaremos y configuraremos Apache.


       $sudo aptitude install apache2


Y en caso de que lo que vayamos a poner en el sitio web utilice Php o una base de datos como Mysql o
Postgresql debemos instalar algunos paquetes más:


       libapache2-mod-auth-BASE
       php5
       php5-BASE


Donde "BASE" es el nombre del DBMS (Data Base Management System) como mysql o pgsql (Postgres) y en
general los módulos y paquetes que se vayan necesitando.


Todos los paquetes de apache los podemos ver así:


       $aptitude search apache2




Configurar Apache2.
Una vez que se tiene instalado el servidor web Apache, si tecleamos "localhost" sin las comillas en nuestro
browser accederemos al contenido del servidor, que se encuentra por defecto en la carpeta /var/www/.


La primera vez que accedamos a Apache aparecerá un mensaje "It works", indicándonos que quedó bien
instalado. No es muy práctico ni recomendable que esta ruta sea la que se va a usar, para esto la vamos a
cambiar, esto se logra editando el archivo /etc/apache2/sites-enabled/000-default


Una vez abierto se deben cambiar las siguientes líneas dentro de <VirtualHost>:


      DocumentRoot /Dir/de/apache
      <Directory /Dir/de/apache>


Donde "/Dir/de/apache" será el directorio que se abrirá por defecto al entrar a localhost, este puede ser
cualquier directorio en el sistema, como por ejemplo una carpeta llamada www/ dentro de nuestro /home.
Tipicamente un servidor web para un dominio quedaría asi:


      <VirtualHost *:80>
                ServerAdmin webmaster@localhost #Email del webmaster
                ServerName midominio.com          #O el dominio que se vaya a configurar


                DocumentRoot /Dir/de/apache       #Directorio con el contenido del servidor


                <Directory /Dir/de/apache/>
                       Options Indexes FollowSymLinks MultiViews
                       AllowOverride All
                       Order allow,deny
                       allow from all
                </Directory>
                LogLevel warn
                CustomLog /var/log/apache2/access.log combined
      </VirtualHost>


Reiniciamos el servicio de apache:


          $sudo /etc/init.d/apache2 restart


Ahora todo el contenido que queramos que aparezca en la web debemos colocarlo dentro de la carpeta
anteriormente establecida. Para ver si está funcionando, crearemos un archivo llamado "index.html" dentro de "/
Dir/de/apache" con el siguiente contenido:


      <html>
      <head>
      <title>Prueba Apache2</title>
      </head>
      <body>
      Hola!!. Esta es una prueba de apache2 que salió bien =D
      </body>
      </html>


Guardamos, cerramos y entramos a http://localhost desde el browser, si funciona veremos el contenido de la
página.


A partir de ahora somos libres de colocar el contenido que se necesite para que funcione como una aplicación
web, un foro, nuestro blog, etc.


Hasta este momento tenemos un servidor Apache2 instalado localmente, es decir, solo nosotros podemos verlo
tecleando http://localhost o http://127.0.0.1 en el browser, el siguiente paso es obtener un dominio.


                                                El dominio

Obteniendo nuestro dominio.
En esta parte obtendremos un dominio para que podamos ser vistos desde internet, es decir que cuando
alguien escriba "midominio.com" en su navegador pueda acceder a nuestra computadora y más en específico
al contenido gestionado por Apache.


Por desgracia, en este tutorial usaremos un dominio gratuito, es decir que no tenemos la libertad de escoger si
es .com o .mx etc., sino que se nos proporcionará una lista de dominios al estilo dyndns.org, homelinux.com
etc. y nosotros antepondremos el nombre que queramos, quedando el dominio asi:


midominio.homelinux.com ó midominio.dyndns.org


Esta es la desventaja de un dominio gratuito, ya que no se tiene la libertad de escoger un nombre "decente" o
más "serio", pero para conocer como es el proceso nos queda bien.


Si por otro lado, estuviéramos contratando un hosting y comprando y registrando un dominio, en este caso si
podríamos elegir midominio.com o midominio.com.mx siempre y cuando nadie lo haya ocupado antes.


Sitios como DynDns o No-ip se dedican a proveer servicios de DNS a "particulares" es decir, nosotros en este
caso, y aquí es donde obtendremos nuestro dominio y los servicios necesarios para montar nuestro servidor.


Antes hay que aclarar que no es necesario usar los dos servicios. He incluido las configuraciones para los dos
ya que DynDns y NoIp son los más usados en estas configuraciones, pero solo usaremos un servicio, el que
ustedes elijan.


Dominio gratuito con DynDns.
Primero iremos a http://www.dyndns.com y crearemos una cuenta gratuita, ya que este creada y activada
iremos a la sección My hosts:
Y dentro damos clic en "Add new host" y rellenaremos el formulario:
Hostname: Aquí debemos ingresar el nombre de dominio por ejemplo, crearemos "midominio" y en la lista de la
derecha seleccionamos "homelinux.com" quedando como midominio.homelinux.com.


Service type: Dejamos la selección por defecto (Host with IP address), que creará un host que resuelve una ip
dinámica.


IP address: Podemos dar click en el link que dice "Your current location's IP address is xxx.xxx.xxx.xxx"
para que el campo se rellene con la IP pública que tenemos actualmente.


Seguimos con el siguiente paso y nos pondrá el "carro de compras" y nos marcará la cantidad de 0, damos
siguiente y tendremos nuestro dominio activo.


Para verificar los dominios existentes y características podemos ir a la sección "My hosts" y editar las
preferencias.


Dominio gratuito con No-ip.
Entramos a http://www.no-ip.com/ nos registramos y nos logueamos, ya dentro crearemos, como en DynDns
un host.


Vamos a la sección "Add host" y llenamos el formulario. Veremos que es similar a DynDns:
    •      Debemos especificar el nombre del host, que vendrá siendo nuestro dominio.
    •      Seleccionar para este caso "DNS Host (A)" en Host Type.
Y básicamente es eso. Damos click en "Create host" y una vez añadido, tendremos la lista de nuestros hosts
que podremos usar como dominios para nuestro servidor.


Dominio en archivo Hosts (Opcional).
Una vez que creamos el dominio podemos agregarlo localmente a nuestro servidor, esto se logra editando el
archivo /etc/hosts y generalmente donde esté indicada la dirección 127.0.0.1 o 127.0.1.1 indicaremos los
nombres locales de la computadora.


Si es la primera vez que tocamos este archivo veremos una configuración similar:


127.0.1.1 usuario-desktop localhost


Solo debemos agregar al final de la linea nuestro dominio para que quede así:


127.0.1.1 usuario-desktop localhost midominio.homelinux.com otrosdominios.com


Guardamos, cerramos y si tecleamos en el browser http://midominio.homelinux.com veremos el mismo
contenido que cuando escribíamos http://localhost pero ¡OJO!, esto sigue siendo localmente, todavía no
podemos verlo desde internet.


                                      Otras configuraciones

Dirección IP estática
Es turno de poner una dirección IP estática (en caso de que nuestra IP sea asignada mediante DHCP) a
nuestro servidor. Esto es porque cuando configuremos los clientes de dyndns o no-ip y al abrir los puertos del
modem/router requerirá de preferencia, una misma dirección IP privada (más adelante se explican los detalles).


Para poner una ip estática editaremos el archivo /etc/network/interfaces y cambiaremos este contenido o
similar:


       #Interfaz eth0 (cableada)
       auto eth0
       iface eth0 inet dhcp


por este otro:


       #Interfaz eth0 (cableada)
       auto eth0
       iface eth0 inet static
address 192.168.0.10      #La ip del servidor web (que será estática)
      broadcast 192.168.0.255
      netmask 255.255.255.0
      gateway 192.168.0.1       #nuestro router
      nameserver 192.168.0.1 #En dns dejaremos nuestro router (porque el router ya tiene configurado como
      resolver nombres), pero estos se pueden cambiar si se tienen algunos como OpenDNS o los de nuestro
      ISP


Y a continuación reiniciamos los servicios:


         $sudo /etc/init.d/networking restart


NOTA: Hay que recordar que si las direcciones ip las genera un servidor DHCP, ya sea en una computadora,
un router etc. habrá que sacar la IP estática del servidor web del DHCP para evitar que otra computadora llegue
a tomar la ip que sera la del servidor.




Configurando clientes DynDns y/o No-ip.


En la mayoría de los hogares y con la mayoría de ISPs, una suscripción "casera" asigna una IP pública
dinámica cada determinado tiempo, es decir, que cada cierto tiempo se renueva nuestra IP que proporciona
conexión a internet y nunca es la misma, así que aquí surge un problema ya que, tenemos nuestro servidor,
nuestro dominio, si escribimos en un browser la IP pública, estaríamos viendo el contenido del servidor web,
pero el problema es que cada cierto tiempo esa dirección cambiaría y si el día de hoy tenemos una dirección, el
día de mañana será otra distinta, es decir, es como si nos estuviéramos mudando diario de casa y las
peticiones fueran los recibos de luz, agua, paquetes de entrega, correo, pizzas etc.


Para solucionar este problema configuramos un dominio en DynDns o No-ip, con esto ya podemos escribir
http://midominio.homelinux.org y acceder al servidor, pero el problema de la IP pública dinámica sigue, ya
que hasta este momento nuestro servicio DNS no sabe que IP tenemos. Para esto existe software cliente que
se instala y configura en el servidor con el objetivo de enviar información al servicio DNS cada determinado
tiempo con nuestra IP pública actual y de esta manera el servicio DNS actualiza la IP y la relaciona con el
dominio configurado, y con esto tenemos nuestro dominio accesible desde cualquier parte en cualquier
momento.
Cliente DynDns (ddclient).
El primer paso es instalar el paquete ddclient en nuestro servidor:


       $sudo aptitude install ddclient


Durante la instalación aparecerán varios campos a llenar:


Primero seleccionamos el servicio de DNS dinámico, en este caso www.dyndns.com
Ahora hay que introducir nuestros hosts o dominios creados previamente en la página de DynDns
(midominio.homelinux.com)




Después introduciremos el usuario y password de nuestra cuenta de DynDns (con la que nos logueamos en la
página).


En el último paso de la configuración nos pide la interfaz que usará el servicio de DynDns. Para este particular
caso dejaremos en blanco el campo y seguimos. Una vez que se instaló ddclient vamos a editar el archivo /etc/
ddclient.conf y donde dice:


        use=if, if=


lo cambiaremos por


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


Guardamos y cerramos el archivo. Esto lo hicimos para decir que la detección de la actualización de la ip
pública correrá a cargo de "checkip.dyndns.com".
En otros casos se podría usar "if" en vez de "web" e indicar una interfaz preferentemente wan, o la interfaz que
contenga la dirección ip pública, en este caso usamos “web” porque en nuestro servidor la interfaz eth0 es la
única que tenemos cerca y no controla la ip pública, sino la ip de la LAN.
Ahora editaremos el archivo /etc/default/ddclient y cambiamos run_daemon para que quede asi:


      run_daemon="true"


y opcionalmente podemos cambiar el tiempo de actualización (en segundos) en la línea:


     daemon_interval="300"


Reiniciamos el servicio ddclient:


     $sudo /etc/init.d/ddclient restart


Hasta este momento la dirección ip pública se actualiza automáticamente.


Usando herramienta de configuración de DynDns.
NOTA: En ocasiones, la configuración que da ddclient por defecto no funciona, para una mejor configuración
podemos usar la herramienta de actualización de DynDns, la cual genera un archivo de configuración básico y
funcional para nuestros dominios. Si la configuración que hace la instalación de ddclient no genera problemas
puede ignorarse esta sección.


Para acceder se puede ir al sitio https://www.dyndns.com/support/tools/clientconfig.html que se encuentra
en “Support/Tools/Update Client configurator” y seleccionaremos los dominios que queremos y también
seleccionaremos ddclient como formato de configuración, damos click en Generate y veremos un archivo de
configuración. Debemos sustituir nuestro actual /etc/ddclient.conf por el que nos presenta DynDns (no olvidar
escribir el password en vez de ##YOUR PASSWORD##).


El archivo es similar a este:


      ## ddclient configuration file
      daemon=600
      # check every 600 seconds
      syslog=yes
      # log update msgs to syslog
      mail-failure=mimail@deregistro.com # Mail failed updates to user
      pid=/var/run/ddclient.pid
      # record PID in file.
      ## Detect IP with our CheckIP server
      use=web, web=checkip.dyndns.com/, web-skip='IP Address'
      ## DynDNS username and password here
login=Miusuario
       password=##YOUR PASSWORD##
       ## Default options
       protocol=dyndns2
       server=members.dyndns.org
       ## Dynamic DNS hosts
       midominio.homelinux.com, midominio2.homelinux.com #Cambiar por nuestros dominios reales




El siguiente link contiene información importante acerca de los clientes de actualización:
http://www.dyndns.com/support/clients/




Cliente No-ip (noip2).
Instalaremos el paquete noip2:


       $sudo aptitude install noip2


La configuración durante la instalación será similar a ddclient, es decir, nos hará algunas preguntas, las cuales
son:


Nombre de usuario Noip (email y password con el que nos logueamos).




Frecuencia de actualización de la dirección ip (expresada en minutos).
Especificar los hosts o dominios creados en la página de Noip (separados por coma).




Especificar la interfaz encargada de la ip pública, en este caso la dejaremos en blanco.
Indicar si deseamos que se deshabilite la traducción NAT, diremos que NO.




Para cambiar alguna configuración habrá que escribir en consola:


       $sudo dpkg-reconfigure noip2
Abrir y redireccionar puertos.
El último paso de este tutorial es abrir y redireccionar puertos de nuestro modem/router.


Las aplicaciones y recursos en red funcionan bajo un puerto en específico por defecto, aunque pueden
cambiarse, cerrarse, abrirse etc.
Para efectos de este tutorial solo tenemos que saber que el puerto 80 es el que utiliza el protocolo HTTP.


Si estamos fuera de nuestra LAN, es decir, conectados a otra red con internet, la del vecino, en la escuela,
trabajo etc. y tecleamos en el browser http://midominio.homelinux.com no obtendremos respuesta, esto es
porque falta abrir y redireccionar el puerto 80 al servidor (192.168.0.10).


Sin abrir el puerto del modem/rouer, cuando alguien accesa a nuestro servidor desde internet la petición se
hace por el puerto 80, así que la petición viaja a través de internet hasta llegar a nuestro modem/router
(192.168.0.1) pero como el puerto 80 está cerrado entonces la petición muere en ese momento y no alcanza a
llegar a nuestro servidor.


Si el puerto estuviera abierto y direccionado a nuestro servidor la petición se realiza por el puerto 80, viaja a
través de internet, al llegar a nuestro modem/router ve el puerto 80 abierto y dice que para seguir la petición
debe ir al servidor (192.168.0.10) y entonces, al llegar al servidor este responde de forma adecuada y la petición
regresa a su lugar de origen con una respuesta satisfactoria.


La manera de abrir puertos de un modem/router o algún dispositivo de red varia de acuerdo a la marca/modelo
del mismo, pero de manera básica se puede accesar a través del browser, generalmente el modem/router debe
estar conectado físicamente a la computadora que lo accederá.


En el browser escribimos la dirección ip o nombre de host del router, para el caso del tutorial es la 192.168.0.1,
pero repito, depende mucho del modelo, otras posibles direcciones son:


10.0.0.1
192.168.1.1
192.168.254.1
192.168.254.254


Una vez dentro, la interfaz de navegación será diferente para cada modem, pero en general hay que buscar una
sección que hable de puertos, como "Port redirecting", "Port access", "Special applications", "Application and
gaming" etc.


Una vez que hayamos ubicado esto generalmente debemos indicar:
•   Número de puerto (ahora el 80).
    •   Protocolo al que pertenece (TCP, UDP o ambos).
    •   A donde redireccionarlo (192.168.0.10, nuestro servidor).


Puede que tengamos que reiniciar el router, pero una vez hecho, debe de verse nuestro servidor desde internet
escribiendo en el browser el nombre de dominio configurado ya sea en DynDns o Noip.


Aquí algunos enlaces que explican lo que son los puertos y para que sirven:
http://www.iana.org/assignments/port-numbers
http://es.wikipedia.org/wiki/Puerto_de_red
http://es.kioskea.net/contents/internet/port.php3




Hasta aquí este tutorial. Configuraciones existen muchas y todo depende del caso, además, hay que decir que
en este tutorial no se abarca nada de la seguridad, esto es muy importante y lo iremos viendo en tutoriales
posteriores.

Más contenido relacionado

La actualidad más candente

Protocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson TreinamentosProtocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson Treinamentos
Fábio dos Reis
 
How to configure a router
How to configure a router How to configure a router
How to configure a router
IT Tech
 
Presentation cisco iron port email & web security
Presentation   cisco iron port email & web securityPresentation   cisco iron port email & web security
Presentation cisco iron port email & web security
xKinAnx
 
Protocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSHProtocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSH
Petterson Castro
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
Aron Sporkens
 
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Ministério Público da Paraíba
 
Automating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS NetworkAutomating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS Network
Cisco Canada
 
49778140 projeto-de-rede
49778140 projeto-de-rede49778140 projeto-de-rede
49778140 projeto-de-rede
Marco Guimarães
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadores
Fábio Eliseu
 
Cisco ccna modulo 03
Cisco ccna modulo 03Cisco ccna modulo 03
Cisco ccna modulo 03
Vitor Albuquerque
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4
pacvslideshare
 
NetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO ConfigurationsNetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO Configurations
Hank Preston
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Cisco ccna modulo 01
Cisco ccna modulo 01Cisco ccna modulo 01
Cisco ccna modulo 01
Vitor Albuquerque
 
Network administration and Management
Network administration and ManagementNetwork administration and Management
Network administration and Management
Bry Cunal
 
conteúdos UFCD 0771.ppt
conteúdos UFCD 0771.pptconteúdos UFCD 0771.ppt
conteúdos UFCD 0771.ppt
olivervis
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
An Introduction to VMware NSX
An Introduction to VMware NSXAn Introduction to VMware NSX
An Introduction to VMware NSX
Scott Lowe
 
Introduction to layer 2 attacks & mitigation
Introduction to layer 2 attacks & mitigationIntroduction to layer 2 attacks & mitigation
Introduction to layer 2 attacks & mitigation
Rishabh Dangwal
 
ccna
ccnaccna

La actualidad más candente (20)

Protocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson TreinamentosProtocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson Treinamentos
 
How to configure a router
How to configure a router How to configure a router
How to configure a router
 
Presentation cisco iron port email & web security
Presentation   cisco iron port email & web securityPresentation   cisco iron port email & web security
Presentation cisco iron port email & web security
 
Protocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSHProtocolos; SNMP, TELNET, SSH
Protocolos; SNMP, TELNET, SSH
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
 
Automating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS NetworkAutomating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS Network
 
49778140 projeto-de-rede
49778140 projeto-de-rede49778140 projeto-de-rede
49778140 projeto-de-rede
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadores
 
Cisco ccna modulo 03
Cisco ccna modulo 03Cisco ccna modulo 03
Cisco ccna modulo 03
 
Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4Servidores web de altas prestaciones. Tema 4
Servidores web de altas prestaciones. Tema 4
 
NetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO ConfigurationsNetBox as the Source of Truth for Cisco NSO Configurations
NetBox as the Source of Truth for Cisco NSO Configurations
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
Cisco ccna modulo 01
Cisco ccna modulo 01Cisco ccna modulo 01
Cisco ccna modulo 01
 
Network administration and Management
Network administration and ManagementNetwork administration and Management
Network administration and Management
 
conteúdos UFCD 0771.ppt
conteúdos UFCD 0771.pptconteúdos UFCD 0771.ppt
conteúdos UFCD 0771.ppt
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
An Introduction to VMware NSX
An Introduction to VMware NSXAn Introduction to VMware NSX
An Introduction to VMware NSX
 
Introduction to layer 2 attacks & mitigation
Introduction to layer 2 attacks & mitigationIntroduction to layer 2 attacks & mitigation
Introduction to layer 2 attacks & mitigation
 
ccna
ccnaccna
ccna
 

Destacado

filosofos mas influyentes
filosofos mas influyentesfilosofos mas influyentes
filosofos mas influyentes
stefysc
 
La guerra de la triple alianza
La guerra de la triple alianzaLa guerra de la triple alianza
La guerra de la triple alianza
MAURICIO MAIRENA
 
Yo, mi region, mi cultura.
Yo, mi region, mi cultura.Yo, mi region, mi cultura.
Yo, mi region, mi cultura.
Zulamys Ureche
 
Libro digital vp2004 2009
Libro digital vp2004 2009Libro digital vp2004 2009
Libro digital vp2004 2009
Ana Vilma de Escobar
 
GeschichtsApp Seminar Bundesarchiv
GeschichtsApp Seminar BundesarchivGeschichtsApp Seminar Bundesarchiv
GeschichtsApp Seminar Bundesarchiv
Daniel Bernsen
 
Manuscrito cuanti
Manuscrito cuantiManuscrito cuanti
Manuscrito cuanti
Licentiare
 
AnteproyectoredeRsociales
AnteproyectoredeRsocialesAnteproyectoredeRsociales
AnteproyectoredeRsociales
romerojulia
 
Trabajo practico n4
Trabajo practico n4Trabajo practico n4
Trabajo practico n4
Francisco Renta
 
Regionale dienstbesprechung einführung teillehrplan geschichte 2015
Regionale dienstbesprechung einführung teillehrplan geschichte 2015Regionale dienstbesprechung einführung teillehrplan geschichte 2015
Regionale dienstbesprechung einführung teillehrplan geschichte 2015
Daniel Bernsen
 
219162s (1)
219162s (1)219162s (1)
las tic
las ticlas tic
las tic
lisettesheila
 
Web2.0 Grundlagen
Web2.0 GrundlagenWeb2.0 Grundlagen
Web2.0 Grundlagen
Saskia B.
 
www.schreibman.de
www.schreibman.dewww.schreibman.de
www.schreibman.de
guest186fb1
 
1Teil der PowerPointPräsentation über R.C.Wüm
1Teil der PowerPointPräsentation über R.C.Wüm1Teil der PowerPointPräsentation über R.C.Wüm
1Teil der PowerPointPräsentation über R.C.Wüm
guestaaeca1
 
Blogger diseno y_configuracion
Blogger diseno y_configuracionBlogger diseno y_configuracion
Blogger diseno y_configuracion
ramonrivelli
 
BWL - Kolloquiums Präsentation
BWL - Kolloquiums PräsentationBWL - Kolloquiums Präsentation
BWL - Kolloquiums Präsentation
Dennnis Seehafer
 
Google docs
Google docsGoogle docs

Destacado (20)

filosofos mas influyentes
filosofos mas influyentesfilosofos mas influyentes
filosofos mas influyentes
 
La guerra de la triple alianza
La guerra de la triple alianzaLa guerra de la triple alianza
La guerra de la triple alianza
 
Yo, mi region, mi cultura.
Yo, mi region, mi cultura.Yo, mi region, mi cultura.
Yo, mi region, mi cultura.
 
Libro digital vp2004 2009
Libro digital vp2004 2009Libro digital vp2004 2009
Libro digital vp2004 2009
 
GeschichtsApp Seminar Bundesarchiv
GeschichtsApp Seminar BundesarchivGeschichtsApp Seminar Bundesarchiv
GeschichtsApp Seminar Bundesarchiv
 
Manuscrito cuanti
Manuscrito cuantiManuscrito cuanti
Manuscrito cuanti
 
AnteproyectoredeRsociales
AnteproyectoredeRsocialesAnteproyectoredeRsociales
AnteproyectoredeRsociales
 
Trabajo practico n4
Trabajo practico n4Trabajo practico n4
Trabajo practico n4
 
Regionale dienstbesprechung einführung teillehrplan geschichte 2015
Regionale dienstbesprechung einführung teillehrplan geschichte 2015Regionale dienstbesprechung einführung teillehrplan geschichte 2015
Regionale dienstbesprechung einführung teillehrplan geschichte 2015
 
219162s (1)
219162s (1)219162s (1)
219162s (1)
 
las tic
las ticlas tic
las tic
 
Web2.0 Grundlagen
Web2.0 GrundlagenWeb2.0 Grundlagen
Web2.0 Grundlagen
 
www.schreibman.de
www.schreibman.dewww.schreibman.de
www.schreibman.de
 
Presentación1
Presentación1Presentación1
Presentación1
 
1Teil der PowerPointPräsentation über R.C.Wüm
1Teil der PowerPointPräsentation über R.C.Wüm1Teil der PowerPointPräsentation über R.C.Wüm
1Teil der PowerPointPräsentation über R.C.Wüm
 
Blogger diseno y_configuracion
Blogger diseno y_configuracionBlogger diseno y_configuracion
Blogger diseno y_configuracion
 
Ost 1 00322 92
Ost 1 00322 92Ost 1 00322 92
Ost 1 00322 92
 
BWL - Kolloquiums Präsentation
BWL - Kolloquiums PräsentationBWL - Kolloquiums Präsentation
BWL - Kolloquiums Präsentation
 
Google docs
Google docsGoogle docs
Google docs
 
Fotos norma y suemy
Fotos norma y suemyFotos norma y suemy
Fotos norma y suemy
 

Similar a Servidorweb casero

Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidores
rossykeles
 
Gestion de nubes d
Gestion de nubes dGestion de nubes d
Gestion de nubes d
rossykeles
 
Servidor web apache para centro de computos.pdf
Servidor web apache para centro de computos.pdfServidor web apache para centro de computos.pdf
Servidor web apache para centro de computos.pdf
dfjar1
 
Apache
ApacheApache
Laboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdfLaboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdf
AdaLpezCotrina
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
Fausto Amador Mairena
 
Red t3 practica1_apachecms
Red t3 practica1_apachecmsRed t3 practica1_apachecms
Red t3 practica1_apachecms
garciadebora
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
garciadebora
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
angeles104
 
Servidorweb
ServidorwebServidorweb
Servidorweb
Géne Solórzano
 
Servidor web
Servidor webServidor web
Servidor web
josegregoriob
 
Servidorweb
ServidorwebServidorweb
Servidorweb
Gabriel Sumoza
 
Daw02 tarea
Daw02 tareaDaw02 tarea
Daw02 tarea
Diego Ceballos Mora
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidores
rossykeles
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/Linux
Martin Gregorio
 
Web centos
Web centosWeb centos
Web centos
jessidi
 
Servidorweb
ServidorwebServidorweb
Servidorweb
Géne Solórzano
 
Edison guaraca
Edison guaracaEdison guaraca
apache00000000000000000000000000000_t.pdf
apache00000000000000000000000000000_t.pdfapache00000000000000000000000000000_t.pdf
apache00000000000000000000000000000_t.pdf
docentejdnsps
 
Info de redes
Info de redesInfo de redes
Info de redes
Heylin Aguirre
 

Similar a Servidorweb casero (20)

Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidores
 
Gestion de nubes d
Gestion de nubes dGestion de nubes d
Gestion de nubes d
 
Servidor web apache para centro de computos.pdf
Servidor web apache para centro de computos.pdfServidor web apache para centro de computos.pdf
Servidor web apache para centro de computos.pdf
 
Apache
ApacheApache
Apache
 
Laboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdfLaboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdf
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Red t3 practica1_apachecms
Red t3 practica1_apachecmsRed t3 practica1_apachecms
Red t3 practica1_apachecms
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
 
Servidorweb
ServidorwebServidorweb
Servidorweb
 
Servidor web
Servidor webServidor web
Servidor web
 
Servidorweb
ServidorwebServidorweb
Servidorweb
 
Daw02 tarea
Daw02 tareaDaw02 tarea
Daw02 tarea
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidores
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/Linux
 
Web centos
Web centosWeb centos
Web centos
 
Servidorweb
ServidorwebServidorweb
Servidorweb
 
Edison guaraca
Edison guaracaEdison guaraca
Edison guaraca
 
apache00000000000000000000000000000_t.pdf
apache00000000000000000000000000000_t.pdfapache00000000000000000000000000000_t.pdf
apache00000000000000000000000000000_t.pdf
 
Info de redes
Info de redesInfo de redes
Info de redes
 

Servidorweb casero

  • 1. Montando un servidor web casero: Debian + Apache Bernux
  • 2. ÍNDICE Introducción ................................................................................................................................1 ¿Que se necesita para montar un servidor web? .................................................................1 Antes de comenzar. ...............................................................................................................3 Instalando y configurando servidor web.....................................................................................4 Instalando Apache2................................................................................................................4 Configurar Apache2................................................................................................................4 El dominio....................................................................................................................................6 Obteniendo nuestro dominio...................................................................................................6 Dominio gratuito con DynDns.............................................................................................6 Dominio gratuito con No-ip.................................................................................................8 Otras configuraciones.................................................................................................................9 Dirección IP estática...............................................................................................................9 Configurando clientes DynDns y/o No-ip..............................................................................10 Cliente DynDns (ddclient).................................................................................................11 Cliente No-ip (noip2).........................................................................................................14 Abrir y redireccionar puertos.................................................................................................17
  • 3. Montando un servidor web casero: Debian + Apache Introducción En este tutorial veremos como montar un servidor web casero con Debian y Apache, lo que se pretende es que al final del tutorial podamos tener un sitio web que pueda ser accesible desde cualquier parte del mundo y haber visto algunas configuraciones básicas o comunes en Apache, todo esto sin gastar un solo centavo. Este tutorial esta orientado a personas que no tienen idea de como montar un servidor web y que conocen poco acerca de los conceptos relacionados a redes y servidores. Además, está basado en mis experiencias al momento de aprender, así que siempre existirá documentación oficial que puede ayudarnos más. Para este tutorial necesitaremos: • Una PC o laptop con Debian que será el servidor. • Una conexión a internet, de preferencia a través de un modem/router. • Configurar algunas cuentas y dominios gratuitos (se verá más adelante). ¿Que se necesita para montar un servidor web? Antes de comenzar de lleno con lo práctico veamos un poco de lo necesario para montar un servidor web. Hosting: Se refiere al servicio de almacenamiento, es decir, el lugar donde va a estar alojado el contenido que se mostrará a los visitantes. Actualmente hay muchas empresas que dan un servicio de hosting, esto quiere decir que las empresas de este ramo rentan un pequeño espacio en sus servidores para poner contenidos web. Pero cualquier computadora puede servir para crear un servidor web, así que en este caso nuestro "hosting" será una computadora en nuestra casa. Dominio: Un nombre de dominio es un nombre que se asocia a una computadora o conjunto de computadoras, es decir, una red. Esto sirve para que los contenidos de un servidor o de una red puedan ser accesibles de manera fácil, por ejemplo para acceder a Google simplemente escribimos en nuestro browser http://google.com, que es el nombre de dominio de Google y no tenemos que escribir una dirección IP (http://74.125.45.100/) que es más difícil de recordar y manipular. En este tutorial usaremos un dominio gratuito que ofrecen servicios como DynDNS o No-ip, mas adelante profundizaremos en el tema. Servicio DNS: Para que un dominio pase de ser local a universal, es decir, que pueda ser reconocido por todos los servidores en internet, se requiere un servicio de DNS. Si el hosting es por parte de una empresa,
  • 4. generalmente ellos nos proporcionan las direcciones y nombres de DNS, y en nuestros dominios registrados podremos cambiar las direcciones de DNS desde el panel de configuración de la empresa que registra el dominio. Software servidor: Es el software que servirá como servidor web, es decir, el software que manejará y presentará las páginas en HTML y todo el contenido y peticiones que se puedan llevar a cabo por medio de HTTTP. En este caso usaremos Apache. Direcciones IP: Para un servidor web se requiere de manera básica, una IP pública que es la que proporciona la conectividad a internet y una IP privada para el servidor, que será la dirección final a donde llegarán las peticiones. Algunos links que informan de manera más detallada los conceptos anteriores: • http://es.wikipedia.org/wiki/Alojamiento_web • http://es.wikipedia.org/wiki/Direcci%C3%B3n_IP • http://es.wikipedia.org/wiki/Servidor_web • http://www.dcc.uchile.cl/~jpiquer/Internet/DNS/node2.html
  • 5. Antes de comenzar. Primero que nada tendremos que ver como están nuestras conexiones físicas. En este caso será muy simple, una computadora conectada a un modem/router el cual está conectado a la linea telefónica la cual nos provee de internet. El modem/router del tutorial tiene un servidor de DHCP de rango 192.168.0.11-192.168.0.254 con máscara 255.255.255.0, el cual sirve para asignarles dirección ip a los nuevas computadoras que se conectan a el. La dirección ip del modem/router es la 192.168.0.1 La computadora que servirá de servidor tendrá la dirección 192.168.0.10 con máscara 255.255.255.0. Los DNS serán los del ISP, en este caso Telmex. Y un diagrama sencillo es este:
  • 6. Instalando y configurando servidor web Instalando Apache2. Lo primero que haremos es que localmente instalaremos y configuraremos Apache. $sudo aptitude install apache2 Y en caso de que lo que vayamos a poner en el sitio web utilice Php o una base de datos como Mysql o Postgresql debemos instalar algunos paquetes más: libapache2-mod-auth-BASE php5 php5-BASE Donde "BASE" es el nombre del DBMS (Data Base Management System) como mysql o pgsql (Postgres) y en general los módulos y paquetes que se vayan necesitando. Todos los paquetes de apache los podemos ver así: $aptitude search apache2 Configurar Apache2. Una vez que se tiene instalado el servidor web Apache, si tecleamos "localhost" sin las comillas en nuestro browser accederemos al contenido del servidor, que se encuentra por defecto en la carpeta /var/www/. La primera vez que accedamos a Apache aparecerá un mensaje "It works", indicándonos que quedó bien instalado. No es muy práctico ni recomendable que esta ruta sea la que se va a usar, para esto la vamos a cambiar, esto se logra editando el archivo /etc/apache2/sites-enabled/000-default Una vez abierto se deben cambiar las siguientes líneas dentro de <VirtualHost>: DocumentRoot /Dir/de/apache <Directory /Dir/de/apache> Donde "/Dir/de/apache" será el directorio que se abrirá por defecto al entrar a localhost, este puede ser cualquier directorio en el sistema, como por ejemplo una carpeta llamada www/ dentro de nuestro /home.
  • 7. Tipicamente un servidor web para un dominio quedaría asi: <VirtualHost *:80> ServerAdmin webmaster@localhost #Email del webmaster ServerName midominio.com #O el dominio que se vaya a configurar DocumentRoot /Dir/de/apache #Directorio con el contenido del servidor <Directory /Dir/de/apache/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost> Reiniciamos el servicio de apache: $sudo /etc/init.d/apache2 restart Ahora todo el contenido que queramos que aparezca en la web debemos colocarlo dentro de la carpeta anteriormente establecida. Para ver si está funcionando, crearemos un archivo llamado "index.html" dentro de "/ Dir/de/apache" con el siguiente contenido: <html> <head> <title>Prueba Apache2</title> </head> <body> Hola!!. Esta es una prueba de apache2 que salió bien =D </body> </html> Guardamos, cerramos y entramos a http://localhost desde el browser, si funciona veremos el contenido de la página. A partir de ahora somos libres de colocar el contenido que se necesite para que funcione como una aplicación
  • 8. web, un foro, nuestro blog, etc. Hasta este momento tenemos un servidor Apache2 instalado localmente, es decir, solo nosotros podemos verlo tecleando http://localhost o http://127.0.0.1 en el browser, el siguiente paso es obtener un dominio. El dominio Obteniendo nuestro dominio. En esta parte obtendremos un dominio para que podamos ser vistos desde internet, es decir que cuando alguien escriba "midominio.com" en su navegador pueda acceder a nuestra computadora y más en específico al contenido gestionado por Apache. Por desgracia, en este tutorial usaremos un dominio gratuito, es decir que no tenemos la libertad de escoger si es .com o .mx etc., sino que se nos proporcionará una lista de dominios al estilo dyndns.org, homelinux.com etc. y nosotros antepondremos el nombre que queramos, quedando el dominio asi: midominio.homelinux.com ó midominio.dyndns.org Esta es la desventaja de un dominio gratuito, ya que no se tiene la libertad de escoger un nombre "decente" o más "serio", pero para conocer como es el proceso nos queda bien. Si por otro lado, estuviéramos contratando un hosting y comprando y registrando un dominio, en este caso si podríamos elegir midominio.com o midominio.com.mx siempre y cuando nadie lo haya ocupado antes. Sitios como DynDns o No-ip se dedican a proveer servicios de DNS a "particulares" es decir, nosotros en este caso, y aquí es donde obtendremos nuestro dominio y los servicios necesarios para montar nuestro servidor. Antes hay que aclarar que no es necesario usar los dos servicios. He incluido las configuraciones para los dos ya que DynDns y NoIp son los más usados en estas configuraciones, pero solo usaremos un servicio, el que ustedes elijan. Dominio gratuito con DynDns. Primero iremos a http://www.dyndns.com y crearemos una cuenta gratuita, ya que este creada y activada iremos a la sección My hosts:
  • 9. Y dentro damos clic en "Add new host" y rellenaremos el formulario:
  • 10. Hostname: Aquí debemos ingresar el nombre de dominio por ejemplo, crearemos "midominio" y en la lista de la derecha seleccionamos "homelinux.com" quedando como midominio.homelinux.com. Service type: Dejamos la selección por defecto (Host with IP address), que creará un host que resuelve una ip dinámica. IP address: Podemos dar click en el link que dice "Your current location's IP address is xxx.xxx.xxx.xxx" para que el campo se rellene con la IP pública que tenemos actualmente. Seguimos con el siguiente paso y nos pondrá el "carro de compras" y nos marcará la cantidad de 0, damos siguiente y tendremos nuestro dominio activo. Para verificar los dominios existentes y características podemos ir a la sección "My hosts" y editar las preferencias. Dominio gratuito con No-ip. Entramos a http://www.no-ip.com/ nos registramos y nos logueamos, ya dentro crearemos, como en DynDns un host. Vamos a la sección "Add host" y llenamos el formulario. Veremos que es similar a DynDns: • Debemos especificar el nombre del host, que vendrá siendo nuestro dominio. • Seleccionar para este caso "DNS Host (A)" en Host Type.
  • 11. Y básicamente es eso. Damos click en "Create host" y una vez añadido, tendremos la lista de nuestros hosts que podremos usar como dominios para nuestro servidor. Dominio en archivo Hosts (Opcional). Una vez que creamos el dominio podemos agregarlo localmente a nuestro servidor, esto se logra editando el archivo /etc/hosts y generalmente donde esté indicada la dirección 127.0.0.1 o 127.0.1.1 indicaremos los nombres locales de la computadora. Si es la primera vez que tocamos este archivo veremos una configuración similar: 127.0.1.1 usuario-desktop localhost Solo debemos agregar al final de la linea nuestro dominio para que quede así: 127.0.1.1 usuario-desktop localhost midominio.homelinux.com otrosdominios.com Guardamos, cerramos y si tecleamos en el browser http://midominio.homelinux.com veremos el mismo contenido que cuando escribíamos http://localhost pero ¡OJO!, esto sigue siendo localmente, todavía no podemos verlo desde internet. Otras configuraciones Dirección IP estática Es turno de poner una dirección IP estática (en caso de que nuestra IP sea asignada mediante DHCP) a nuestro servidor. Esto es porque cuando configuremos los clientes de dyndns o no-ip y al abrir los puertos del modem/router requerirá de preferencia, una misma dirección IP privada (más adelante se explican los detalles). Para poner una ip estática editaremos el archivo /etc/network/interfaces y cambiaremos este contenido o similar: #Interfaz eth0 (cableada) auto eth0 iface eth0 inet dhcp por este otro: #Interfaz eth0 (cableada) auto eth0 iface eth0 inet static
  • 12. address 192.168.0.10 #La ip del servidor web (que será estática) broadcast 192.168.0.255 netmask 255.255.255.0 gateway 192.168.0.1 #nuestro router nameserver 192.168.0.1 #En dns dejaremos nuestro router (porque el router ya tiene configurado como resolver nombres), pero estos se pueden cambiar si se tienen algunos como OpenDNS o los de nuestro ISP Y a continuación reiniciamos los servicios: $sudo /etc/init.d/networking restart NOTA: Hay que recordar que si las direcciones ip las genera un servidor DHCP, ya sea en una computadora, un router etc. habrá que sacar la IP estática del servidor web del DHCP para evitar que otra computadora llegue a tomar la ip que sera la del servidor. Configurando clientes DynDns y/o No-ip. En la mayoría de los hogares y con la mayoría de ISPs, una suscripción "casera" asigna una IP pública dinámica cada determinado tiempo, es decir, que cada cierto tiempo se renueva nuestra IP que proporciona conexión a internet y nunca es la misma, así que aquí surge un problema ya que, tenemos nuestro servidor, nuestro dominio, si escribimos en un browser la IP pública, estaríamos viendo el contenido del servidor web, pero el problema es que cada cierto tiempo esa dirección cambiaría y si el día de hoy tenemos una dirección, el día de mañana será otra distinta, es decir, es como si nos estuviéramos mudando diario de casa y las peticiones fueran los recibos de luz, agua, paquetes de entrega, correo, pizzas etc. Para solucionar este problema configuramos un dominio en DynDns o No-ip, con esto ya podemos escribir http://midominio.homelinux.org y acceder al servidor, pero el problema de la IP pública dinámica sigue, ya que hasta este momento nuestro servicio DNS no sabe que IP tenemos. Para esto existe software cliente que se instala y configura en el servidor con el objetivo de enviar información al servicio DNS cada determinado tiempo con nuestra IP pública actual y de esta manera el servicio DNS actualiza la IP y la relaciona con el dominio configurado, y con esto tenemos nuestro dominio accesible desde cualquier parte en cualquier momento.
  • 13. Cliente DynDns (ddclient). El primer paso es instalar el paquete ddclient en nuestro servidor: $sudo aptitude install ddclient Durante la instalación aparecerán varios campos a llenar: Primero seleccionamos el servicio de DNS dinámico, en este caso www.dyndns.com
  • 14. Ahora hay que introducir nuestros hosts o dominios creados previamente en la página de DynDns (midominio.homelinux.com) Después introduciremos el usuario y password de nuestra cuenta de DynDns (con la que nos logueamos en la página). En el último paso de la configuración nos pide la interfaz que usará el servicio de DynDns. Para este particular caso dejaremos en blanco el campo y seguimos. Una vez que se instaló ddclient vamos a editar el archivo /etc/ ddclient.conf y donde dice: use=if, if= lo cambiaremos por use=web, web=checkip.dyndns.com/, web-skip='IP Address' Guardamos y cerramos el archivo. Esto lo hicimos para decir que la detección de la actualización de la ip pública correrá a cargo de "checkip.dyndns.com". En otros casos se podría usar "if" en vez de "web" e indicar una interfaz preferentemente wan, o la interfaz que contenga la dirección ip pública, en este caso usamos “web” porque en nuestro servidor la interfaz eth0 es la única que tenemos cerca y no controla la ip pública, sino la ip de la LAN.
  • 15. Ahora editaremos el archivo /etc/default/ddclient y cambiamos run_daemon para que quede asi: run_daemon="true" y opcionalmente podemos cambiar el tiempo de actualización (en segundos) en la línea: daemon_interval="300" Reiniciamos el servicio ddclient: $sudo /etc/init.d/ddclient restart Hasta este momento la dirección ip pública se actualiza automáticamente. Usando herramienta de configuración de DynDns. NOTA: En ocasiones, la configuración que da ddclient por defecto no funciona, para una mejor configuración podemos usar la herramienta de actualización de DynDns, la cual genera un archivo de configuración básico y funcional para nuestros dominios. Si la configuración que hace la instalación de ddclient no genera problemas puede ignorarse esta sección. Para acceder se puede ir al sitio https://www.dyndns.com/support/tools/clientconfig.html que se encuentra en “Support/Tools/Update Client configurator” y seleccionaremos los dominios que queremos y también seleccionaremos ddclient como formato de configuración, damos click en Generate y veremos un archivo de configuración. Debemos sustituir nuestro actual /etc/ddclient.conf por el que nos presenta DynDns (no olvidar escribir el password en vez de ##YOUR PASSWORD##). El archivo es similar a este: ## ddclient configuration file daemon=600 # check every 600 seconds syslog=yes # log update msgs to syslog mail-failure=mimail@deregistro.com # Mail failed updates to user pid=/var/run/ddclient.pid # record PID in file. ## Detect IP with our CheckIP server use=web, web=checkip.dyndns.com/, web-skip='IP Address' ## DynDNS username and password here
  • 16. login=Miusuario password=##YOUR PASSWORD## ## Default options protocol=dyndns2 server=members.dyndns.org ## Dynamic DNS hosts midominio.homelinux.com, midominio2.homelinux.com #Cambiar por nuestros dominios reales El siguiente link contiene información importante acerca de los clientes de actualización: http://www.dyndns.com/support/clients/ Cliente No-ip (noip2). Instalaremos el paquete noip2: $sudo aptitude install noip2 La configuración durante la instalación será similar a ddclient, es decir, nos hará algunas preguntas, las cuales son: Nombre de usuario Noip (email y password con el que nos logueamos). Frecuencia de actualización de la dirección ip (expresada en minutos).
  • 17. Especificar los hosts o dominios creados en la página de Noip (separados por coma). Especificar la interfaz encargada de la ip pública, en este caso la dejaremos en blanco.
  • 18. Indicar si deseamos que se deshabilite la traducción NAT, diremos que NO. Para cambiar alguna configuración habrá que escribir en consola: $sudo dpkg-reconfigure noip2
  • 19. Abrir y redireccionar puertos. El último paso de este tutorial es abrir y redireccionar puertos de nuestro modem/router. Las aplicaciones y recursos en red funcionan bajo un puerto en específico por defecto, aunque pueden cambiarse, cerrarse, abrirse etc. Para efectos de este tutorial solo tenemos que saber que el puerto 80 es el que utiliza el protocolo HTTP. Si estamos fuera de nuestra LAN, es decir, conectados a otra red con internet, la del vecino, en la escuela, trabajo etc. y tecleamos en el browser http://midominio.homelinux.com no obtendremos respuesta, esto es porque falta abrir y redireccionar el puerto 80 al servidor (192.168.0.10). Sin abrir el puerto del modem/rouer, cuando alguien accesa a nuestro servidor desde internet la petición se hace por el puerto 80, así que la petición viaja a través de internet hasta llegar a nuestro modem/router (192.168.0.1) pero como el puerto 80 está cerrado entonces la petición muere en ese momento y no alcanza a llegar a nuestro servidor. Si el puerto estuviera abierto y direccionado a nuestro servidor la petición se realiza por el puerto 80, viaja a través de internet, al llegar a nuestro modem/router ve el puerto 80 abierto y dice que para seguir la petición debe ir al servidor (192.168.0.10) y entonces, al llegar al servidor este responde de forma adecuada y la petición regresa a su lugar de origen con una respuesta satisfactoria. La manera de abrir puertos de un modem/router o algún dispositivo de red varia de acuerdo a la marca/modelo del mismo, pero de manera básica se puede accesar a través del browser, generalmente el modem/router debe estar conectado físicamente a la computadora que lo accederá. En el browser escribimos la dirección ip o nombre de host del router, para el caso del tutorial es la 192.168.0.1, pero repito, depende mucho del modelo, otras posibles direcciones son: 10.0.0.1 192.168.1.1 192.168.254.1 192.168.254.254 Una vez dentro, la interfaz de navegación será diferente para cada modem, pero en general hay que buscar una sección que hable de puertos, como "Port redirecting", "Port access", "Special applications", "Application and gaming" etc. Una vez que hayamos ubicado esto generalmente debemos indicar:
  • 20. Número de puerto (ahora el 80). • Protocolo al que pertenece (TCP, UDP o ambos). • A donde redireccionarlo (192.168.0.10, nuestro servidor). Puede que tengamos que reiniciar el router, pero una vez hecho, debe de verse nuestro servidor desde internet escribiendo en el browser el nombre de dominio configurado ya sea en DynDns o Noip. Aquí algunos enlaces que explican lo que son los puertos y para que sirven: http://www.iana.org/assignments/port-numbers http://es.wikipedia.org/wiki/Puerto_de_red http://es.kioskea.net/contents/internet/port.php3 Hasta aquí este tutorial. Configuraciones existen muchas y todo depende del caso, además, hay que decir que en este tutorial no se abarca nada de la seguridad, esto es muy importante y lo iremos viendo en tutoriales posteriores.