Source: https://marnigroedu.wordpress.com/2010/05/17/curso-administracion-y-hosting/
Timestamp: 2018-03-19 20:24:23+00:00

Document:
Curso Administracion y Hosting | Linux
Inicio > Hosting	> Curso Administracion y Hosting
Curso Administracion y Hosting
mayo 17, 2010 marnigroedu	Deja un comentario Go to comments
1 – Dhcp Server
2 – Dns Server (Teoria)
2.3 Terminologia Basica
2.4 Arquitectura Dns
2.5 El Proceso de Resolucion de Nombres
2.6 Mecanismo de cache
2.7 Correo electronio y resolucion de nombres
2.8 Tipos de registro en un servidor de nombres
2.9 Bind, “el” servidor de nombres
2.10 Uso Dns en una red local
2.11 Problemas del Dns
2.13 Lectura Adicional
3 – Ejercitacion
3.1 nslookup
4 – Configuracion del servidor dns
4.1 Dns Cache Local
4.2 Dns Cache local con una zona en nuestra lan 5- Extra Configuracion Y Teoria
5.1 Entendiendo el Sistema de Nombres de Dominios (DNS)
5.2 El servidor de nombres DNS BIND
5.3 Instalacion y control del servidor DNS bind
5.4 Configurando el servidor DNS bind9
5.5 Configurando los clientes DNS
5.6 Configuraciones de Seguridad en BIND96 – Instalacion de una Wiki
6.1 Instalacion
6.2 Post Instalacion
7- Instalacion LAMP
7.1 Que es LAMP
7.2 Instalacion
7.3 Configuracion Basica de webs
2 – DNS Server
Para eso se utiliza en los clientes el archivo /etc/resolv.conf
2.2 Usos:
Resolución de nombres: Dado el nombre completo de un host (por ejemplo http://www.rinorondan.com.ar), obtener su dirección IP (en este caso, 190.210.76.109 ).
2.3 Terminología básica
Fully Qualified Host Name (FQHN): Es el “nombre completo” de un host. Está formado por el hostname, seguido de un punto y su correspondientenombre de dominio. Por ejemplo, “blog.smaldone.com.ar“
Domain Name: El nombre de dominio es una sucesión de nombres concatenados por puntos. Algunos ejemplos son “rinorondan.com.ar“, “com.ar” y “ar“.
2.4 Arquitectura del DNS
El sistema está estructurado en forma de “árbol“. Cada nodo del árbol está compuesto por un grupo de servidores que se encargan de resolver un conjunto de dominios (zona de autoridad). Un servidor puede delegar en otro (u otros) la autoridad sobre alguna de sus sub-zonas (esto es, algún subdominio de la zona sobre la que él tiene autoridad). Un subdominio puede verse como una especialización de un dominio de nivel anterior. Por ejemplo, “rinorondan.com.ar” es un subdominio de “com.ar“, que a su vez lo es del TLD “ar“.
Los servidores con autoridad sobre los TLD son los llamados “root servers” (o “servidores raíz“) del sistema. Estos son fijos, ya que rara vez cambian, siendo actualmente 13.(ver Link)
En tanto que los servidores con autoridad sobre “com.ar” son:
Podemos ver que ns.uu.net, ns1.retina.ar, athea.ar y ctina.ar tienen autoridad tanto sobre “com.ar” como sobre “ar“.
2.5 El proceso de resolución de nombres
Primarios: Guardan los datos de un espacio de nombres en sus ficheros
Secundarios: Obtienen los datos de los servidores primarios a través de una transferencia de zona.
El servidor de nombres inicial consulta a uno de los servidores raíz (cuyadirección IP debe conocer previamente).
Ilustremos esto con un ejemplo concreto. Supongamos que el navegador necesita resolver el nombre “blog.smaldone.com.ar“.
El sistema tiene configurado el servidor de nombres 200.49.156.3(perteneciente al proveedor argentino Fibertel). Por lo tanto envía a éste el requerimiento de resolver “blog.smaldone.com.ar“.
198.41.0.4 le informa que el servidor con autoridad sobre “ar” es athea.ar, cuya dirección IP es 200.16.98.2. (En realidad, informa la lista de todos los servidores con tal autoridad, pero para simplificar el ejemplo tomaremos solamente uno.)
200.49.156.3 envía nuevamente el requerimiento a athea.ar (el cual, recordemos, también tiene autoridad sobre “com.ar“).
athea.ar responde que la autoridad sobre smaldone.com.ar la tienens1.mydomain.com cuya dirección IP es 64.94.117.213.
ns1.mydomain.com informa que la dirección IP de “blog.smaldone.com.ar” es 208.97.175.41.
2.6 Mecanismos de caché
2.7 Correo electrónico y resolución de nombres
El servidor del emisor solicita al DNS (de acuerdo al mecanismo analizado anteriormente), la entrada MX del dominio del receptor del mensaje. MX significa “mail exchanger“, esto es, el nombre del servidor (o los servidores) encargado de recibir los mensajes destinados a determinado dominio.
El proceso podrá continuar si el servidor receptor del mensaje no es el último de la cadena. Existen servidores que actúan como “puertas de enlace” o “gateways” de correo electrónico, y que se encargan de recibir los mensajes de determinados dominios para luego enviarlos a otros servidores.
Prácticamente el único software utilizado en los servidores de nombres deInternet es bind (“Berkeley Internet Name Domain“), creado originalmente en la Universidad de California, y actualmente propiedad del Internet Systems Consortium.
BIND es uno de los primeros servidores DNS creados al albor de internet. Encargado y patrocinado por la DARPA (Defense Advanced Research Projects Agency) a principios de los años ochenta, cuando el Departameto de Defensa estadounidense estaba implicado en el desarrollo de la red de redes, el proyecto queda finalmente en manos de DEC/Digital (Digital Equipment Corporation), que se encarga de desarrollarlo casi por completo. Finalmente es uno de los empleados de Digital, Paul Vixie, quien retomará el proyecto y lo incluirá en el consorcio ISC (Internet Software Consortium), responsable actual del mantenimiento del programa.
Si bien las primeras implementaciones del servidor BIND (en concreto las versiones 4 y 8) mostraban una cantidad de vulnerabilidades exagerada (como casi todo el software nacido a la par que internet), la versión 9 del producto ya no presenta tantas complicaciones. Escrita desde cero para superar las dificultades técnicas de antiguos desarrollos, dicha versión fue impulsada por proveedores UNIX, deseosos de que BIND mantuviera la competencia con Microsoft en igualdad de condiciones y por el Ejército de los Estados Unidos, que desarrolló funcionalidades relativas a la seguridad como DNSSEC (DNS Security Extensions), al darse cuenta de que la seguridad dentro del servicio DNS es algo a tener muy en cuenta.
2.10 Uso del DNS en una red local
Simplificar la administración de la red local: Al contar con un DNS propio (ya sea uno o varios servidores de nombres) es posible definir zonas locales (no válidas ni accesibles desde Internet) para asignar nombres a cada uno de los hosts de la LAN. De esta forma es posible, por ejemplo, referirnos a la impresora de red como “hplaser.mired.local” en vez de “192.168.0.2” y a nuestro servidor de correo interno como “smtp.mired.local” en vez de “192.168.0.3“. (Pensemos, por ejemplo, que ocurriría con las configuraciones de las aplicaciones si un día decidimos cambiar el esquema de direcciones IP de nuestra red.)
El principal problema que presenta el DNS es que, al estar basado en UDP(protocolo de transporte que no garantiza la recepción de la información enviada), tanto las consultas como las respuestas pueden “perderse” (por ejemplo, a causa de congestionamiento en algún enlace de la red). Es común apreciar cómo, en el caso de servidores y redes no muy bien configuradas, la resolución de nombres se resiente sensiblemente ante cualquier anomalía (saturación de tráfico o del servidor de nombres local).
2.12 Herramientas para aprender más
En sistemas Unix el comando dig (ver “man dig“) permite realizar requerimientos “a mano” para poder investigar un poco más sobre el funcionamiento del DNS y, cómo no, también para detectar y solucionar problemas en la red.
Tambien podemos usar el comando host y nslookup en Linux.
2.12 Lectura adicional
El “DNS Cómo” explica la configuración de bind en GNU/Linux.
Los RFC 1034 y 1035 (ambos en inglés), describen completamente elDNS.
Servidor_de_nombres_DNS
Teoria de terminos de configuracion
Para probar si nuestro servidor de nombres esta funcionando correctamente haremos uso de la utilidad nslookup.Este programa se utiliza comunmente para verificar la instalacion de un servidor de nombres. Puede utilizarse interactivamente o como un comando cualquiera. Esto ultimo se hace de la siguiente manera:
#nslookup maquina
nslookup consultara al servidor de nombres especificado en el archivo /etc/resolv.conf acerca de la maquina que se desea encontrar y devolvera su ip.
rcesar@restauracion:~$ nslookup http://www.google.com.ar
http://www.google.com.ar	canonical name = http://www.google.com.
http://www.google.com	canonical name = http://www.l.google.com.
Name:	http://www.l.google.com
Address: 64.233.163.104
rcesar@restauracion:~$
El modo interactivo, nslookup puede hacer mucho mas que solo encontrar direcciones ip, puede preguntarle al servidor de nombres por cualquier clase de registros (no solo A) e incluso puede mostrar la informacion referente a una zona entera. Para entrar en el modo interactivo tipee:
rcesar@restauracion:~$ nslookup
El programa contestara con un prompt “>” indicando que esta listo para ejecutar comandos. Entonces puede indicarle cualquier nombre de dominio y nslookup buscara por registros de tipo A. Para cambiar el tipo de registro que queremos encontrar es posible indicar set type=tipo, donde tipo puede ser cualquiera de los que ya mencionamos o incluso any, que indica cualquier tipo de registro. Si se usa nslookup para indagar por la maquina serverdebian , el programa entregara los siguiente:
serverdebian:~# nslookup
> serverdebian
Server:	192.168.210.100
Address:	192.168.210.100#53
Name:	serverdebian.villadalmine.com.ar
Address: 192.168.210.100
En algunas ocaciones aparace la linea “Non-authorative answer”; esto significa que bind no sale de la red para preguntar por un equipo, en su lugar mira en su cache y lo encuentra alli.
El numero 53 que aparece al lado de la direccion ip del servidor es el puerto que se usa por portocolo TCP/IP
Sigamos con un ejemplo de busqueda:
Cuando se busca una maquina , la pregunta procede recursivamente en la jerarquia comenzando desde arriba. Si quiere localizar la direccion de prep.ai.mit.edu , su servidor de nombres ha de encontrar primero un servidor de nombres que sirva a edu.
Pregunta al servidor (ya conoce los servidores, es para lo que se utiliza el archivo db.root), y el servidor proporcionara una l ista de servidores edu:
Comenzamos preguntando a un servidor Raiz.
Luego ponemos el tipo de peticion (query) a tipo de registro NS
y preguntamos por edu
Server:	c.root-servers.net.
Address:	192.33.4.12#53
*** Can’t find edu.: No answer
El punt “.” final aqui es significativo, indica al servidor que le pedimos un edu que esta justo debajo de “.”, y esto reduce la busqueda un poco.
edu	nameserver = c.gtld-servers.net.
edu	nameserver = g.gtld-servers.net.
edu	nameserver = e.gtld-servers.net.
edu	nameserver = f.gtld-servers.net.
edu	nameserver = d.gtld-servers.net.
edu	nameserver = l.gtld-servers.net.
edu	nameserver = a.gtld-servers.net.
a.gtld-servers.net	internet address = 192.5.6.30
a.gtld-servers.net	has AAAA address 2001:503:a83e::2:30
c.gtld-servers.net	internet address = 192.26.92.30
d.gtld-servers.net	internet address = 192.31.80.30
e.gtld-servers.net	internet address = 192.12.94.30
f.gtld-servers.net	internet address = 192.35.51.30
g.gtld-servers.net	internet address = 192.42.93.30
l.gtld-servers.net	internet address = 192.41.162.30
Esto nos dice que *.root-servers.net sirve a edu. y asi podemos seguir preguntando por ejemplo a c.
Ahora queremos saber quien sirve el siguiente nivel de nombre del dominio : mit.edu.
> server l.gtld-servers.net.
Default server: l.gtld-servers.net.
Server:	l.gtld-servers.net.
Address:	192.41.162.30#53
*** Can’t find mit.edu.: No answer
mit.edu	nameserver = bitsy.mit.edu.
mit.edu	nameserver = strawb.mit.edu.
mit.edu	nameserver = w20ns.mit.edu.
bitsy.mit.edu	internet address = 18.72.0.3
strawb.mit.edu	internet address = 18.71.0.151
w20ns.mit.edu	internet address = 18.70.0.160
bitsy.mit.edu strawb.mit.edu w20ns.mit.edu, seleciona uno y pregunta por ai.mit.edu.
Los nombres de maquina no son sensibles a mayusculas, minusculas
Default server: w20ns.mit.edu.
Address: 18.70.0.160#53
Server:	w20ns.mit.edu.
Address:	18.70.0.160#53
ai.mit.edu	nameserver = auth-ns2.csail.mit.edu.
ai.mit.edu	nameserver = auth-ns3.csail.mit.edu.
ai.mit.edu	nameserver = auth-ns0.csail.mit.edu.
ai.mit.edu	nameserver = auth-ns1.csail.mit.edu.
auth-ns1.csail.mit.edu	internet address = 18.24.0.120
auth-ns3.csail.mit.edu	internet address = 128.52.32.80
auth-ns2.csail.mit.edu	internet address = 128.52.32.80
auth-ns0.csail.mit.edu	internet address = 128.30.2.123
Entonces auth-ns1.csail.mit.edu	es un servidor de nombres de ai.mit.edu.
> server auth-ns1.csail.mit.edu.
Default server: auth-ns1.csail.mit.edu.
Address: 18.24.0.120#53
Ahora cambia el tipo de solicitud, ha encontrado el servidor de nombres y va a preguntar todo lo que queremos saber sobre prep.ai.mit.edu
> prep.ai.mit.edu
Server:	auth-ns1.csail.mit.edu.
Address:	18.24.0.120#53
prep.ai.mit.edu	canonical name = ftp.gnu.org.
prep.ai.mit.edu	rdata_46 = CNAME 5 4 1800 20100515032510 20100415032510 4131 ai.mit.edu. Kq9IsxgiZAutmxCiczWsmyqbEb7b4eNhjJ9IztFzgFFHq3sJUitOz2op dFzCRdw5gnwimkorORBFBU0uamcO6j87LL7/gUBuPEqyrM98WQOFTu8r uVJ8/uMTd3B1zDNnewx0tPwutf2DZPyErt+fBnFzJsGqtZ7Sd6e8UmJW HE2GVUen3sMogJv8PthLHt3Hgc4ahOsaAonqzHgbHIOUtVBsMUgLvraI bkUqeVvSsjTxCBRFjNdZTz1PWKhQaF6C
prep.ai.mit.edu	rdata_47 = presma.ai.mit.edu. CNAME RRSIG NSEC
prep.ai.mit.edu	rdata_46 = NSEC 5 4 14400 20100515032510 20100415032510 4131 ai.mit.edu. aJGJqIcXTw7wEfffQm9UataJG/mrqySG5r7UpTpUUtIgz8YRiWycYaD8 qfrtARdGv2BcdLEl+VaKRy9OqIwDS/z0grCabEBXvj2EVIICkySH3vpU qyw+JBo7eeJHtlTVIKUA/16C5dw3VPCbkIBDyqY7IJJbfwg6MzojSBkB qVSB3fMzC5G4J0o1r2G0bfckpaOW5Q5ZSFV45gost4tibmT2GSjg2sAu SKAuzxpDUKbXtan6q2hnC00cqubCCHX5
De esta forma comenzando en “.” ha encontrado los sucesivos servidores de nombres para el siguiente nivel en el nombre de dominio. Si ha usado su propio servidor de DNS en lugar de usar todos esos otros servidores, su bind, desde luego, habra almacenado en el cache toda la informacion que haya encontrado mientras profundizaba en la busqueda y en consecuencia no tendra que preguntar de nuevo durante un tiempo.
Servidor DNS Local:
Tenemos tres maquinas:
Serverdebian –> DNS, DHCP server
debianhost –> cliente
debianhost1 –> cliente
En el servidor lo vamos a configurar para que resuelva las peticiones de dns.
Miremos la carpeta donde estan los archivos del Bind.
serverdebian:/etc/bind# ls -la
drwxr-sr-x 3 root bind 1024 2010-04-19 21:19 .
drwxr-xr-x 80 root root 5120 2010-04-26 18:58 ..
-rw-r–r– 1 root root 237 2009-12-20 15:21 db.0
-rw-r–r– 1 root root 285 2010-04-19 21:06 db.127
-rw-r–r– 1 root bind 673 2010-04-19 21:19 db.192
-rw-r–r– 1 root root 237 2009-12-20 15:21 db.255
-rw-r–r– 1 root root 353 2009-12-20 15:21 db.empty
-rw-r–r– 1 root root 270 2009-12-20 15:21 db.local
-rw-r–r– 1 root bind 623 2010-04-12 22:31 db.nsk
-rw-r–r– 1 root root 2878 2009-12-20 15:21 db.root
-rw-r–r– 1 root bind 667 2010-04-19 21:06 db.villadalmine
-rw-r–r– 1 root bind 1960 2010-04-12 22:46 named.conf
-rw-r–r– 1 root bind 544 2010-04-12 21:40 named.conf.local
-rw-r–r– 1 root bind 571 2010-04-12 21:26 named.conf.options
-rw-r—– 1 bind bind 77 2010-04-12 19:33 rndc.key
drwxr-sr-x 2 root bind 1024 2010-04-12 21:32 zones
-rw-r–r– 1 root root 1317 2009-12-20 15:21 zones.rfc1918
serverdebian:/etc/bind#
Los que estan en negrita son los que se instalan por defecto
Si editamos estos vamos a poder hacer que resuelva desde nuestro localhost.
Tenemos estos dos —> db.local , db.127
Uno es para la reversa y el otro el normal.
La idea de tocar estos dos archivos es para que nosotros le agreguemos una zona, si lo dejamos como esta va a resolver igualmente pero nos va a decir que el servidor de nombres que resolvio fue el localhost.
Aca vean un ejemplo con un dns que tengo corriendo en mi pc pero todo configurado como dns cache sin una zona.
rcesar@restauracion:/etc/bind$ dig http://www.rondanrino.com.ar
; <<>> DiG 9.4.2-P2.1 <<>> http://www.rondanrino.com.ar
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34210
;www.rondanrino.com.ar.	IN	A
http://www.rondanrino.com.ar.	3	IN	A	38.108.125.70
http://www.rondanrino.com.ar.	3	IN	A	38.108.125.71
rondanrino.com.ar.	37189	IN	NS	ns1.restauradordeleyes.com.ar.
rondanrino.com.ar.	37189	IN	NS	ns2.restauradordeleyes.com.ar.
;; Query time: 517 msec
;; WHEN: Mon Apr 26 20:23:22 2010 ———–___> loresuelve como si fuera localhost
rcesar@restauracion:/etc/bind$
diferente es esta consulta.
serverdebian:/etc/bind# dig http://www.rondanrino.com.ar
; <<>> DiG 9.5.1-P3 <<>> http://www.rondanrino.com.ar
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33289
http://www.rondanrino.com.ar.	5	IN	A	38.108.125.71
http://www.rondanrino.com.ar.	5	IN	A	38.108.125.70
rondanrino.com.ar.	5	IN	NS	ns1.restauradordeleyes.com.ar.
rondanrino.com.ar.	5	IN	NS	ns2.restauradordeleyes.com.ar.
ns2.restauradordeleyes.com.ar. 5 IN	A	38.108.125.70
;; Query time: 376 msec
;; SERVER: 192.168.210.100#53(192.168.210.100)
;; WHEN: Mon Apr 26 19:26:38 2010
Aca como pueden ver lo resolvio el servidor de nombres pero no como localhost sino con la ip del server, y eso se logra modificando esos dos archivos mencionados anteriormente
serverdebian:/etc/bind# cat db.127
@ IN NS ns1.villadalmine.com.ar. ———–> ahi se cambio por localhost.
serverdebian:/etc/bind# cat db.local
@	IN	NS	villadalmine.com.ar. ———–> aca iba localhost.
Paso muy importante es modificar el /etc/resolv.conf
serverdebian:/etc/bind# cat /etc/resolv.conf
search villadalmine.com.ar
nameserver 192.168.210.100
En los archivos mencionados anteriormente exite una zona que se llama villadalmine.com.ar dado que todavia no vamos a configurar nuestra zona para la red local seguimos dejando localhost.
Ahora lo que sigue es configurar nuestros archivos de configuracion mas importantes para que el dns salga a resolver los nombres a internet dado que al ser cache la primera vez que intenta resolverlo no lo va a tener asi que le tiene que consultar a otro y para eso se configura lo que se llama forwarders….
en el /etc/named.conf busquen la linea esta –>
eso me dice que esta incluido ese archivo asi que vamos a editar ese archivo y completar los campos que son necesarios.
serverdebian:/etc/bind# cat named.conf.options
192.168.210.2; ———-> aca le estamos diciendo donde sale a buscar si no encuentra lo que pidieron.
Algunos tambien suelen poner esa configuracion adentro del named.conf pero siempre es mejor seguir una estructura para cada cosa yy no poner todo en un archivo.
Con esto ya tenemos andando nuestro servidor de cache local para nuestra lan el proximo paso es agregarle una zona para nuestra red local.
como funcionaba la resolucion de nombre en los viejos tiempos
Elementos involucrados en la resolución de nombres
El cliente normalmente es una aplicación, como puede ser un navegador, un cliente de correo, un cliente ftp, etc. En entornos UNIX/Linux, el cliente utiliza un programa llamado resolver, este programa, comunmente una biblioteca, es el encargado de hacer las consultas de resolución de nombres a uno o más servidores de nombres.
El servidor de nombres mantiene una base de datos de información referente a los hosts, la información tipicamente es un nombre y una dirección, el servidor de nombres recibe consultas de resolución de los clientes.
Mantener una sola base de datos en el creciente Internet obligo a revisar el diseño del sistema de nombres basado en una base de datos unica, ya que dicho sistema esta propenso a caidas y dejaría la red sin resolución de nombres, para esto se inventaron los servidores de nombres secundarios (ahora mejor conocidos como esclavos), los cuales mantienen una copia de la base de datos de nombres mantenida por el servidor de nombres primario ( ahora maestro).
La introducción de los servidores de nombres secundarios soluciono el problema de sobrecarga y disponibilidad, pero aun había un problema, el mantenimiento de la base de datos, se volvio inmantenible tener que utilizar una base de datos unica, la cual era modificada constantemente y podría llevar a inconsistencias.
BIND is open-source software that implements the Domain Name System (DNS) protocols for the Internet. It is a reference implementation of those protocols, but it is also production-grade software, suitable for use in high-volume and high-reliability applications.
5.3 Instalación y control del servidor DNS bind
En esta sección veremos cuales son los requerimientos de software para instalar un servidor DNS con bind9.
Para instalar el servidor DNS bind9 no hay dependencias con otros programas, solo hay que instalar el paquete bind que esta disponible en el repositorio main.
Además del paquete bind9, instalaremos el kit de herramientas para diagnostico de resolución de nombres DNS y servidores mediante el paquete dnsutils.
Instalando bind9 y dnsutils
Con un solo paso instalaremos el paquete bind9 y dnsutils usando apt-get:
root@servidor:~# apt-get install bind9 dnsutils
Setting up bind9 (1:9.4.2.dfsg.P2-2ubuntu0.1) ...
Adding group `bind' (GID 123) ...
Adding system user `bind' (UID 111) ...
Adding new user `bind' (UID 111) with group `bind' ...
Al instalar el paquete bind9 automaticamente se crea lo siguiente:
Grupo bind con GID 123 que será usado exclusivamente para ejecutar el proceso del servidor DNS (named)
Usuario de sistema bind con UID 111 y grupo primario el grupo bind.
Crea un archivo de llave secreta /etc/bind/rndc.key para rndc,herramienta de control del servidor DNS.
Agrega el servicio bind9 a los niveles de arranque predeterminados para que bind9 sea iniciado automáticamente al arranque del sistema.
Como podemos ver en la salida del comando anterior, el servicio bind9 es iniciado automáticamente.
El demonio named
El nombre del programa del servidor DNS se llama /sbin/named, nosotros no ejecutaremos directamente el programa named, en lugar usaremos los scripts rc incluidos en la distribución: /etc/init.d/bind9.
Como se comento en la sección anterior, el programa /sbin/named será ejecutado usando los privilegios del usuario y grupo bind, esta es una medida de seguridad recomendada para servicios de red expuestos al Internet.
Controlando el servicio BIND9
Para controlar el servidor DNS usaremos el script de inicio /etc/init.d/bind9, a continuaci’on se describen las acciones principales de control del servicio named.
Iniciando el servicio bind9.
root@servidor:~# /etc/init.d/bind9 start
* Starting domain name service... bind          [ OK ]
Como vemos en la salida del comando anterior, nos confirma que el servidor fue iniciado con exito.
Para detener el servidor bind9 usando los scripts rc, usaremos:
root@servidor:~# /etc/init.d/bind9 stop
* Stopping domain name service... bind           [ OK ]
Si realizo cambios significantes en la configuración del servidor DNS, como cambio de dirección IP, puertos o directorios de configuraciones, se aconseja reiniciar por completo el servidor DNS usando el comando:
root@servidor:~# /etc/init.d/bind9 restart
* Stopping domain name service... bind          [ OK ]
Para forzar a named a que re lea el archivo de configuración usaremos el comando:
root@servidor:~# /etc/init.d/bind9 reload
* Reloading domain name service... bind         [ OK ]
En esta sección se verán como configurar un servidor DNS usando el software bind9, veremos la estructura general y sintaxis del archivo de configuración del servidor bind9
Configuraciones globales del servidor DNS bind9
En esta seccion se verán las secciones y parametros involucrados en el comportamiento global del servidor DNS bind9.
Estructura del archivo de configuración named.conf
El archivo principal de configuración del servicio bind9 es /etc/bind/named.conf, este archivo esta conformado por secciones, cada sección, puede contener: opciones individuales, subsecciones, y estas subsecciones pueden contener sus propias opciones.
A continuación se muestra unos ejemplos de secciones y opciones de configuración para bind.
# Comentario para para sección.
// Opción apuntando hacía archivo o directorio
// Cuando especifiquemos un archivo o directorio
// se aconseja utilizar rutas absolutas y que
// la ruta este entre comillas.
opcion1 "/var/cache/bind";
// Opción individual
opcion2 valor2;
# Comentario de: Subsección I para varios valores
subseccionI {
opcion1a valor1a;
opcion1b valor1a;
// Subsección II para grupo de direcciones IP y/o subredes
subseccionII {
// Subsección III para ninguna dirección IP
subseccionIII {
// Subsección IV para cualquier dirección IP
subseccionIV {
Cada sección debe de estar entre { } y debe de terminar en un ;. Las lineas que inician con # o // se consideran comentarios y serán ignoradas por el demonio named.
El archivo de configuración /etc/bind/named.conf hace uso de la directiva include para incluir secciones epecificadas almacenadas en otros archivos
Opciones globales del servidor DNS bind9
Las opciones globales de configuracion para named son agrupadas en la sección especial options, esta sección debe ser definida al pincipio del archivo de configuración named.conf. En Debian/Ubuntu la sección options esta definida en el archivo /etc/bind/named.conf y es incluida mediante la directiva include en el archivo de configuración principal /etc/bind/named.conf.
El archivo /etc/bind/named.conf.options contiene lo siguiente:
La opción directory define la ruta a el directorio en donde se almacenarán ciertos archivos de zonas.
Configuraciones requeridas para todo rol de Servidor DNS
De acuerdo a las recomendaciones del RFC 1912, ciertas zonas siempre deben de estar presentes en la configuración de un servidor DNS.
Las siguientes zonas deben de existir en nuestra configuración:
Zona Maestra para localhost (localhost)
Esta zona es usada para la resolución directa del nombre localhost->127.0.0.1, en esta zona solo existen los registros SOA, NS y A, en bind9, esta zona esta definida en el archivo de configuración /etc/bind/named.conf de la siguiente manera:
El archivo de la zona es /etc/bind/db.local.
Zona Maestra de resolución Inversa para 127.0.0.1 (0.0.127.in-addr.arpa)
Esta zona es usada para la resolución inversa de la dirección IP 127.0.0.1->localhost, en esta zona solo existen los registros SOA, NS y PTR, en bind9, esta zona esta definida en el archivo de configuración /etc/bind/named.conf de la siguiente manera:
El archivo de la zona es /etc/bind/db.127.
Zona Maestra de resolución Inversa para el broadcast (255.in-addr.arpa)
Esta es una zona vacia para la resolución inversa de direcciones de broadcast, es especialmente utilizada para evitar consultas accidentales a direcciones de broadcast a los servidores DNS raíz. Esta zona no debe de contener registros adicionales al registro SOA y NS, en bind9, esta zona esta definida en el archivo de configuración /etc/bind/named.conf de la siguiente manera:
El archivo de la zona es /etc/bind/db.255.
Zona Maestra de resolución Inversa para 0 (0.in-addr.arpa)
Esta es una zona vacia especialmente utilizada para evitar consultas accidentales a direcciones locales o de broadcast a los servidores DNS raíz. Esta zona no debe de contener registros adicionales al registro SOA y NS, en bind9, esta zona esta definida en el archivo de configuración /etc/bind/named.conf de la siguiente manera:
El archivo de la zona es /etc/bind/db.0.
Estas definiciones de zonas no se modificarán ni sus respectivos archivos de zona.
En secciones posteriores agregaremos más zonas de tipo maestro y esclavo para nuestro propio dominio.
Revisión de sintaxis de los archivos de configuración
Si queremos estar seguros que la configuración de nuestro servidor DNS bind9 es correcta, el paquete bind9 nos provee del comando /usr/sbin/named-checkconf, el cual nos servirá para realizar una revisión sintactica del archivo /etc/bind/named.conf (y los demás archivos que incluye), para realizar la revisión sintactica usamos el comando de la siguiente manera:
root@servidor:/etc/bind# named-checkconf
Si al ejecutar named-checkconf no devuelve ningún error, significa que la sintaxis de los archivos de configuración es correcta.
Si named-checkconf encontrará algún error de sintaxis, nos avisará, por ejemplo:
/etc/bind/named.conf:25: missing ';' before 'zone'
Lo cual indica que en el archivo /etc/bind/named.conf en la linea 25 hace falta un “;” antes de la opción zone. Corrija la linea 25 y vuelva a correr named-checkconf hasta que no se encuentren errores.
Configurando un servidor DNS de Solo Cache (Caching-Only)
La configuración predeterminada con la que viene el paquete bind9 en Debian/Ubuntu esta lista para que el servidor DNS funcione como un servidor DNS de Solo Cache (Caching Only).
Con la configuración predeterminada, el servidor DNS NO responde consultas a dominios propios, es decir, el servidor solo responderá de forma NO autoritativa, los servidor DNS de solo cache son utiles para eficientar el uso de ancho de banda en una red local, además es bastante beneficioso para servidores de correo.
Un servidor DNS de solo cache recibe peticiones DNS de clientes en la red, el servidor re enviará la consulta a los servidores DNS raíz para obtener la dirección IP o nombre solicitada, dicha configuración no es recomendable ya que estariamos sobrecargando los servidores DNS raíz, por tal razón, se recomienda configurar el servidor DNS de cache para que en lugar de enviar las consultas a los servidores DNS raíz, las envíe a los servidores DNS de tu Proveedor de Internet, esto es recomendable ya que los servidores DNS del ISP pueden tener un cache más grande y nos evitará gastar ancho de banda inecesario.
Si nuestro proveedor de Internet nos provee de las direcciones IP de sus servidores DNS: 208.67.222.222 y 208.67.220.220, en el archivo de configuración /etc/bind/named.conf.options, descomentaremos el bloque de los parametros forwarders.
// Enviar las consolutas no autoritativas a los servidores DNS
// de nuestro ISP.
Las direcciones IP 208.67.222.222 y 208.67.220.220 son de los servidores DNS publicos de OpenDNS, OpenDNS es un servicio publico y sin costo de servidores DNS, si quire saber más información sobre las caracterisitcas de OpenDNS y como utilizar el servicio vea la pagína http://www.opendns.com/.
Usando los parametros forwarders cada consulta que llegue al servidor DNS y no pueda ser respondida localmente o no se encuentre en el cache, será enviada a los servidor DNS especificados en forwareders, si no se pueden contactar los servidores DNS especificados, entonces la consulta será enviada a los servidores DNS raíz.
Se recomienda configurar el servidor DNS solo cache restricciones para los clientes que pueden hacer consultas DNS utilizando este servidor.
En el archivo /etc/bind/named.conf.options agregamos las siguientes lineas:
De esta forma, solo el localhost y los hosts en las subredes 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24, podrán hacer consultas DNS a través de este servidor DNS cache.
Configurando un servidor DNS Maestro
En esta sección configuraremos nuestro servidor como DNS Maestro para resonder de forma autoritativa a las consultas del dominio midominio.com.
Definición de zona maestra
El primer paso es definir una zona en la configuración de bind, en el archivo de configuración /etc/bind/db.midominio.com.zone con el siguiente contenido:
file "/etc/bind/db.midominio.com.zone";
En la sección anterior definimos los iguiente:
zone “midominio.com”
Estamos configurando una zona de delegación para el dominio midominio.com, la zona midominio.com es de tipo maestra, y
file /etc/bind/db.midominio.com.zone
La información autoritativa de dicha zona esta almacenada en el archivo /etc/bind/db.midominio.com.zone.
Se permiten consultas DNS a zona desde caulquier host, esto significa tanto de las redes locales como en Internet.
El archivo de zona maestra
En la definición de zona maestra especificamos la ruta al archivo que mantendrá la información autoritativa para el dominio midominio.com, antes de crear dicho archivo es necesario entender la estructura de un archivo de zona para bind.
Estrucutura de los archivos de zona
La información almacenada en los archivos de zona se conoce como Registros de Recurso (Resource Records) o simplemente RR, dichos registros llevan la siguiente estrucutura:
Tabla 3.1. Estructura de Registros de Recursos
Referencia [Time To Live] Clase Tipo Valor
La referencia a la cual el registro se refiere, puede ser un nombre de dominio, subdominio, nombre de host o dirección IP Opcional, el registro TTL especifica el Tiempo de Vida del registro, es decir, el tiempo que durará dicho registro en el cache de otros servidores DNS, si dicho campo no existe en un RR, se usa un valor predeterminado La clase de registro, para servicios de redes TCP/IP, la clase siempre es IN (Internet) El tipo de registro, los tipos de registros más importantes se definen en la siguiente tabla El valor del registro dependerá del Tipo de registro especificado, en la tabla de abajo se ven diferentes tipos de registros con sus respectivos valores
A continuación se muestra una tabla con los tipos de registros más usados.
Tabla 3.2. Tipos de registros DNS
Tipo de Registro Descripción Valor
SOA Inicio de Autoridad (SOA), se usa para especificar donde inicia, y donde termina nuestra autoridad en la jerarquia de zonas DNS. Este tipo de registro tiene una excepción a la estructura de arriba, en este tipo de registro se pueden especificar las siguientes cosas: Nombre de servidor Autoritativo para la zona especificada, Correo electrónico del administrador del servidor DNS, Número de serie del dominio, valores de expirado y reinitento para servidores esclavos.
NS El registro NS es utilizado para especificar el o los servidores DNS autoritativos para el dominio especificado, aquí se especifica el nombre de los servidores DNS Maestros y Esclavos, este valor debe de ser consistente con el del registro SOA y debe de tener su respectivo registro A (Glue Records) El valor para el registro de tipo NS es el FQDN de el o servidor DNS autoritativo.
MX Con el registro MX (Mail Exchanger) se especifica el servidor encargado de procesar los correos para el dominio especificado, se puede especificar más de un registro MX para un dominio. Se debe de especificar una prioridad para cada registro MX. La priridad se especifica con un número, donde 0 es la prioridad más alta.
A El registro A es usado para especificar la dirección IP de una computadora. Dirección IP de la computadora.
PTR El registro PTR es usado para la resolución inversa, es decir, resolver el nombre de una computadora a partir de su dirección IP El valor de un registro PTR es definido en la zona de resolución inversa in-addr.arpa.
CNAME El registro Cannonical Name, es utilizado para definir alias a computadoras El valor de un registro CNAME siempre debe de ser el nombre de una computadora, dicho valor debe de tener un registro A previamente definido.
Los registros deben de empezar en la primer columna con la referencia, si la referencía no es especificada se tomará la referencía del registro anterior (arriba).
Creando el archivo de zona para dominio maestro
En la definición de zona para el dominio midominio.com se especifica que el archivo de base de datos es /etc/bind/db.midominio.com.zone, crearemos el archivo de zona con el siguiente contenido.
; Definicion del tiempo de vida (TTL) Estandar, un día
; Opción obligatoria en version bind 9.
$TTL 86400      ; 1 día
; Entrada para registro SOA (Start of Authority)
dominio.tld.     IN      SOA     ns1.dominio.tld. hostmaster.dominio.tld.  (
2008050906      ; Número de serie yyyy/mm/dd/id
10800           ; Tiempo de Refresco (3 horas)
3600            ; Tiempo de Reintento (1 hora)
604800          ; Tiempo de Expiracion (1 semana)
86400   )       ; Cache negativo TTL (1 dia)
; Entradas para los servidores de nombres para el dominio dominio.tld.
dominio.tld.     IN      NS      ns1.dominio.tld.
; Registros para el manejador de correo de dominio.tld
dominio.tld.     IN      MX      10      mail.dominio.tld.
; Entradas para resolución directa
; Dirección IP para la zona (dominio) dominio.tld
dominio.tld.     IN      A       192.168.1.1
; Dirección IP del Host ns1, usado en el registro SOA y NS (Glue Records)
; Direcciones IP de hosts de servicios básicos
www             IN      A       192.168.1.2
ftp             IN      A       192.168.1.2
mail            IN      A       192.168.1.3
sip             IN      A       192.168.1.4
; Alias para nombres de host
web             IN      CNAME   web
correo          IN      CNAME   mail
voip            IN      CNAME   sip
Guarde el archivo y asigne los permisos para usuario root y grupo bind:
root@servidor:~# chown root:bind /etc/bind/db.midominio.com.zone
A continuación haremos algunas validaciones para comprobar que nuestro nuevo dominio vaya a funcionar correctamente.
Validando el archivo de Zona DNS
Antes de reiniciar el servidor DNS para que la nueva zona este activa, es recomendable usar el comando named-checkzone para verificar que la sintaxis del archivo de zona para el dominio midominio.com este correcta.
Para validar la zona midominio.com (definida en named.conf.local) en contra del archivo /etc/bind/db.midominio.com.zone use el comando named-checkzone de la siguiente manera:
rroot@servidor:~# named-checkzone midominio.com /etc/bind/db.midominio.com.zone
zone midominio.com/IN: loaded serial 2008050906
Si no se encuentran errores de sintaxis en el archivo de zona nos mostrará un mensaje como el anterior. Si named-checkzone encontrará algún error de sintaxis, nos avisará, por ejemplo:
root@servidor:~# named-checkzone midominio.com /etc/bind/db.midominio.com.zone
Cargando el nuevo dominio
Para que el servidor DNS bind pueda realizar operaciones de resolución de nombres para la zona midominio.com es necesario que reinicie el servidor named o que utilice la herramienta rndc para recargar el servicio DNS y además cargue las nuevas zonas.
root@servidor:~# rndc reconfig
En el archivo /var/log/syslog veremos la siguiente linea:
Jan 29 14:34:09 verde named[3593]: zone dominio.com/IN: loaded serial 2009012901
Para comprobar que nuestro dominio este funcionando podemos usar la herramienta de diagnostico DNS dig, por ejemplo:
# dig +nocomments @localhost midominio.com
; <<>> DiG 9.3.2-P2.1 <<>> +nocomments @localhost midominio.com
;dominio.com.                 IN      A
dominio.com.          86400   IN      A       69.60.114.232
dominio.com.          86400   IN      NS      ns1.midominio.com.
ns1.dominio.com.      86400   IN      A       69.60.114.232
;; SERVER: 69.60.114.232#53(69.60.114.232)
;; WHEN: Thu Jan 29 14:37:10 2009
Si desea probar un dominio desde el exterior (Internet) puede usar el servicio libre de intodns, en la pagína: http://intodns.com.
Configurando uno o más servidores DNS Esclavos (Slaves)
zone "midominio.org" IN {
file "/var/cache/named/slave.midominio.com.zone";
masters { 192.168.1.102; };
La directiva masters es usada para especificar la dirección IP del servidor DNS maestro.
Ahora solo recargar esta nueva zona para que inicie la transferencia de la nueva zona.
En el log del servidor DNS Maestro verá:
named[8160]: zone curso2.com/IN: Transfer started.
named[8160]: transfer of 'curso2.com/IN' from 192.168.1.102#53:
connected using 192.168.1.101#56564
named[8160]: zone curso2.com/IN: transferred serial 2008051015
named[8160]: transfer of 'curso2.com/IN' from 192.168.1.102#53: end of transfer
En log log del servidor DNS esclavo verá:
Si queremos comprobar que el servidor DNS esclavo esta respondiendo consultas autoritativas para el dominio midominio.com podemos usar el comando dig:
# dig +nocomments @ns2.midominio.com midominio.com
Es importante que cada vez que se vaya a relizar un cambio en el archivo de zona maestro en el servidor MAestro debe de incrementar el número de serie para que el servidor DNS esclavo sepa que debe de hacer una nueva transferencia de zona, si no incrementa el número de serie el servidor DNS tendrá información desactualizada.
Recuerde que el servidor DNS esclavo obtiene la información del dominio a intervalos regulares (valor refresh en registro SOA), esto puede causar que el servidor DNS esclavo entregue información desactualizada entre los intervalos de regresh.
Si desea que el servidor DNS Maestro instruya al servidor DNS esclavo que realize una nueva transferencía de zona despues de haber cargado los cambios deberá de usar la opción notify, por ejemplo:
El servidor DNS Maestro debe saber a que servidores esclavos informar sobre las actualizaciones en la zona,
La resolución de nombres DNS en sistemas Linux es realizada mediante la bibliteca resolver, las aplicaciones de Internet utilizan el resolver para la resolución de nombres, cuando un cliente solicita la dirección IP de un nombre, el cliente se conectará al resolver, el resolver consultará el archivo /etc/nsswitch.conf para encontrar las fuentes y el orden de resolución, las fuentes son bases de datos (locales o remotas) utilizadas para consultar cierto tipo de información (entidades), podemos especificar más de una fuente y el resolver consultará dichas fuente en un orden establecido.
El resolver utiliza la entidad de nombres hosts para definir las fuentes de resolución de nombres DNS.
El orden de busqueda para la resolución de nombres esta definida en la entidad hosts, en la mayoría de sistemas Linux el archivo encontrará algo así::
El orden de resolución para hosts es el siguiente:
La fuente de busqueda principal es mediante archivos locales, en nuestro caso usando el archivo /etc/hosts para el mapeo manual de nombres de hosts a direcciones IP.
En este caso el resolver utilizará uno o más servidores DNS para las consultas de resolución de nombres, las direcciones IP de los servidores DNS que usará se definen en el archivo /etc/resolv.conf, en la mayoría de los casos en un cliente Linux podremos encontrar el archivo /etc/resolv.conf de la siguiente forma:
Puede definir hasta 3 servidores DNS usando la opción nameserver.
Donde la opción search sirve para definir un sufijo DNS. El parametro nameserver sirve para especificar un servidor DNS para consultar
5.6 Configuraciones de Seguridad en BIND9
En esta sección se verán algunas configuraciones avanzadas para asegurar nuestro servidor DNS bind9.
Limitando las consultas al servidor DNS
Como se vio en la configuración del servidor DNS solo Cache, utilizamos la opción allow-query para limitar el uso de el servidor DNS, con la directiva podemos definir controles de acceso para definir que hosts o redes pueden hacer uso del servidor de resolución DNS
Ya que las consultas son limitadas solo a los hosts de confianza de forma global, es necesario que permitamos consultas externas a nuestros dominios autoritativos, para permitir que cualquier hosts o red haga consultas externas a nuestro dominio definamos lo siguiente:
Limitando la transferencía de zonas en el servidor Maestro
Por default, en la configuración de bind9 se permite la transferencía zonas a cualquier hosts o red sea interna o externa, no es nada recomendable que cualquier host en Internet pueda hacer una transferencía de nuestra zona, es una buena practica negar de forma global la transferencía de zonas a cualquier hosts ne la red, sea interna o externa.
En la sección options agregue la siguiente linea:
// Denegar la transferencía de zonas globalmente a todo host
Si deseamos limitar la transferencía solo a los servidores DNS esclavos usemos la opción allow-transfer en la definición de zona de nuestro dominio, por ejemplo, para limitar la transferencia de zonas para el dominio midominio.com solo al servidor DNS esclavo con la dirección IP 192.168.1.11 usemos la siguiente configuración:
De esta forma tendremos una politica segura para la transferencía de zonas, es decir, bloquear todas las transferencías y solo permitir a ciertos hosts por zona.
Transferencía de zonas seguras mediantes llaves estaticas HMAC-MD5
root@firewall:/tmp# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST transferencia-segura
Ktransferencia-segura.+157+29374
root@firewall:/tmp# ls K*
Ktransferencia-segura.+157+29374.key  Ktransferencia-segura.+157+29374.private
Los nombres al final pueden variar para cada llave creada.
El archivo de la llave privada contiene lo siguiente:
root@maestro:~# cat Ktransferencia-segura.+157+29374.private
Key: rl50Q4Sm9d3FgXFjJXdzng==
Ahora defina llave mediante la opción key en el archivo de configuración de named, la llave debe de ser definida fuera de la sección options, se recomienda agregar las llaves al principio del archivo /etc/bind/named.conf.local del servidor DNS Maestro, por ejemplo:
// Archivo /etc/bind/named.conf.local de servidor Maestro
// Definimos la llave de nombre 'transferencia-segura' de tipo HMAC-MD5
// usando el secreto "rl50Q4Sm9d3FgXFjJXdzng==".
key transferencia-segura {
alghorithm HMAC-MD5;
secret "rl50Q4Sm9d3FgXFjJXdzng==";
// Definición de zona con transferencía de zonas
// segura mediante llave HMAC
key transferencia-segura;
Ahora en el servidor DNS Esclavo tambíen deberá de definir la misma llave, del mismo tipo y el mismo secreto.
En el archivo de configuración /etc/bind/named.conf.local del servidor DNS Esclavo defina la llave transferencia segura, por ejemplo:
// Archivo /etc/bind/named.conf.local de servidor Esclavo
// Definimos la llave de nombre 'transferenciasegura' de tipo HMAC-MD5
// Toda comunicación con servidor 192.168.1.1
// será transmitida de forma segura usando la llave
// 'transferencia-segura'
transferencia-segura;
La directiva server nos sirve para especificar que toda comunicación relacionada a los servicios DNS será asegurada con la llave ‘transferenciasegura’
Si el servidor recibe una petición de transferencía de zonas de un host no autorizado, veremos algo así en el log del servidor DNS Maestro:
Mar 17 00:44:59 maestro named[427]: client 10.0.99.200#37193: zone transfer 'midominio.com/AXFR/IN' denied
Si el servidor DNS Maestro recibe una petición de transferencía de zona desde un host autorizado en los logs veremos algo así:
Mar 17 00:46:50 maestro named[482]: client 10.0.99.200#56248: transfer of 'midominio.com/IN': AXFR started
Mar 17 00:46:50 maestro named[482]: client 10.0.99.200#56248: transfer of 'midominio.com/IN': AXFR ended
Ocultando la versión del servidor DNS
Como practica de seguridad por ocultación se aconseja ocultar la versión del servidor DNS bind, en la sección options podemos agregar la directiva version para especificar una versión o para mostrar información invalida para evitar ataques.
// Información incorrecta sobre la version de BIND
Reinicie el servidor bind9 y use el comando para hacer una consulta a la versión.
root@esclavo:~# dig axfr @ns1.midominio.com version.bind chaos txt
; <<>> DiG 9.5.0-P2 <<>> axfr @ns1.midominio.com version.bind chaos txt
version.bind.           0       CH      TXT     "[Secured]"
;; WHEN: Tue Mar 17 00:54:10 2009
Como podemos ver, el servidor bind no nos muestra la versión real, si el servidor bind no estuviera protegido nos mostraría algo así:
version.bind.           0       CH      TXT     "9.4.2-P2"
6 – Instalacion de una Wiki
Con esta aplicacion vamos a poder crear wiki al estilo de wikipedia para que podamos crear nuestro espacio de trabajo para documentar todos los procedmientos que hagamos en nuestro trabajo, tanto como upgrade aplicaicon, guias de instalacion, y lo que se nos ocurra..
Primero tendrias que instalar el paquete mediawiki
ebian-host1:~# aptitude install mediawiki
apache2-mpm-prefork{a} libapache2-mod-php5{a} libdbd-mysql-perl{a} libdbi-perl{a} libhtml-template-perl{a} libnet-daemon-perl{a} libplrpc-perl{a}
libterm-readkey-perl{a} mediawiki mysql-client-5.0{a} mysql-server{a} mysql-server-5.0{a} php5{a} php5-cli{a} php5-common{a} php5-mysql{a} psmisc{a}
0 packages upgraded, 17 newly installed, 1 to remove and 0 not upgraded.
Need to get 48.5MB of archives. After unpacking 146MB will be used.
Se va a instalar lo que se llama LAMP
Como vemos hay varios paquetes que se nos van a instalar , apache, php, mysql, y eso es porque vamos a necesitar todos esos paquete..
Cuando llegue la parte de instalar mysql pongan una password para root y anotenla porque la vamos a usar para cuando instalemos mediawiki.
Una vez que se vamo e instalo todo procedmos a ver si el apache esta andando.
o la direccion IP
Si vemos que dice It Works! tenemos el apache andando
Tendriamos que hacer el siguiente link, el cual estamos diciendo donde va a tener su configuracion para el apache nuestra wiki.
ln -s /usr/share/mediawiki/ /var/www/mediawiki
Luego accedemos
y tendriamos que ver algo asi
Seguimos haciendole click en setup
Vayan a la parte de la database y tengan en cuenta elegir root con la misma clave que le pusieron al principio cuando configuraron el mysql
Una vez que esta todo hacen click en el boton para grabar los cambios
Les tiene que salir que se cargo todo bien y les dice que tienen que mover un archivo..
Una vez que movieron eso ahora si pueden acceder ala wiki, loguearse, crear usuarios, paginas etc.
van a ver algo asi .
LAMP es el acrónimo de un conjunto de tecnologías, las cuales definen la infraestructura de un servidor Web:
Linux -> Sistema Operativo.
Apache -> Servidor HTTP.
MySql -> Gestor de Base de Datos.
PHP -> Lenguaje de Programación interprete.
De hecho la guia es muy sencillo solo hay que resaltar que los paquetes tienen diferente nombre según la distribución GNU/Linux. En nuestro caso es Debian Lenny, la cual cuenta con uno de los mejores gestores de paquetes que existen APT resuleve e instala las dependencias de los paquetes a instalar.
1. Abrimos una consola como root.
2. Instalamos el servidor Apache con soporte para PHP:
# aptitude install apache2 libapache2-mod-php5 php5
3. Instalamos gestor de Base de Datos MySql:
Antes de finalizar la instalación de Mysql, el gestor de paquetes nos pedirá una nueva contraseña para el root de Mysql.
4. Hasta este punto se tiene instalado un completo Servidor Web LAMP, pero a veces es necesario tener una muy buen herramienta para la administración de nuestras Bases de Datos para ello instalaremos phpMyAdmin:
Antes de finalizar la instalación tendremos que marcar con tipo de servidor Apache se va a gestionar, en este caso elegimos apache2.
5. Reiniciamos el servidor Apache para ver reflejados los cambios:
Finalmente abrimos un navegador y en la barra de direcciones escribimos:
7.3 Configuracion Basica de sitios
Antes de empezar a configurar algo vamos a explicar
7.3 Links:
Antes de configurar algo vamos a proceder a explicar que hay en cada carpeta.
restaurador:/etc/apache2# ls -la
drwxr-xr-x 7 root root 4096 2010-05-09 22:25 .
drwxr-xr-x 67 root root 4096 2010-05-09 22:11 ..
-rw-r–r– 1 root root 10104 2010-05-09 21:40 apache2.conf
drwxr-xr-x 2 root root 4096 2010-05-09 22:13 conf.d
-rw-r–r– 1 root root 378 2010-03-28 14:56 envvars
-rw-r–r– 1 root root 0 2010-05-09 20:11 httpd.conf
drwxr-xr-x 2 root root 12288 2010-05-09 20:33 mods-available
drwxr-xr-x 2 root root 4096 2010-05-09 20:33 mods-enabled
-rw-r–r– 1 root root 511 2010-05-09 22:25 ports.conf
drwxr-xr-x 2 root root 4096 2010-05-09 22:26 sites-available
drwxr-xr-x 2 root root 4096 2010-05-09 22:05 sites-enabled
restaurador:/etc/apache2#
Los archivos que incluimos ahi pueden tener parte de configuracion que seran incluidas con la regla include dentro de apache2.conf
Este directorio contiene una serie de archivos .load y .conf . Los archivos .load contienen configuracion de directivas de apache necesarias para cargar el modulo correspondiente.
Los respectivos archivos .conf contienen las configuraciones de directivas necesarias para poder utilizar el modulo en cuestion
Aca se van a guardar los enlaces de los modulos cargados que se definieron anteriormente
Funcionan de la misma manera que mods-availabe/ con la diferencia que contienen informacion sobre los virtual host que se van a configurar en donde el nombre del sitio a configurar no tiene porque concordar con el nombre real de la pagina
Similar a la funcion de mods-enabled/
Vamos a encontrar los enlaces de los sitios disponibles.
Configurando dos sitios
Luego configuramos este archivo para que apunte NameVirtualHost a *
restaurador:/etc/apache2# cat ports.conf
#vi /etc/apache2/sites-available/dominio1.com
192.168.1.100 dominio1.com dominio2.com
Basico sobre Virtual Host
Debian Administrator I
Debian Administrator II
Proxy http with apache
Descargas Curso Hosting du

References: Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución