Mi primer servidor

Este articulo explica como instalar un servidor web estático y dinámico con una distribución Debian de la forma más sencilla posible y con posibilidad de practicar y, por tanto, muy apto para iniciarse. Aunque es muy aconsejable antes conocer y haber trabajado con la distribución Debian  Linux. Se han escrito, además,  tres artículos más como continuación de  este, que son: como instalar mi primera Dokuwiki, como instalar mi primer Joomla y, finalmente, como instalar instalar mi primer Moodle .

En el caso de no conocer Debian, primero es mejor  buscar alguna web donde aprender a instalarlo paso a paso, aquí os proponemos la web de Debian que es muy precisa:

https://debian-handbook.info/browse/es-ES/stable/sect.installation-steps.html

Habitualmente los servidores no llevan entorno gráfico, porqué son administrados por profesionales y porqué el preció es elevado tanto por el ordenador como por los discos que son tipo SAS o SSD, sin embargo el uso de un entorno gráfico facilita mucho el acceso a los servidores de muchas personas buenas conocedoras de la informática sin necesidad de que sean profesionales. Además, el uso de entorno gráfico permite practicar y consultar las webs para resolver las dudas mientras se está trabajando, Por esta razón, proponemos utilizar el entorno gráfico Mate que es liviano y completo. También se podría utilizar el entorno gráfico xfce, no se recomienda ni Gnome ni KDE porque no son tan livianos ya que ocupan más espacio. Si se desea un entorno realmente mínimo podéis seguir la indicaciones que damos en este mismo blog al instalar mi primer proxmox.

Condiciones en cuanto al hardware del servidor son las siguientes, aunque si solo es para probar sirve cualquiera y saltamos todos los pasos siguientes.

 * Utilizar una placa base muy probada, no es necesario utilizar una de última generación. Si que es recomendable utilizar chipset Intel con la tarjeta gráfica y tarjeta de red incorporada. Aunque siempre serán necesarias más de una tarjeta de red, normalmente una por máquina virtual como mínimo, que pueden conectarse vía PCI.

 * Memoria RAM de 8 a 16 GB para pruebas, en caso de implementarse deberá revisar esta capacidad de memoria en función de la aplicación del servidor y máquinas virtuales que se desean.

 * Dos discos duros exactamente iguales y específicos para servidores. Proponemos ver la web de los discos específicos para servidores. Para las primeras pruebas  no seria necesario pero aquí se incorpora porque se considera importante practicar las particiones RAID 1. También deberá decidirse si ya se incorporan discos SSD. 
Con la actual sustitución de los discos mecánicos por SSD, es conveniente ajustar bien la capacidad en función del coste.

https://www.wdc.com/es-es/products/internal-storage/wd-black-desktop.html#WD1003FZEX

Téngase en cuenta que el apartado de los discos es muy importante en un servidor, quizá de los más importantes. El uso de discos de mala calidad o inapropiados provocan el fracaso del sistema, pues  son el punto débil, ya que están siempre en funcionamiento.

Veamos las disposiciones habituales de los discos duros para servidores. Suelen utilizarse una disposición con dos o con tres discos duros.

* Con dos discos duros se monta una configuración llamada RAID 1. Que consiste en poner dos discos duros en paralelo donde los dos tienen la misma información  de forma que si falla uno el otro conserva los datos. En el caso de que un disco duro se estropee puede sustituirse y es posible reconstruir la información de forma sencilla mediante el programa mdadm y sin apenas interrupción del servicio.
 






 

 * Con tres discos duros dos funcionan en RAID 1 y el tercero está en reserva, de forma que si falla uno el tercero entra en servició sustituyendo el disco averiado de forma sencilla.


Una vez dicho lo anterior si queremos montar nuestro primer servidor, una configuración con dos discos es más que suficiente.

Existen dos formas de montar un RAID 1

* La primera consiste en montar el RAID 1 por software, es decir se monta el RAID cuando se efectúa la partición y el raid de los discos en el proceso de instalación de Debian.

* La segunda consiste en tener una placa base con la posibilidad de montar y configurar un RAID, es lo que se llama raid por hardware. En este caso debe configurarse la placa base antes de empezar a instalar el sistema, indicando el tipo de RAID que queremos. También existe la solución sencilla  de poner una tarjeta PCI como la que ponemos al final del artículo para conseguirlo.

A pesar de todo lo dicho anteriormente, si disponéis de un ordenador que no usáis, podéis utilizarlo y probar todo el proceso de instalación hasta que lo dominéis un poco y después ya decidiréis el tipo de ordenador que que se necesita.

Aunque se puede utilizar cualquier la distribución Linux, en nuestro caso se propone una distribución Debian que, sin duda, es la que mas nos agrada y de las más prestigiosas para los servidores. Aunque pueden escoger también: Opensuse,  FreeBSD, y antiguamente Centos, ahora sustituida por Oracle Linux, Alma Linux o Rocky Linux. Siempre proponemos distribuciones Libres. No proponemos distribuciones derivadas como Ubuntu, etc. Y aceptando que el proceso cambia según la distribución elegida aunque la idea de base es la misma.

https://www.debian.org/CD/http-ftp/index.es.html

Nos bajamos una ISO Debian Netinstall y la gravamos en CDrom o USB. podéis ver el proceso de gravación de la ISO en un USB en este mismo blog.
 

Es importante practicar y repetir el proceso de instalación tantas veces como sea necesario hasta que lo veamos claro y lo dominemos, siendo un punto importante el particionado de los discos.

Siempre tenemos a mano la web de Debian con toda la información necesaria.

http://www.debian.org/releases/stable/i386/index.html.es

Si no hemos instalado nunca una distribución Debian también podemos  seguir el proceso paso a paso en el siguiente vídeo.

https://www.youtube.com/watch?v=loRsavmQTvs

Partición de los discos

Utilizando el partidor de la distribución Deban, y suponiendo que tenemos dos discos duros iguales montados que montaremos en RAID 1 por software que, seguramente, sería la opción primera más habitual. Haremos dos particiones en cada disco. Los discos veréis que reciben el nombre de sda y sdb, y las particiones de sda serán: sda1, sda2, y las de sdb serán: sdb1, sdb2.

-- sda0 y sdb0, servirán como para el area de intercambio. El área de intercambio debe cogerse igual a la memoria RAM que tengamos, supongamos 8 GB, por ejemplo.
-- sda1 y sdb1 se partirán con lo que quede de GB y servirá como raíz del sistema ( / ).

Cuando tengamos más experiencia veremos que el número de particiones será mucho más preciso y dependerá del uso del servidor. Además de las mencionadas, es necesario tener una con las bases de datos del sistema instalado y otra para los ficheros de la web, etc.

La secuencia a seguir cuando la instalación llega al particionado sería:

1.- Particionado manual
2.- Borrar todas las particiones de los discos si no son nuevos
3.- definir la particiones iguales en cada disco:
 - Una partición en cada disco de 8 GB para el área de intercambio
 - Una partición igual en cada disco con el resto del disco
4.- Escoger Raid por software md
5.-  Escoger Raid 1 md y se marcan las particiones iguales con la barra espaciadora:
  - Las dos particiones iguales de 8 GB para el área de intercambio
  - Las dos particiones iguales con el resto del disco para la raíz /
 6.- escribir el disco y confirmar
 

Estas particiones se han hecho para un inicio en Legacy, en caso de inicio UEFI es necesario agregar la partición de inicio /boo/efi con el partidor. Recomiendo mirar en este mismo blog Un portatil MSI muy interesante donde comentamos este contenido.
 
Además, proponemos el siguiente vídeo de Youtube en el que se explica de forma visual el proceso de partición raid. Resulta ideal tener un portátil al lado del server que estamos haciendo pera poder seguir el proceso que explicamos. Como siempre debemos dar la gracias a todas aquellas personas  que cuelgan  su trabajo de forma voluntaria y así podemos aprender fácilmente, lo que de otra forma nos costaría mucho más de resolver.
 
 
 
Cuando hayáis acabado con las particiones en RAID 1 os debe mostrar un solo  un disco con más o menos lo siguiente para cada partición:

- 16 GB md1 configurado como a área de intercambio.
- El  resto de espacio md2 configurado como / raiz.

A partir de este momento supondremos instalado un sistema Linux Debian con entorno gráfico Mate y continuaremos con la instalación de un servidor web primero estático y luego dinámico. No explicamos como instalar el sistema básico, pues hay mucha información al respecto incluso en nuestro blog. 
 
Tener en cuenta que el proceso instalación es más lento que en una instalación normal con un solo disco debido a la creación de RAID 1 que va copiando en paralelo sobre dos discos.

Instalando el servidor

En el momento de instalar podemos marcar las opciones.
 
