instalacion de un servidor domestico

13
Notas sobre la instalación de un servidor doméstico 00 Notas sobre la instalación de un servidor doméstico 00 .............................................. 1 Solución ................................................................................................................. 1 Instalación de Apache 1.3 ......................................................................................... 0 Instalación de PHP4.................................................................................................. 0 Configuración del archivo php.ini ............................................................................. 0 Configuración del archivo httpd.conf de Apache ......................................................... 0 El archivo info.php ................................................................................................ 0 Instalación de MySQL ............................................................................................... 0 Instalación de phpMyAdmin ....................................................................................... 0 Configuración del archivo config.inc.php ................................................................... 0 Configurando los usuarios del servidor MySQL ........................................................... 0 Instalación opcional de SMTP ..................................................................................... 0 Configuración del archivo php.ini ............................................................................. 0 Instalación de un servidor de correo saliente SMTP .................................................... 0 Probando el servidor SMTP ..................................................................................... 0 Instalar un servidor doméstico con IP dinámica I ............................................................ 9 Conceptos básicos sobre redes................................................................................. 10 Compartir la conexión a Internet (router doméstico) con GNU/Linux ................................ 11 Ingredientes.......................................................................................................... 11 Configuración de las interfaces de Red ...................................................................... 11 Activa el forwarding (reenvío) .................................................................................. 11 Activa el NAT......................................................................................................... 12 Servidor DHCP y caché DNS .................................................................................... 12 Nombre público para el Router (opcional) .................................................................. 12 Proxy web (opcional) .............................................................................................. 12 Firewall, proteger los equipos de la red local (opcional) ............................................... 12 Servidores en la red local accesibles desde el exterior (opcional) .................................. 12 NAT para IRC y FTP (opcional) ................................................................................. 12 Guardar la configuración de iptables ......................................................................... 13 Referencias ........................................................................................................... 13 Tutorial Servidor doméstico Solución A través de este tutorial instalaremos un servidor de páginas web con base de datos MySQL, administrada desde un entorno web ( phpMyAdmin ) y finalizaremos con la instación opcional de un servidor de correo saliente ( SMTP ) Todo ello para un sistema operativo Windows XP Home. Instalación de Apache 1.3 Descargaremos el Apache en su versión para Windows, para ello entramos en esta página: http://httpd.apache.org/dist/httpd/binaries/win32/ . En la cual buscamos la descarga apache_1.3.28-win32-x86-no_src.msi, descargamos y ejecutamos el instalador. En una pantalla se nos piden: Network Domain, ponemos: 127.0.0.1 Server name, ponemos: 127.0.0.1 Administrator´s Email Address, se refiere al Correo-e del administrador, puedes poner el que quieras.

Upload: universidad-tesla

Post on 28-Mar-2016

223 views

Category:

Documents


6 download

DESCRIPTION

La instalación de un servidor en nuestras computadoras viejas es un emprendimiento que muchos de nosotros nos gustaría afrontar.

TRANSCRIPT

Page 1: Instalacion de un servidor domestico

Notas sobre la instalación de un servidordoméstico 00

Notas sobre la instalación de un servidor doméstico 00 ..............................................1Solución ................................................................................................................. 1Instalación de Apache 1.3 ......................................................................................... 0Instalación de PHP4.................................................................................................. 0

Configuración del archivo php.ini ............................................................................. 0Configuración del archivo httpd.conf de Apache......................................................... 0El archivo info.php ................................................................................................ 0

Instalación de MySQL ............................................................................................... 0Instalación de phpMyAdmin....................................................................................... 0

Configuración del archivo config.inc.php ................................................................... 0Configurando los usuarios del servidor MySQL........................................................... 0

Instalación opcional de SMTP..................................................................................... 0Configuración del archivo php.ini ............................................................................. 0Instalación de un servidor de correo saliente SMTP .................................................... 0Probando el servidor SMTP ..................................................................................... 0

Instalar un servidor doméstico con IP dinámica I ............................................................ 9Conceptos básicos sobre redes................................................................................. 10

Compartir la conexión a Internet (router doméstico) con GNU/Linux ................................ 11Ingredientes.......................................................................................................... 11Configuración de las interfaces de Red ...................................................................... 11Activa el forwarding (reenvío).................................................................................. 11Activa el NAT......................................................................................................... 12Servidor DHCP y caché DNS .................................................................................... 12Nombre público para el Router (opcional) .................................................................. 12Proxy web (opcional) .............................................................................................. 12Firewall, proteger los equipos de la red local (opcional) ............................................... 12Servidores en la red local accesibles desde el exterior (opcional) .................................. 12NAT para IRC y FTP (opcional) ................................................................................. 12Guardar la configuración de iptables ......................................................................... 13Referencias ........................................................................................................... 13

Tutorial Servidor doméstico

Solución

A través de este tutorial instalaremos un servidor de páginas web con base de datosMySQL, administrada desde un entorno web ( phpMyAdmin ) y finalizaremos con lainstación opcional de un servidor de correo saliente ( SMTP ) Todo ello para un sistemaoperativo Windows XP Home.

Instalación de Apache 1.3

Descargaremos el Apache en su versión para Windows, para ello entramos en estapágina: http://httpd.apache.org/dist/httpd/binaries/win32/. En la cual buscamos ladescarga apache_1.3.28-win32-x86-no_src.msi, descargamos y ejecutamos elinstalador.En una pantalla se nos piden:

Network Domain, ponemos: 127.0.0.1Server name, ponemos: 127.0.0.1Administrator´s Email Address, se refiere al Correo-e del administrador, puedesponer el que quieras.

Page 2: Instalacion de un servidor domestico

Seleccionamos la opción: Run when started manually, only for me y pulsamosNext...Por defecto el Apache se instala en: C:\Archivos de programa\ApacheGroup\Apache\.Para arrancar el Apache debes entrar en Inicio - Todos los programas - ApacheHTTP Server - Start Apache in Console. Una vez arrancado podrás ver una ventanade MSDOS, para cerrar el Apache cierra esta ventana.

Instalación de PHP4

Antes de nada asegúrate de que el Apache está cerrado.Instalaremos la versión 4.3.3, el archivo en cuestión: php-4.3.3-Win32.zip, localizadoen: http://www.php.net/get/php-4.3.3-Win32.zip/from/a/mirror. Iniciamos la dercarga yguardamos en el escritorio para posteriormente descomprimirlo y copiar los archivos a lacarpeta que especificamos a continuación. Una vez descargado, creamos en el disco localC:\ la carpeta php, que quedaría C:\php\, ahí copiamos los archivos.

Entramos en C:\php\ y copiamos el archivo php4ts.dll a la carpetaC:\WINDOWS\System32\, igualmente cogemos los archivos de la carpetaC:\php\dlls\ y los copiamos a C:\WINDOWS\System32\.

Configuración del archivo php.ini

El siguiente paso es configurar el archivo php.ini. Entramos en C:\php\ y buscamos elarchivo php.ini-dist el cual lo renombramos a php.ini. Editamos este archivo con elmismo Bloc de notas o para una mejor búsqueda con el WordPad, si dispones de el.Búscamos la linea register_globals = Off, ahí sustituimos Off por On.Indicamos a PHP dónde se guardan las extensiones. Buscamos extension_dir y leponemos la carpeta que contiene los archivos php_xxx.dll, que por defecto es la carpetaC:\php\extensions\.

Debe quedar extension_dir = c:/php/extensions/, fíjate en la inclinación de las barras.Vamos a activar las extensiones, para lo cual buscamos Windows Extensions para elloles quitamos el ; de delante.Debe quedar:

extension=php_bz2.dllextension=php_cpdf.dllextension=php_crack.dllextension=php_curl.dllextension=php_db.dllextension=php_dba.dllextension=php_dbase.dllextension=php_dbx.dllextension=php_domxml.dllextension=php_exif.dllextension=php_fdf.dllextension=php_filepro.dllextension=php_gd2.dllextension=php_gettext.dllextension=php_hyperwave.dllextension=php_iconv.dll;extension=php_ifx.dllextension=php_iisfunc.dllextension=php_imap.dll

Page 3: Instalacion de un servidor domestico

extension=php_interbase.dllextension=php_java.dllextension=php_ldap.dllextension=php_mbstring.dll;extension=php_mcrypt.dllextension=php_mhash.dllextension=php_mime_magic.dllextension=php_ming.dllextension=php_mssql.dllextension=php_msql.dll;extension=php_oci8.dllextension=php_openssl.dll;extension=php_oracle.dllextension=php_pdf.dllextension=php_pgsql.dllextension=php_printer.dllextension=php_shmop.dll;extension=php_snmp.dllextension=php_sockets.dll;extension=php_sybase_ct.dllextension=php_w32api.dllextension=php_xmlrpc.dllextension=php_xslt.dllextension=php_yaz.dllextension=php_zip.dll

Si te fijas algunas tienen el ";" delante, ya que algunas extensiones requieren delibrerias que no estan disponibles en esta distribución de PHP. Por lo que no lasactivamos.

