. Instalar Debian
. Configurar la red
. Configurar los repositorios y actualizar
. Cambiar el shell por defecto
. Sincronizar el reloj del sistema

 

El objetivo de esta guía es montar un servidor web completo, con Apache, PHP, MySQL, PureFTP, servidor de correo Postfix, webmail con RoundCube, BIND y como panel de control instalaremos ISPConfig. Esta guía es válida tanto para montar nuestro propio servidor local en casa, como para configurar con todo lo necesario un servidor VPS, siempre que el que hayamos contratado no los tenga ya instalados.

Antes de instalar todos los servicios, lógicamente vamos a necesitar un servidor con Debian recien instalado y limpio, simplemente con lo básico. Vale, ya se que hay cientos o miles de sitios donde explican con todo detalle como instalar Debian. Da igual, aquí pongo la guía de instalación.

Instalar Debian

Si tenemos un VPS, este paso no será necesario, ya que todos ellos traen un sistema operativo y que en algunos casos podremos escoger el que más nos interese. Nosotros para esta guía, evidentemente escogeremos un VPS con Debian. Es más que seguro que podamos contratar también un panel de control o nos ofrecerán uno gratuito. En nuestro caso, el panel de control lo vamos a instalar nosotros, por lo que deberíamos contratar un VPS con unicamente el sistema operativo Debian.

Pero si estamos montando el servidor en casa, no nos queda otra que instalar Debian. Así que lo primero es ir a la web de Debian y descargar la netinstall para la versión estable de la architectura adecuada, en nuestro caso será la amd64.

Grabamos la imagen en un CD o preparamos una memoria USB con UNetbootin y reiniciamos el ordenador. Si estamos haciendo la instalación en una máquina virtual (VM), asignaremos el fichero de imagen a la unidad de CD/DVD de la VM y arrancamos.

1. Seleccionamos Install y pulsamos Enter  deb01_1
2. Seleccionamos el idioma  deb02_1
3. Seleccionamos el pais  deb03_1
 4. Escogemos el mapa de teclado  deb04_1
 5. Escribimos el nombre del servidor. En esta guía lo llamaremos “server”  deb05_1
 6. Escribimos el nombre del dominio. En esta guía usaremos el nombre de dominio “ejemplo.com”  deb06_1
 7. Le indicamos la contraseña para root  deb07_1
 8. Configuramos el primer usuario del sistema, escribimos su nombre real y en la siguiente pantalla asignamos el nombre de usuario del sistema  deb09_1
 9. Asignamos la contraseña para el usuario  deb11_1
 10. Seleccionamos la ubicación de la zona horaria  deb13_1
11. Elegimos como haremos el particionado del disco. Seleccionamos “Guiado – utilizar todo el disco” deb14_1
12. Seleccionamos el disco a particionar deb15_1
13. En el esquema de particionado no nos complicamos, seleccionamos “Todos los ficheros en una partición” deb16_1
14. Revisamos el resumen de particionado y confirmamos con “Finalizar el particionado y escribir los cambios en el disco” deb17_1
15. Confirmamos el particionado deb18_1
16. Lo siguiente es indicar el pais donde están los repositorios. En la imagen se indica España, pero conviene considerar también como mejor alternativa Francia o Alemania. deb19_1
17. Seleccionamos el repositorio. Dependiendo de la elección anterior, escogeremos por defecto el primero correspondiente al pais: ftp.<código_pais>.debian.org deb20_1
18. Si el servidor sale a internet a traves de un proxy, introducimos aquí los datos, en caso contrario continuamos deb21_1
19. A la participación en la encuesta elegimos No y continuamos deb22_1
 20. En selección de programas, de momento tan solo vamos a instalar el sistema base con las utilidades estándar y el servidor SSH deb23_1
 21. Confirmamos la instalación de Grub en el registro principal de arranque del primero disco duro  deb24_1
22. Instalación completada. Extaemos el CD o memoria USB y reinciamos el sistema deb25_1

Configurar la red

Por defecto la red está configurada para tomar la dirección IP y gateway desde un servidor DHCP, tenemos que cambiar esto y asignar una IP estática al servidor. Para ello editamos el fichero /etc/network/interfaces y asignamos los valores necesarios. Este es un ejemplo de configuración.

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

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.30
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.100

A continuación reiniciamos la red.

# service networking restart

NOTA: A lo largo de toda esta guía, usaré la forma anterior para iniciar, reiniciar o detener servicios. Si nuestro sistema es Debian Jessie con Systemd, lo propio sería usar el comando systemctl. La estructura del comando es «systemctl start|stop|restart nombreservicio»

Editamos el fichero /etc/hosts y hacemos los cambios necesarios para que quede así.

127.0.0.1 localhost.localdomain localhost
192.168.0.30 server.ejemplo.com server

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

A continuación ejecutamos los siguientes comandos.

# echo server.ejemplo.com > /etc/hostname
# service hostname.sh start

Y después ejecutamos.

# hostname
# hostname -f

La respuesta a ambos comandos deberá ser «server.ejemplo.com»

Configurar los repositorios y actualizar Debian

Vamos a añadir al fichero /etc/apt/sources.list las ramas contrib y non-free. Debe quedar más o menos así.

deb http://ftp.es.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.es.debian.org/debian/ stable main contrib non-free

deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

deb http://ftp.es.debian.org/debian/ stable-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian/ stable-updates main contrib non-free

Refrescamos la base de datos de paquetes y actualizamos Debian.

# apt-get update
# apt-get upgrade

Cambiar el shell por defecto

Por defecto Debian configura /bin/sh como un enlace simbólico a /bin/dash, pero por problemas de compatibilidad con ISPConfig, vamos a necesitar /bin/bash. Por lo tanto reconfiguramos dash.

#dpkg-reconfigure dash

Respondemos a las preguntas:

¿Desea utilizar dash como el intérprete de órdenes predeterminado del sistema (/bin/sh)? -> No

Sincronizar el reloj del sistema

Siempre es una buena idea sincronizar el reloj del sistema con algún servidor NTP. Para ello instalamos NTP.

# apt-get install ntp ntpdate

A partir de ahora la hora del sistema estará sincronizada con la hora oficial.

Continúa en Parte 2