- Mate para el entorno gráfico.
- Web server, que instala el Apache como programa el servidor páginas web.
 
Esto ya nos instalará apache que es el servidor para las webs. Aunque también se pude hacer luego sin problemas y solo se marca el entorno gráfico Mate.
.

Un detalle a tener en cuenta. Al final de todo el proceso de instalación de Debian nos pedirá si queremos instalar el gestor de arranque. Este debe situarse normalmente en el disco sda o primer disco. Aquí hay uno de los problemas del RAID por software, pues el gestor de arranque va en uno de los discos y si  falla este el sistema no arranca; pero esto no es nada grave porque el ordenador se puede arrancar con un CD live y instalar el gestor de arranque en el segundo disco que no lo tiene y el sistema volverá a arrancar con normalidad. En este mismo blog explicamos como hacerlo.
 
Si se desea controlar más el espacio que ocupa el entorno gráfico se pueden seguir la indicaciones de instalación que hacemos en el artículo mi primer Proxmox donde se propone una instalación mínima del entorno gráfico Mate.
 
 
Si marcamos la opción web server instalarán los programas de php8 necesarios para las páginas web tanto estáticas como dinámicas.

Si no estamos seguros o no hemos marcado web server en el momento de la instalación, con el fin tener todos los programas necesarios,  recomendamos ejecutar la siguiente orden en un terminal. En ella se ha incorporado el php necesario tanto para webs estáticas como dinámicas:

$ sudo apt install apache2 libapache2-mod-php php php-json php-mbstring php-zip php-gd php-xml php-curl php-mysql php-intl php-json php-cli php-imagick php-phpseclib php-php-gettext php-common php-imap php-bz2 php-gmp php-soap  php-ldap

 
Podemos comprobar si funciona el servidor apache con la siguiente URL desde el navegador, nos debe salir la página que vemos en la figura, que es la página por defecto.

- http://localhost



Para facilitar el acceso a los programas y a su información instalamos el gestor de  programas Synapticy y el centro de software de Gnome, los cuales sirven para instalar y desinstalar programas con un entorno gráfico amigable  y con la información completa de que se trata  cada programa; además, en caso de necesitar información para su instalación, lo hace de forma gráfica muy comprensible, como será nuestro caso en la instalación de phpmyadmin que haremos más adelante.

$ sudo apt install synaptic gnome-software

Servidor Web estático

Un servidor de páginas web estáticas no tiene interacción con la persona que la está viendo, solo le permite leer la información que hay en ella. Estas páginas se mantienen por la persona encargada  haciendo los cambios de forma manual con un editor de páginas web.
 
Los contenidos web son en formato html y deberán hacerse con un editor de páginas web y ponerse después en la carpeta adecuada del servidor. Estas normalmente no se hacen directamente en el servidor sino que  se dispone de otro ordenador de trabajo preparado para la edición web y se transfieren los ficheros al servidor con un programa denominado ftp (filezilla, por ejemplo).
 
El contenido de la web estática debe ir en la carpeta:

  var/www/html/

Los contenidos html deben pertenecer al grupo www-data y los permisos de los ficheros deben ser 775. Por tanto, una vez cargadas las páginas web por primera vez, debe ejecutarse la siguiente orden. 
 
Observad que se trabaja como usuario root o administrador del sistema.

 
Ahora damos los permisos que hemos comentado:

# chown -R www-data:www-data /var/www/html/
# chmod -R 775 /var/www/html/

Servidor web dinámico

MySQL es un sistema de gestión de bases de datos relacionales de código abierto, que utiliza el lenguaje SQL para su manipulación. SQL es un tipo de lenguaje de programación que ayuda a solucionar problemas específicos o relacionados con la definición, manipulación e integridad de la información representada por los datos que se almacenan en las bases de datos. No es necesario conocer este lenguaje de programación para crear un servidor, pero seguro que acabáis aprendiendo algunas órdenes comunes.
 
Los servidores dinámicos se han impuesto totalmente y los estáticos ya prácticamente no se utilizan. Un servidor web dinámico es aquel que posee bases de datos y tiene usuarios con diferentes permisos sobre los contenidos. Ello permite la gestión de los programas de una forma más eficiente, todos ellos tienen sistemas de edición de forma que personas sin experiencia en servidores pueden mantener la información que en ellos se publica. Son ejemplos muy típicos para centros educativos  Joomla, Wordpress o Moodle.

