Instalación básica de Debian
Sep 27, 07 by Juan Lebrijo about blog, Debian, operating systems
Quiero mostraros como es el proceso de instalación de una distribución Debian-Etch en su versión instalación desde la red. Esta instalación es de Servidor, por tanto la voy a dejar con lo mínimo pero operativa para seguir instalándole más componentes. Esta distro se puede instalar muy bien desde un CD de 100 MB, y una buena conexión de Banda Ancha. El CD lo podeis descargar desde la página oficial de Debian, aquí.

Instalación

Primero el hardware sobre el que lo vamos a instalar:
  • Micro: Pentium III a 667 MHz
  • RAM: 384 MB
  • Red: Realtek 8139 a 10/100 Mbps.
  • HD: 20GB IDE
  • SO: Debian-4.0 (Etch) Netinst
Arrancamos el equipo desde el CD conectado a una boca de red ethernet. La instalación consistirá en unos pocos pasos y, dependiendo de la velocidad de tu conexión, un buen tiempo de descarga e instalación de los paquetes básicos:
  1. Nombre: elite. Dominio: lebrijo.com.
  2. Distribuimos las particiones en el disco. Mi ejemplo se trata de un servidor web, así que más o menos hice esto: hda1 5.9 GB ext3 / hda2 784 MB swap ** hda3 512 MB ext3 /var/log hda4 12.9 GB ext3 /var/www
  3. Ponemos la contraseña de root (ya sabeis, que sea robusta). Y creamos un usario no-administrador.
  4. Añadir fuentes para la descarga de paquetes cercanas (yo resido en España): ftp.rediris.es,es.debian.org.
  5. Instalamos GRUB por defecto, como Gestor de Arranque.
Para volver esta configuración inicial ejecutar: base-config.

Puesta a punto

Actualizamos las listas de software: elite:/etc/apt# apt-get update Des:1 http://security.debian.org stable/updates/main Packages [413kB] Des:2 ftp://ftp.es.debian.org stable/main Packages [4535kB] Des:3 http://security.debian.org stable/updates/main Release [110B] Obj http://security.debian.org stable/updates/contrib Packages Des:4 http://security.debian.org stable/updates/contrib Release [113B] Des:5 ftp://ftp.de.debian.org stable/main Packages [4535kB] Des:6 ftp://ftp.es.debian.org stable/main Release [95B] Des:7 ftp://ftp.es.debian.org stable/main Sources [1322kB] Des:8 ftp://ftp.es.debian.org stable/main Release [97B] Des:9 ftp://ftp.de.debian.org stable/main Release [95B] Des:10 ftp://ftp.de.debian.org stable/main Sources [1322kB] Des:11 ftp://ftp.de.debian.org stable/main Release [97B] Descargados 12,1MB en 5m51s (34,5kB/s) Leyendo lista de paquetes... Hecho La instalación anterior es mínima, por lo que yo instalo además algún paquete necesario para la administración e instalación del sistema y futuros componenetes a instalar. Servicios instalados:
  • SSH: Servidor de consola para administrar de forma remota el servidor.
  • zip/unzip: compresores para abrir paquetes de instalación.
apt-get install openssh-server apt-get install zip unzip

Configuración de idioma

Una dificultad que me he encontrado en esta versión de Debian (la etch), y que puede ser que encontreis vosotros, es que no configuraba bien en las variables de entorno el lenguaje. Yo lo he solucionado como sigue.
  • Declara mos en /etc/enviroment las siguientes variables:
  • LC_ALL=es_ES@euro LANG= es_ES@euro LANGUAGE=es_ES@euro LC_TYPE=es_ES@euro
  • Luego reconfiguramos locales ponendo el charset es_ES@euro ISO-8859-15:
  • # dpkg-reconfigure locales

Configuración básica de red

Sin enrollarme mucho la configuración básica de la red en Debian se hace: Configuramos la eth0 en /etc/network/interfaces:
auto eth0
iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        broadcast 192.168.0.255
        network 192.168.0.0
        gateway 192.168.0.1
En el fichero de resolución /etc/resolv.conf, debe estar vuestra configuración DNS. 192.168.0.1 será vuestro servidor de nombres de dominio: nameserver 192.168.0.1;
Basic Debian Installation
Sep 27, 07 by Juan Lebrijo about blog, Debian
I want to show you how you can install the distro Debian-Etch in the network installation version. This installation is for a Server, then we going to make a minium installation, but operating to install all our systems. This is installed with a CD(100 MB ocupation), and a good Wide Band connection. You can download the CD ISO from the official Debian page, here.