Para hacer pruebas con Upload de archivos via HTTP, vamos a indicar el directorio dondelos archivos se almacenarán temporalmente. Primero creamos en C:\php\ una carpetallamada uploads, que quedaría C:\php\uploads\. En segundo lugar buscamosupload_tmp_dir y le damos la ruta de esta carpeta que hemos creado.

La linea quedaría: upload_tmp_dir = c:/php/uploads/.Ahora para trabajar con sesiones creamos dentro de C:\php\ otra carpeta llamadasessions, que quedaría C:\php\sessions\. Buscamos session.save_path, yeditamos la linea de tal forma que quede:

session.save_path = c:/php/sessions/.

Cerramos el archivo php.ini y guardamos los cambios, posteriormente lo copiamos a lacarpeta C:\WINDOWS\.

Configuración del archivo httpd.conf de Apache

El siguiente paso es decirle a Apache que tenemos el PHP.Entramos en C:\Archivos de programa\Apache Group\Apache\conf\ y localizamosel archivo httpd.config, lo abrimos con el Bloc de notas o con el WordPad, para editarlo.Buscamos Dynamic Shared Object (DSO) Support, que es donde se cargan losmódulos, hasta llegar a unas lineas similares a estas:

# Example:# LoadModule foo_module modules/mod_foo.so#

Page 4: Instalacion de un servidor domestico

Debajo de # añadimos esta linea: LoadModule php4_module c:/php/sapi/php4apache.dll.

Tiene que quedar asi:

# Example:# LoadModule foo_module modules/mod_foo.so#LoadModule php4_module c:/php/sapi/php4apache.dll

Ahora buscamos ClearModuleList y nos aparece:

ClearModuleList#AddModule mod_vhost_alias_c

Lo editamos de tal forma que quede:

ClearModuleListAddModule mod_php4.c#AddModule mod_vhost_alias.c

El siguiente paso es para que al entrar en un directorio de nuestro servidor nos ejecuteel archivo predeterminado. Se ejecutarán por orden; si no encuentra el primero, pasa alsegundo; si no está el segundo, pasa al tercero, y así sucesivamente hasta que si noencuentra ninguno entonces da error.

Buscamos IfModule mod_dir.c, y nos aparece estas lineas:

<IfModule mod_dir.c>DirectoryIndex index.html</IfModule>

La linea central la sustituimos por:

DirectoryIndex index.html index.htm index.php index.php3 index.phtml

De esta forma le decimos que busque primero, como puedes ver, el index.html si no seencuentra pasa a buscar index.htm, index.php...

Ahora a continuación de la linea central colocamos:

AddType application/x-httpd-php .php .php3 .phtmlAddType application/x-httpd-php-source .phps

Estas hacen que si queremos mostrar el código fuente, se mostrara en color el códigoPHP.

Todo quedaría de esta forma:

<IfModule mod_dir.c>DirectoryIndex index.html index.htm index.php index.php3 index.phtmlAddType application/x-httpd-php .php .php3 .phtmlAddType application/x-httpd-php-source .phps</IfModule>

Ahora en C:\ creamos una carpeta llamada Apache donde dentro de esta crearemosotra www, de tal forma que quede; C:\Apache\www\, donde en la carpeta wwwcolocaremos las páginas webs que creemos.

Page 5: Instalacion de un servidor domestico

Posteriormente de nuevo en httpd.config, buscamos DocumentRoot y nos aparece:

DocumentRoot "C:/Archivos de programa/Apache Group/Apache/htdocs"

Por lo que le vamos a decir a Apache dónde guardamos nuestras páginas webs, que seráen la carpeta www del directorio Apache de C:\, como hemos dicho.

Para ello, lo escribimos en la linea que nos apareció en la búsqueda de DocumentRoot:

DocumentRoot "C:/Apache/www/"

Ya podemos cerrar httpd.config guardando los cambios.

El archivo info.php

Abrimos el Bloc de notas y escribimos:

<?phpinfo();?>

Pulsamos en Archivo - Guardar como..., en Nombre ponemos info.php y en Tiposeleccionamos Todos los archivos. Lo guardamos dentro de la carpeta queanteriormente hemos creado www, localizada en C:\Apache\www\.

Ahora arrancamos el Apache, para ello entramos en Inicio - Todos los programas -Apache HTTP Server - Start Apache in Console, y nos aparece la ventana deMSDOS, la dejamos abierta. Posteriormente en la barra de direcciones del navegadorescribes: http://localhost/info.php o http://127.0.0.1/info.php

A través de esto visualizamos una página de información de php, con el logo. Estapágina nos informa del PHP que tenemos instalado.

Si sale esta página es que todo está bien.

Instalación de MySQL

Vamos a hacer la instalación de la versión 4.0.16 o posterior, entramos enhttp://www.mysql.com/, posteriormente entramos en el apartado Downloads ybuscamo MySQL 4.0. Una vez dentro de esta página vamos bajando hasta llegar aWindows downloads, ahí podemos ver Windows 95/98/NT/2000/XP/2003,pulsamos en Pick a mirror. Dentro de esta página seleccionamos el servidor HTTP quenos interese y pulsamos en HTTP, e iniciamos la descarga. Le damos a guardar y loubicamos en el escritorio.

Mientras se descarga vamos a crear una nueva carpeta llamada mysql dentro deldirectorio php de C:\, osea debe quedar: C:\php\mysql\.

Una vez finalizada la descarga, lo descomprimimos. Posteriormente abrimos la carpetaque hemos descomprimido y buscamos el Setup, e iniciamos la instalación. Cuando sepregunte la ruta de la instalación, aparece por defecto: C:\mysql, esto lo sustituimos porC:\php\mysql para realizar la instalación en la carpeta que hemos creado.

Page 6: Instalacion de un servidor domestico

Finalizada la instalación, entramos en C:\php\mysql\bin\, y localizamos el archivowinmysqladmin.exe lo ejecutamos, doble click. Una vez ejecutado nos pide un nombrede usuario y contraseña, introducimos, por ejemplo: usuario y clave.

Ahora cerramos todo y reiniciamos WINDOWS, para tenerlo todo un poco más claro. Unavez reiniciado fíjate que durante unos segundos aparece la pantalla de MySQL, esto esdebido a que por defecto dentro de Inicio - Todos los programas - Inicio, se hacreado el acceso directo WinMySQLadmin, lo dejamos ahí, ya sabes que cuandoenciendas el ordenador se arranca automáticamente MySQL.

Instalación de phpMyAdmin

phpMyAdmin es una utilidad que nos sirve para interactuar con una base de datos, eneste caso MySQL, desde un entorno web. Está escrita en PHP, por lo que necesitamostener instalado y arrancado Apache y MySQL para poder trabajar con ella.

En primer lugar vamos a crear una nueva carpeta en www del directorio Apache deldisco local C:\ la llamaremos phpmyadmin por lo que la ruta sería:C:\Apache\www\phpmyadmin\. En esta carpeta recién creada vamos a copiar losarchivos que descargaremos a continuación.

Para la descarga de archivos entramos en: http://www.phpmyadmin.net/ y accedemos aDownloads, aquí localizamos la descarga phpMyAdmin-2.5.4-php.zip. Seleccionamosel servidor para la descarga y guardamos en el escritorio. Una vez finalizada la descargadescomprimimos los archivos y los copiamos en la carpeta phpmyadmin queanteriormente hemos creado, C:\Apache\www\phpmyadmin\.

Configuración del archivo config.inc.php

Entramos en C:\Apache\www\phpmyadmin\ y localizamos en archivoconfig.inc.php lo abrimos con nuestro editor de texto para editar lo siguiente:Buscamos la linea $cfg['PmaAbsoluteUri'] = ''; y escribimos de tal forma de que estalinea quede así:

$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';Ahora buscamos la linea $cfg['blowfish_secret'] = ''; y ponemos, una cadena decaracteres cualquiera, que servirá de semilla para la encriptación de contraseñas al usarla autentificación con cookies:

$cfg['blowfish_secret'] = 'puedes poner lo que quieras';Cerramos y guardamos los cambios.

Configurando los usuarios del servidor MySQL

Nuestro usuario de MySQL por defecto es root sin password. Con esto podría valernospara hacer pruebas utilizando MySQL en nuestro host local, pero vamos a crear unusuario y borrar aquellos que no nos interese, para de esta forma disponer de un nivelde seguridad aceptable.

Antes de nada arrancamos Apache y MySQL. Escribimos en la barra de direcciones denuestro navegador: http://localhost/phpmyadmin/ y seguimos los siguientes pasos:Pinchamos en el enlace Privilegios y en la siguiente pantalla le damos a Agregarnuevo usuario.

En la pantalla que entramos se nos pide:

Page 7: Instalacion de un servidor domestico

Nombre de usuario: aquí escribimos usuario.

Servidor: Podemos seleccionar el campo Cualquier servidor ( Si seleccionamos estaopción el campo de texto queda vacio, no se pone nada ) para entrar desde cualquierordenador ó seleccionamos Local ( En este caso ponemos en el campo de textolocalhost, si no aparece automáticamente ) para entrar únicamente desde nuestroordenador, donde tenemos instalado MySQL.

Contraseña: aquí escribimos clave.

Re-escriba: aquí re-escribimos clave.

Privilegios globales: Le damos todos los permisos y privilegios, marcando todas lascasillas que aparecen.

Pulsamos Continúe.

Ahora, en la pantalla que entramos, pulsamos en Privilegios de nuevo, y en la páginaque nos dirige marcamos aquellos usuarios que queremos eliminar. En la opción Retirea los usuarios seleccionados marcamos la casilla Borre a los usuarios y vueva acargar los privilegios posteriormente. A continuación pulsamos Continúe

Por último en la pantalla que entramos, al final de la página, abajo del todo aparece unaNota, leela y pulsa el enlace que contiene la nota: Cargar la página de privilegiosnuevamente. Nos dirige a una página que nos dara un error, esto es debido a quetenemos que editar de nuevo el archivo config.inc.php, cierra el navegador, y apaga elservidor Apache.Entramos otra vez en C:\Apache\www\phpmyadmin\ y localizamos en archivoconfig.inc.php lo abrimos con nuestro editor de texto para editarlo de nuevo.Buscamos las lineas:

$cfg['Servers'][$i]['auth_type']$cfg['Servers'][$i]['user']$cfg['Servers'][$i]['password']

En la primera linea podemos poner config para que no nos pida contraseña al entrar (Sólo si somos el único usuario que va a disponer de este phpMyAdmin ), o si queremosque nos la pida ponemos http para autentificación HTTP o cookie para autentificación ynavegación con cookies. Esta última, cookie, es la más recomendada.

En la segunda linea ponemos el nombre de usuario que hemos creado: usuario.

Por último en la tercera linea colocamos la contraseña creada: clave.

De tal forma que quede:$cfg['Servers'][$i]['auth_type'] = 'cookie';

$cfg['Servers'][$i]['user'] = 'usuario';

$cfg['Servers'][$i]['password'] = 'clave';

Cerramos y guardamos los cambios.

Arrancamos Apache y MySQL, accedes a la dirección http://localhost/phpmyadmin/,si pusistes config, entraras diréctamente al panel de administración. En cambio sipusistes http o cookie se te pedirá el usuario y contraseña, posteriormente te redirige

Page 8: Instalacion de un servidor domestico

al panel de administración. El usuario y contraseña serán las que pusiste al crear elusuario: usuario y clave.

En nuestros script que usen MySQL usaremos el usuario y contraseña que hemos creado,de tal forma que al hacer la conexión a MySQL debe quedar algo similar a esto:

<?phpmysql_connect("127.0.0.1","usuario","clave");?>

Si nos decidimos por instalar un portal prefablicado como PHP Nuke o un foro, ocualquier aplicación en la que nos solicitan un host, usuario y contraseña, los datos quedeberemos indicar son esos tres: 127.0.0.1 o localhost como host, usuarioclavecomo contraseña. como usuario yHasta aquí si todo lo hemos realizado corréctamente, ya tenemos en nuestra máquinaun completo servidor de páginas webs, con bases de datos MySQL, administrada desdeun entorno web, phpMyAdmin. Osea un todopoderoso conjunto de herramientas para laprogramación de aplicaciones webs.

Instalación opcional de SMTP

Si queremos que nuestras páginas PHP envien correos electrónicos, utilizando la funciónmail() para sistemas de recomendaciones, contacto u otras aplicaciones de correosaliente. Podemos instalar un servidor SMTP, con estos servidores podremos enviarcorreos desde PHP, pero no podremos recibir ya que se tratan de servidores SMTP (Enviar ) y no POP/IMAP ( Recibir ).

Configuración del archivo php.ini

Vamos a abrir con nuestro editor de texto el archivo php.ini localizado en C:\php\,éste viene por defecto configurado para un servidor de correo instalado en el localhost,pero se le puede cambiar la variable sendmail_from, que se encarga de poner elremitente que le aparecerá a la persona que recibe el correo si no lo especificamos enlas cabeceras, en el campo FROM, de la función mail() de nuestras páginas PHP.Buscamos las lineas:

[mail function]; For Win32 only.SMTP = localhost

; For Win32 only.sendmail_from = [email protected]

Podemos cambiar sendmail_from colocando el remitente que quieras, por ejemplo:[email protected] tal forma que quede:

[mail function]; For Win32 only.SMTP = localhost

; For Win32 only.sendmail_from = [email protected]

Cerramos, guardamos los cambios y copiamos el archivo, php.ini, a C:\WINDOWS\ denuevo, lo sobreescribimos.

Page 9: Instalacion de un servidor domestico

Instalación de un servidor de correo saliente SMTP

Un buen servidor sería el QK SMTP Server lo encontramos en http://www.qksoft.com/,descargar en Download now y empezar la instalación. No hay que modificar nada eneste programa, sólo hay que tenerlo abierto y el Apache arrancado y ya podemos enviarcorreos mediante PHP.

Probando el servidor SMTP

Abrimos el Bloc de notas y escribimos:

<?php$sfrom="[email protected]"; //Remitente$sdestinatario="[email protected]"; //Destinatario$ssubject="Test SMTP"; //Asunto$shtml="El servidor de correo SMTP funciona correctamente."; //Mensaje$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";$sheader=$sheader."Mime-Version: 1.0\n";$sheader=$sheader."Content-Type: text/html";mail($sdestinatario,$ssubject,$shtml,$sheader);?>

Cambias [email protected] que será el que aparece como remitente del correo [email protected] que será el buzón de correo donde llegara este Test SMTP.

Pulsamos en Archivo - Guardar como..., en Nombre ponemos TestSMTP.php y enTipo seleccionamos Todos los archivos. Lo guardamos dentro de la carpeta www,localizada en C:\Apache\www\.

Arranca el Apache y abre el programa SMTP que hemos instalado, en este caso QK SMTPServer, entra en Inicio - Todos los programas - QK SMTP Server - QK SMTPServer...

En la barra de direcciones del navegador escribes: http://localhost/TestSMTP.php ohttp://127.0.0.1/TestSMTP.php nada más entrar en esta página se ejecuta el script y seenvia el correo. Posteriormente dirigete al buzón de correo que pusiste en$sdestinatario, para ver si a llegado el correo con éxito. Si actualizas la página seenvia de nuevo el correo.

Fuente http://www.diginota.com

Instalar un servidor doméstico con IP dinámica I

Dom, 03/08/2009 - 03:18 — obelix

¿Qué es un servidor?Normalmente, para conectarnos a Internet utilizamos un navegador web (Firefox, Explorer, Konqueror,Opera,... ), una aplicación informática, denominada cliente, que accede a otra aplicación [en nuestro casoApache], la cual devuelve en código html la página que visualizará el propio navegador. A la aplicacióninformática que realiza una tarea para otra se denomina Servidor: Apache es nuestro Servidor Web.

En un mismo ordenador, pueden instalarse el navegado web y el servidor; pero lo habitual, es que elnavegador y cliente estén en ordenadores diferentes conectados mediante Internet. En la imagen anterior,aparece una máquina "enorme", utilizada propablemente por las empresas de alojamiento web.

Page 10: Instalacion de un servidor domestico

Pero, para tener nuestro propio servidor no requerimos comprarnos una de éstas, de hecho mis servidores hansido distintos ordenadores que me disponía a reciclar (incluso alguno me he encontrado en la basura).

La configuración más elemental para tener nuestro servidor web doméstico, es instalar el servidor web(Apache) en nuestro ordenador habitual. Esto para mí tiene un gran problema, y es que si quiero dar un buenservicio debo estar conectado las 24 horas del día(aunque la información sea una chorrada, por lo menos queel cliente siempre pueda acceder a la web), lo cual implica pérdida de calidad de vida [No sé si por lacontaminación eléctrica o electromagnética, no se si por el ruido continuo del ventilador... pero lo cierto es queen los primeros días que probé está opción el ambiente en la habitación no me agradaba].

Hasta el extremo, que te aconsejo que si no dispones de un trastero, garage o similar, que te permita instalarel servidor fuera de las zonas habitables, recurras a los servicios de una empresa de alojamiento web.

Conceptos básicos sobre redes

Mi red doméstica está compuesta por dos ordenadores de escritorio, un portátil viejo que hace las funciones deservidor y el router (Zyrex 660), él cual posee cuatro entradas, suficiente para mis necesidades.

En ocasiones anteriores use otros ordenadores de sobremesa como servidores, al cambiarme a un portátilespero reducir el consumo eléctrico y los efectos de las caídas de tensión tan habituales por estos lares.

Antes, tuve un router con una única entrada de red, por lo que precise comprar un switch, al cual seconectaban todos los dispositivos de la red: router, ordenadores, servidor,...

Cuando un navegador, sito en un ordenador remoto solicita información a mi servidor, este accede a mi red através del router, el cual dirige la información al servidor (y no otro).Este devuelve una determinadainformación en código html al ordenador cliente, allí el programa en cuestión interpreta el mismo y presenta elmismo.

Para que esto sea posible, el primer requisito es tener ambos una dirección electrónica (tener Internet). Losordenadores en red se identifican con un grupo de cuatro cifras denominado IP [Protocolo de Internet] (porejemplo 79.151.42.41), de esta forma el servidor web puede enviar el código html al ordenador adecuado.

La información viaja en paquetes de datos de una red a otra hasta alcanzar los destinos adecuados. En estainformación se específica la IP del ordenador cliente y del servidor. Cuando una zona de la red "cae", a veceses posible encontrar caminos alternativos para conectar dos ordenadores situados en puntos diferentes delplaneta.Además, es necesario que el ordenador cliente especifique el tipo de servicio que requiere (Web, correoelectrónico, Ftp, Amule, bittorrent, juegos,...), con lo que a la información enviada se adjunta el puerto, unnúmero que identifica al servicio (Por ejemplo, para la Web, es el puerto 80).

Mi operador de telefonía me asigna una dirección IP pública, pero el desconoce si tengo uno o 500 ordenadoresconectados. Todos mis ordenadores deben tener una IP que los caracteriza, en realidad se le asigna una IPprivada y el router funciona parecido a una centralita de teléfonos que distribuye la información según seprecise.

Las IP privadas de nuestros ordenadores puede ser asignada de forma manual o de forma dinámica. En micaso, todos los dispositivos tienen una IP asignada de forma dinámica (por el propio router) menos el servidorque se lo he asignado de forma manual.

Como mi router por defecto, tiene activado el servicio para asignar las IP dinámicamente (DCHP:ON), ycomienza a realizarlo a partir del 192.168.1.33 (esto es, al primer ordenador que solicite el servicio le asignaesta IP, al siguiente sería el 192.168.1.34), voy a utilizar para mi servidor una IP inferior (p.ej. 192.168.1.10)para evitar conflictos...

El siguiente paso es redireccionar (abrir, mapear) el puerto 80 hacia nuestro ordenador. A veces, esto no essuficiente (así me ha ocurrido en tres ocasiones, con tres router diferentes).

Por razones de seguridad, los router tienen bloqueados determinados puertos con filtros especiales paragarantizar que no recibimos ataques indeseados. Esto es, si alguien trata de acceder a nuestra red, el routerbloquea el acceso. Para poder prestar el servicio Web, es necesario habilitar dicho servicio y luegoredireccionarlo hacia nuestro servidor web.Esto depende del router, en el router Speedtouch, pude hacer ambas cuestiones via web; pero con los routerZyxel, la modificación de los filtros he debido realizarlo via telnet.

Page 11: Instalacion de un servidor domestico

Compartir la conexión a Internet (router doméstico) conGNU/Linux

Dom, 2005-11-13 02:19 — david

Esta receta explica cómo configurar un ordenador con Debian (también Ubuntu ysucedáneos) para que sirva como router de tu pequeña red doméstica. La idea es

que varios equipos puedan salir a Internet por medio de una sola conexión y con una única IPpública. Una vez consigas esto, hay varias cosas más que puedes hacer con él...

Ingredientes

• Un ordenador:Este equipo hará de < href="http://es.wikipedia.org/wiki/Router">router. Sirve cualquier cosa mayorde un Pentium. Un K6 o un PII con 64 MB de RAM es más que suficiente para los servicios básicos. Esuna buena oportunidad para reciclar tu viejo sobremesa, una vez instalado le sobre el monitor,teclado, ratón, CD-ROM y tarjeta de sonido; la de vídeo déjala puesta por si acaso.

• iptables:Herramienta de administración de filtrado de paquetes IP.

• Un Linux "de los nuevos":Como vas a utilizar iptables necesitas un Linux-2.6 o superior (aunque también serviría un 2.4).

• dnsmasq >= 2.46:Es un servidor DHCP y caché DNS muy versátil y fácil de configurar.

Configuración de las interfaces de Red

Ese ordenador "de desecho" del que hablaba antes lo llamaremos a partir de ahora con el original nombre deRouter. Bien, Router debe tener, al menos, dos interfaces de red:

• Una conexión a Internet (eth0).Debe ser algún tipo de conexión a Internet, que puede ser RTC, ADSL, cable-modem, etc.Supondremos para esta receta que usas un modem ADSL con conexión Ethernet.Conste que podría ser RDSI, ppp o cualquier otro tipo de interfaz de red sin que ello afecte al restodel procecimiento. Supondremos que esta interfaz ya la tienes configurada conforme a lasinstrucciones de tu ISP.

• Una conexión a tu red local (eth1):Será una tarjeta de red Ethernet 10/100. Esto permitirá que puedas enchufarle un conmutador yconectar "cienes y cienes" de ordenadores si quieres.Esta interfaz debes configurarla de forma estática, con una dirección IP privada, por ejemplo192.168.0.1.

Aquí puedes ver un fichero completo /etc/network/interfaces para el caso en que eth0 se configure por DHCPcontra tu ISP.

auto loiface lo inet loopback

auto eth0iface eth0 inet dhcp

auto eth1iface eth1 inet staticaddress 192.168.0.1netmask 255.255.255.0broadcast 192.168.0.255

Activa el forwarding (reenvío)

Normalmente un ordenador conectado a una red TCP/IP descarta todos los paquetes IP que le llegan pero novan dirigidos a él, es decir, aquellos cuya direcci IP no corresponde a ninguna de las interfaces de la máquina.Sin embargo, un router debe tratar paquetes IP que no son para él. Para conseguir esto debes activarloexplícitamente con:Router:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Page 12: Instalacion de un servidor domestico

O mejor aún, como queremos que ocurra la siguiente vez que arranque el equipo, modifica el fichero /etc/sysctl.conf para que quede así:net.ipv4.ip_forward=1

Activa el NAT

El NAT es una técnica que permite que varios ordenadores puedan acceder a Internet aunque sólo se dispongade una IP pública. El NAT se encarga de "traducir" las direcciones IPs privadas por la única pública al enviar yrealiza el proceso inverso al recibir las respuestas. Para activarlo escribe:Router:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Con esto, los equipos conectados a la interfaz eth1 de Router ya tienen conexión a Intenet, aunque sus IPshabría que configurarlas "a mano" y no son capaces de resolver nombres. Vamos a ver cómo solucionar esasdos cuestiones.

Servidor DHCP y caché DNS

Una vez instalado dnsmasq, haz las siguientes modificaciones en el fichero /etc/dnsmasq.conf:listen-address=192.168.0.1bind-interfacesdhcp-range=192.168.0.2,192.168.0.254,12h

Si usas una versión de dnsmasq más antigua quizá tengas que poner tambiéndhcp-option=3,192.168.0.1dhcp-option=6,192.168.0.1

Este fichero está muy bien documentado con comentarios e incluye ejemplos de todas las posibilidades.Después de realizar las modificaciones reinicia el servicio con:Router:~# /etc/init.d/dnsmasq restartRestarting DNS forwarder and DHCP server: dnsmasq.

Simplemente con eso, dnsmasq te da los siguientes servicios:• Si configuras los clientes de tu red local para usar DHCP obtendrán una IP del rango

192.168.0.[2-254]• Se configuran automáticamente para usar tu Router como pasarela y como DNS.• Router cachea todas las peticiones DNS que realicen los clientes y las redirije a los servidores DNS

configurados en el /etc/resolv.conf de Router.• Dispone de DNS dinámico local. Si los clientes especifican un nombre al hacer su petición DHCP, el

resto de los clientes podrán usar ese nombre para resolver su IP.

Además dnsmasq permite asignar IPs fijas (del rango) y nombres dependiendo de la MAC y otras muchasopciones avanzadas.

Nombre público para el Router (opcional)

Puedes configurarlo siguiendo la receta de DNS dinámico público.

Proxy web (opcional)

Por hacer. Una receta sobre squid?

Firewall, proteger los equipos de la red local (opcional)

Ver la Receta de iptables

Servidores en la red local accesibles desde el exterior (opcional)

Ver la Receta de iptables

NAT para IRC y FTP (opcional)

Por hacer. En la receta de iptables?

Page 13: Instalacion de un servidor domestico

Guardar la configuración de iptables

Para guardar las reglas activas (las que has ido poniendo hasta ahora) ejecuta:Router:~# iptables-save > /etc/iptables.up.rules

Y ahora hay que hacer que esa configuración se cargue automáticamente al levantar la interfaz de red principal(la externa). Para ello, edita de nuevo el fichero /etc/network/interfaces para que la entrada de eth0 quedeasí:auto eth0iface eth0 inet dhcppre-up iptables-restore < /etc/iptables.up.rules

Referencias

• Cómo Balancear conexiones a Internet• Enrutado en base a marcas de paquetes. Iproute + Iptables• Ponle un Firewall a tu Linux. Iptables• iptables y NAT para vagos• The Perfect Setup - Debian Sarge (3.1)