Las wikis también son dinámicas pero son más sencillas de estructura ya que sus bases de datos son simples ficheros de texto. Para instalar una wiki ver el apartado correspondiente de este blog Instalar mi primera Dokuwiki 

Continuemos, los programas mysql-server que preparan el sistema y permiten crear bases de datos, ya no se encuentran en los repositorios de Debian, han sido sustituidos por MariaDB,  también están basados en MySQL y es totalmente igual su uso.


# apt install mariadb-server mariadb-client

Veamos si está activo el servicio de bases de datos MariaDB con la orden:

# systemctl status mariadb

Podemos a observar los usuarios que se crean por defecto al instalar MariaDB. Para ello accedemos a mysql:

Para entrar en la base de datos:
 
# mysql
 
Y luego con la orden siguiente ver los usuarios creados:
 
> select user from mysql.user; 
> exit;


 
Por defecto el usuario root queda con la misma contraseña que tiene en el servidor del sistema y esto no es seguro y es conveniente cambiarla.
 
Con la orden mysql_secure_installation podemos cambiar la contraseña del usuario  root de mysql para acceder a las bases de datos:

$ sudo mysql_secure_installation
 
Cambiamos la contraseña y las demás preguntas se recomienda dejarlas por defecto. Es importante esta contraseña porque será la que nos servirá después para poder instalar los programas dinámicos como Moodle.
 
Recordamos que para entrar en el mariaDB debe escribirse:
 
$ sudo mysql

Y para salir:
 
> exit;

Instalar phpMyAdmin
 
phpMyAdmin es una herramienta que maneja la administración de las bases de datos de MySQL  utilizando un navegador web y, por tanto, de forma gráfica. Este permite crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en varios formatos, hacer copias de seguridad, etc.
Es importante tener en cuenta que phpMyAdmin obtiene los privilegios de los usuarios "directamente de las tablas de privilegios MySQL". El contenido de estas tablas puede diferir de los privilegios que usa el servidor si es que se han realizado cambios manuales en él. En este caso, se deberá cargar nuevamente la página de privilegios antes de continuar.

Para facilitar la instalación y posterior configuración instalaremos phpmyadmin con el gestor de programas Synaptic.
 
Es mejor con el gestor synaptic, ya que nos pedirá información de forma más clara y sencilla de comprender, por descontado si el lector es experto lo instalará desde terminal, aunque yo no lo aconsejo. Desde Synaptic marcamos phpmyadmin


Ahora escogemos el servidor apache2 que es el que hemos instalado antes. lighttpd es otro servidor posible aunque aquí no se utiliza.
 

Finalmente, ponemos la contraseña que servirá para acceder desde el navegador a todos los usuarios programa phpmyadmin. Para no crear una tercera contraseña, recomendamos que esta sea la misma con la que se accede a la base de datos y creada en el apartado anterior.
 

 
 
Si ahora entramos en la base de datos veremos que se ha credo un nuevo usuario que se llama phpmyadmin, aunque sin privilegios suficientes de momento solo el usuario root los tiene.

Veamos los usuarios que hay ahora en la base de datos, pera entrar en la base de datos:
 
# mysql
 
Veamos nuevamente los usuarios con la siguiente orden en lenguaje sql igual que antes:
 
> select user from mysql.user; 
 
Para salir: 
 
> exit;
 
Observar en la imagen que ahora ya aparece el nuevo usuario phpmyadmin.
 

Vamos a ver y  cambiar desde el navegador con phpmyadmin los privilegios del usuario phpmyadmin para que sea administrador.
 
Para ello accedemos al gestor gráfico de bases de datos MariaDB se hace con el navegador web con la siguiente URL:
 

 
Y nos aparecerá la pantalla de entrada del gestor, accedemos con el usuario root que es el que tiene los máximos privilegios sobre las bases de datos de momento. El usuario  phpmyadmin también pude acceder pero no tiene privilegios.
 
En cuentas de usuario -> usuario phpmyadmin -> clicamos en editar privilegios.

Damos los permisos al usuario phpmyadmin y los marcamos todos.
 
Aquí podemos establecer las contraseñas y privilegios de cada usuario que acceda al servicio de forma gráfica. Es muy importante una buena política de contraseñas para evitar accidentes o accesos indeseados.
 
 


 

 
 
A partir de aquí ya tenemos toda la infraestructura del servidor dinámico correctamente preparada, ahora vendrá la parte de instalar los programas que deseemos.



 
Joomla o Moodle

En este punto ya tenemos el servidor web dinámico a punto, ahora es necesario decidir que programa queremos instalar.

Los dos típicos de los Institutos de Secundaria serían el Moodle para gestionar los cursos y aulas virtuales y el Joomla o Wordpress para gestionar páginas web dinámicas en las que se podrán escribir los artículos del Centro por los diferentes tipos de usuarios que se creen.
 
Es importante entender que instalar un servidor y gestionar sus servicios web dinámicos son dos cosas totalmente diferentes. En el caso de Moodle el administrador del programa debe tener un nivel alto en administración y tener cursos especializados de administración de Moodle, pues es un software complicado de gestionar y de alto nivel de conocimientos. En el caso de Joomla es un bastante más sencillo. Normalmente, el administrador del servidor y el administrador del Moodle o Joomla serán dos personas diferentes, ya que Moodle está más relacionado con la gestión docente del Centro que con el mantenimiento informático y tiene un necesario trabajo que lleva mucho tiempo dependiendo del número de cursos , profesores y alumnos.

En este punto ya podemos seguir los artículos siguientes en los que se explica como instalar un Joomla y un Moodle:

- Instalar mi primer Joomla

- Instalar mi primer Moodle

En la siguiente imagen podéis observar como ha quedado nuestro primer servidor después de instalar la Dokuwiki, Joomla y Moodle. Observar los programas están situados en la carpeta /var/www/html y el phpmyadmin que permite ver con el navegador las bases de datos y como acceder a ellas. Recordamos la importancia de tener copias de seguridad antes de manipular nada.





IP del Servidor

En nuestro caso ejemplo, y para empezar, supongamos que tenemos una red interna, lo normal es darle una IP de las bajas al servidor, por ejemplo 192.168.0.5.


Entonces el acceso al servidor desde cualquier ordenador de la red interna será desde la URL y el servicio que sea, por ejemplo para acceder a phpmyadmin.
 
- http://192.168.0.5/phpmyadmin
 
Existen herramientas gráficas para la gestión de servidores vía web como puede ser webmin. Aquí no se proponen porque hemos puesto el entorno gráfico Mate y, por tanto, ya no se considera es necesario.
 



Acceso a la gestión del servidor desde otro ordenador

También se puede acceder a nuestro servidor  desde cualquier ordenador de la misma red interna utilizando el terminal, para ello se utiliza un programa denominado SSH que debe instalarse en el servidor. 
 
Instalamos el paquete openssh-server



Para hacerlo activo debe irse al fichero de configuración y definir el Puerto por el que se accederá a este servició, normalmente es el 22. Si tenemos cortafuegos también deberá abrirse el puerto 22.

el fichero de configuración ssh_config está   /etc/ssh, accedemos a él:

$ sudo  nano /etc/ssh/ssh_config


Sacamos la almohadilla (#) en donde pone port 22,  podemos dejar este puerto o cambiarlo.



Ctrol+x para guardar y s para confirmar.

Ahora desde cualquier ordenador Linux de la red interna abrir un terminal, loguearse como administrador y escribir la siguiente orden:

# ssh   usuario@IP          - num_puerto_ssh

En nuestro caso:


#  ssh root@192.168.0.5 -p 22
 
Ahora este servicio solo se puede utilizar la consola de órdenes y no tiene entorno gráfico.

Contraseñas

Una buena política de contraseñas es muy importante en cualquier servidor, estas deben ser diferentes para cada servició y complicadas con números y letras mayúsculas y minúsculas. Ello es debido a que habrá diferentes personas que administren los servicios que se instalan. 
 
Es conocido por todos que la seguridad de un servidor depende siempre de una buena gestión de contraseñas y de los mecanismos que creemos para evitar que sean conocidas por quienes no deban. La mayoría de ataques que se producen en los servidores son por la mala gestión o descuido de sus contraseñas. Es muy típico dejarlas escritas de forma que alguien las puede ver.
Los administradores de sistemas solemos tener un fichero de texto con toda la información de las contraseñas, tanto nuestras como de los usuarios a los que damos permisos.  Este fichero se guarda comprimido con contraseña, de esta forma es totalmente seguro. Además deben cambiarse con cierta frecuencia y es obligado en el casos de cambio de personas responsables de los programas.
 
 Adquisición de dominio y IP Externa

En este artículo no se trata el tema ni del dominio ni de la IP externa, que son los responsables que podamos acceder desde el exterior tanto a los contenidos web como a la administración. Son elementos importantes, pero que se consideran el paso posterior a la propuesta descrita aquí.
 
De momento solo diremos que si deseamos una IP  externa debemos pedirla y pagarla a nuestro proveedor de Internet. Y el dominio o dirección web  también debe comprarse ver las siguientes webs. Si se trata de un centro Docente normalmente se debe pedir a nuestros responsables, pues normalmente deben concederlas.

 https://www.dominios.es/dominios/
https://www.xataka.com/basics/ip-publica-que-como-se-puede-cambiar
 

 Cortafuegos (firewall)

Siempre que se tiene un servidor con acceso desde el exterior es necesario protegerlo mediante un cortafuegos con una configuración muy precisa, para que solo se pueda acceder a él a través de los puertos necesarios para ver la web y realizar, si es necesario, la administración del sistema.


El más sencillo sería el Gufw y el más completo shorewall, que es el más popular.  De entrada solo debemos permitir el acceso al servidor por los puertos 80 y 443 que son los típicos de las webs estáticas y dinámicas y el puerto que hayamos definido para el acceso por el túnel de administración vía ssh que seria el 22 o cualquier otro que definamos.

https://maslinux.es/los-10-mejores-programas-de-cortafuegos-de-gnu-linux/



En la distribución Debian shorewall está en los repositorios de la comunidad, por tanto, su instalación es sencilla (apt install shorewall), pero su configuración requiere una cierta práctica, ya que no es inmediata su aplicación al sistema es más bien complicada. Pero  buscar en la web de shorewall porque hay muchos ejemplos que sin duda sirven para que os sea un poco más sencilla su implementación y, seguramente, encontraréis algún ejemplo que os servirá.

Raid 1 por Hardware
 
Al inicio se ha propuesto un Raid por software aunque también es posible tener un raid por hardware.
 
El raid por hardware siempre es más eficiente, ya que la placa base ya  se encarga de hacer todo el trabajo de control y gestión de los discos en raid. En el caso de que alguno de los discos falle  nos avisará con lo que deberemos cambiar el disco estropeado y reconstruir el sistema de forma sencilla. 
 
En los servidores profesionales los discos tienen leds rojos y verdes que nos informan de su estado con un código de luces, y en caso de fallo se pueden cambiar sin parar el ordenador.
 
Cuando ya se tenga experiencia y se desee implementar un sistema sólido, deberá obtenerse un ordenador servidor con una serie de premisas que permitan un mantenimiento sólido.

Si el servidor de que se dispone no tiene soporte de raid  en su placa base siempre se puede comprar una tarjeta PCI según nuestro interés.
 
Un ejemplo sencillo para empezar podría ser una placa pci "SiI3x12A SATA Controller", que realmente es económica pero quizás demasiado sencilla.

Para entrar a configurar  se presiona F4 o la tecla que corresponda en el momento en que se pone en funcionamiento el ordenador y se accede al menú que permite la configuración en RAID 1 o en RAID 0 de los discos.

Una vez configurado el raid, en el momento de instalar Debian solo nos aparecerá un disco duro, ya que la placa se encarga de la gestión de los discos.


 
 
De todas formas como actualmente el precio de los servidores es muy asequible,  puede adquirirse una máquina especializada. Todos ellos tienen previsto el configurar el Raid por Hardware y con varias tarjetas de red disponibles, que permiten el uso de máquinas virtuales con IP diferente para cada máquina virtual.
 
También podríamos recomendar un NASH un poco potente, ya que disponen de todos los servicios explicados y muchos más ya preparados para ser  instalados fácilmente, son ideales para cualquier centro docente o pequeña empresa, vienen totalmente preparados y tienen entorno gráfico vía web que los hacen muy sencillos de gestionar: son una solución realmente ideal.
Aquí se pueden ver las posibilidades de un NAS Synology, como podéis ver son una opción muy completa y sencilla.

 
Finalmente, consideramos que es muy importante tener respaldo escrito con todo lo que se va haciendo.  Es conveniente crear una wiki instalada en el propio servidor  de  forma que se puede tener toda la información y además por todas las partes que intervienen en la puesta en funcionamiento, servicio y mantenimiento.
 
NOTA. Siempre es necesario practicar para aprender, suerte a todos y a disfrutar del software libre. 
En  el caso de los servidores son casi todos Linux.  Pueden ser de uso totalmente libre o se puede tener el apoyo de empresas que utilizan software libre.