Instalación

First of all, the details of the hardware:
  • Micro: Pentium III a 667 MHz
  • RAM: 384 MB
  • Red: Realtek 8139 a 10/100 Mbps.
  • HD: 20GB IDE
  • SO: Debian-4.0 (Etch) Netinst
Boot from the CD the machine to a ethernet connected. The installation consists in a few steps and, depends of the connection speed, a long time to download and intalling the basic packages:
  1. Name: elite. Domain: lebrijo.com.
  2. Distribute the partitions in the Hard disc. The example is a web server, then I made this ditribution: hda1 5.9 GB ext3 / hda2 784 MB swap ** hda3 512 MB ext3 /var/log hda4 12.9 GB ext3 /var/www
  3. Fill root password (you know, secure password). And create a non-administrator user.
  4. Add download servers near your town as possible (I am livin in Spain): ftp.rediris.es,es.debian.org.
  5. Install GRUB as boot manager.
To retur the initial configuration, type in the bash: base-config.

Tunning our installation

Upgrade the software lists: elite:/etc/apt# apt-get update Des:1 http://security.debian.org stable/updates/main Packages [413kB] Des:2 ftp://ftp.es.debian.org stable/main Packages [4535kB] Des:3 http://security.debian.org stable/updates/main Release [110B] Obj http://security.debian.org stable/updates/contrib Packages Des:4 http://security.debian.org stable/updates/contrib Release [113B] Des:5 ftp://ftp.de.debian.org stable/main Packages [4535kB] Des:6 ftp://ftp.es.debian.org stable/main Release [95B] Des:7 ftp://ftp.es.debian.org stable/main Sources [1322kB] Des:8 ftp://ftp.es.debian.org stable/main Release [97B] Des:9 ftp://ftp.de.debian.org stable/main Release [95B] Des:10 ftp://ftp.de.debian.org stable/main Sources [1322kB] Des:11 ftp://ftp.de.debian.org stable/main Release [97B] Descargados 12,1MB en 5m51s (34,5kB/s) Leyendo lista de paquetes... Hecho Previous installation is minium, then I will installa some packages needed for the installation an administration of future systems an components:
  • SSH: Secure terminal server for remote server administration.
  • zip/unzip: usualli compressors.
apt-get install openssh-server apt-get install zip unzip

Language configuration

A dificult that I found in this Debian version (etch), and you can find, is the un configuration of the language enviroment variables. I have solved as follow.
  • Declare in  /etc/enviroment the variables:
  • LC_ALL=es_ES@euro LANG= es_ES@euro LANGUAGE=es_ES@euro LC_TYPE=es_ES@euro
  • After reconfigure locales setting the charset: es_ES@euro ISO-8859-15:
  • # dpkg-reconfigure locales

Network basic configuration

In four lines, the netsor configuration in Debian is:
  • Configure eth0 in /etc/network/interfaces:
auto eth0
        iface eth0 inet static
                address 192.168.0.2
                netmask 255.255.255.0
                broadcast 192.168.0.255
                network 192.168.0.0
                gateway 192.168.0.1
  • DNS resolution config file in /etc/resolv.conf. 192.168.0.1 is dns server in our example:
nameserver 192.168.0.1;
BIND: Servidor de Nombres de Dominio
Sep 24, 07 by Juan Lebrijo about blog, DNS, Services
Domain Name System, es el servicio gracias al cual podemos utilizar bonitos nombres de dominio en lugar de inmemorizables direcciones IP. Bind es la aplicación más ampliamente utilizada para implementar estre servidor, y la vamos a instalar sobre un Debian Etch. Mis condiciones de partida son:
  • Dirección IP fija proporcionada por el ISP (ej. 85.48.162.99). En españa en la fecha del artículo recomiendo Orange, ya que es el que menos cobra por este servicio (2 €/mes).
  • Nombre de dominio (ej. lebrijo.com) comprado a una Empresa Registradora. Recomiendo http://www.domiteca.com, a fecha del artículo me han dado un servicio muy eficaz, aunque ya sé que no es el más barato.
Para profundizar: Origen http://www.isc.org/index.pl?/sw/bind/ Repositorio http://www.isc.org/index.pl?/sw/bind/ Paquete apt 9.3.4 Documentación (Castellano) http://bulma.net/body.phtml?nIdNoticia=1334 Documentación (Inglés) admin. Guide: http://www.isc.org/index.pl?/sw/bind/ http://www.isc.org/index.pl?/sw/bind/ http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ network-dns.html Ficheros Configuración: /etc/bind/named.conf.options Conf zonas: /etc/bind/named.conf Conf local: /etc/bind/named.conf.local Control demonio: /etc/init.d/bind9 Puertos 53 TCP/UDP

Acciones previas

Si vamos a montar el servidor en la dirección anterior, tenemos que solicitar al registrador que nos delege la zona (lebrijo.com) a la IP fija que tenemos (85.48.162.99). Para que a todo el mundo que pregunte por algo.lebrijo.com venga a nuestro servidor a preguntar; ó por lo menos todos los servidores superiores cojan el fichero de zona alojado ahí, y respondan bien ante la pregunta ¿donde está algo.lebrijo.com?. El registrador debe saber donde se controla la zona lebrijo.com. Ponemos nuestros DNS.
domiteca.PNG 104 KB
Veremos que aunque sean cuatro están referenciados al mismo servidor, lo ideal es que tengamos primario y secundarios por si se caen y todo eso....., pero somos humildes y solo tenemos un servidor. En segundo lugar tendremos que abrir nuestro firewall, y/o hacer NAT en nuestro router de cabecera para que cualquier petición al puerto 85.48.162.99:53 sean respondidas por nuestro servidor.

Instalación

Instalamos, fácil en debian:
elite:~# apt-get install bind9
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
dnsutils ya está en su versión más reciente.
Paquetes sugeridos:
  bind9-doc
Se instalarán los siguientes paquetes NUEVOS:
  bind9
0 actualizados, 1 se instalarán, 0 para eliminar y 6 no actualizados.
Necesito descargar 441kB de archivos.
Se utilizarán 901kB de espacio de disco adicional después de desempaquetar.
Añadimos nuestras zonas al /etc/bind/named.conf
zone "lebrijo.com" {
      type master;
      file "/etc/bind/db.lebrijo.com";
};
zone "0.168.192.in-addr.arpa" {
	type master;
	file "/etc/bind/db.192.168.0";
};
Creamos un fichero de zona directa db.lebrijo.com:
;
; BIND data file for zone lebrijo.com
;
$TTL 3600        ; 1 hour
@    IN      SOA      ns1.lebrijo.com. root.lebrijo.com. (
                                2007083001      ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                604800          ; Expire
                                86400           ; Minimum TTL
                        )

; Servidores DNS
                IN      NS      ns1.lebrijo.com.
                IN      NS      ns2.lebrijo.com.
                IN      NS      ns3.lebrijo.com.
                IN      NS      ns4.lebrijo.com.

; Servidores de correo
                IN      MX      0	correo.lebrijo.com.

                IN      A       85.48.162.99

; Nombres de Máquina
localhost       IN      A       127.0.0.1
ns1             IN      A       85.48.162.99
ns2             IN      A       85.48.162.99
ns3             IN      A       85.48.162.99
ns4             IN      A       85.48.162.99
correo          IN      A       85.48.162.99
ntp             IN      A       85.48.162.99

; Webs servidas
www             IN      A       85.48.162.99
blog            IN      A       85.48.162.99

curriculum      IN      CNAME   www
Observemos varias cosas del fichero:
  • Marcamos los cuatro servidores dns a la misma máquina.
  • MX es la etiqueta de los servidores de correo. Abría que poner algún relay, pero como comentaba antes somos humildes.
  • Luego todo eso hay que direccionarlo a la IP propia. Cualquier nombre de máquina y de servicio.
  • Por último las webs que servimos.

Operación

Para que el servidor (ó cualquiera actuen como cliente) debemos añadir en primera línea de /etc/resolv.conf:
nameserver 85.48.162.99
Para reiniciar los servicios:
/etc/init.d/bind9 restart
/etc/init.d/networking restart
Cuando quieras propagar las zonas a los raices por que hayas añadido un registro, ó cambiado la configuración:
  • Cambias el campo Serial del fichero de zona (db.lebrijo.com), ya que en este campo se basan los servidores superiores para saber cual es el último. El número se suele componer de fecha y versión, pero podría ser un número incremental.
                 2007083001      ; Serial
  • Y haces un reload para que cargen las nuevas zonas y se propaguen.
  • /etc/init.d/bind9 reload