Como crear tu propio servidor casero
Introducción
Antes de comenzar a hablar de servidor hablemos sobre las ventajas de tener uno, y una de ellas es que es una gran ayuda para aquellos que están estudiando alguna ingeniería o tecnicatura en programación, ya que les permitirá tener un hosting propio (MySQL, WEB services, Python, etc.) y gestionar sus propios proyectos de manera optima.
Tambien les permitirá correr otras cosas útiles además a aquellos que no estudian nada de esto, como por ejemplo servidores VPN, gestor de descargas, servidor torrent, servidor DNLA (para usar con SmartTV), servidor de libro digitales, herramientas como Twitch Miner para farmear puntos de twitch, y muchas otras aplicaciones que se requiera un pc encendido 24hs pero que a su vez no queremos usar nuestra PC personal para eso.
Una de las grandes ventajas a la hora de crear un servidor hogareño es que no se necesita un hardware muy potente, seguramente la mayoría suele tener por ahí tirado un viejo PC de escritorio o netbook que ha quedado obsoleta. Por suerte los sistemas operativos como los basados en GNU/Linux, prescinden del uso de interfaces graficas y dejan casi la totalidad de los recursos libres para usarse en lo que uno desee. Aunque como recomendación sugiero utilizar hardware superior a un Pentium IV o equivalente ya que estos no soportan la arquitectura de 64bits y la de 32bits esta obsoleta.
En este caso en particular vamos a crear un servidor utilizando una vieja laptop la cual su pantalla esta algo dañada y cuyo hardware es prácticamente inservible para la mayoría de las cosas que se hacen hoy en día como navegar para internet, pero que su procesador, RAM, y espacio en disco es mas que suficiente para realizar las tareas que queremos hacer.
Y como sistema operativo vamos a utilizar Ubuntu Server LTS por su compatibilidad y simpleza a la hora de configurar e instalar. Si bien el tutorial es exclusivo de Ubuntu se puede aplicar sobre otras distros basadas en Debian pero eso queda a cargo de la persona.
El hardware de la laptop:
CPU: Pentium Dual Core 2 GHz
RAM: 2GB DDR2
HDD: 320GB
Requerimientos
En este caso cuando hablamos de requerimientos nos referimos a la pc que vamos a usar como cliente asi como las herramientas extra que necesitamos y no del servidor en si.
Algunos programas y herramientas dependerán de si estamos usando un PC con alguna distro GNU/Linux, o si estamos usando Windows o Mac. En este caso mas en concreto me voy a enfocar en un PC con Windows como "cliente", y el sistema operativo elegido para crear un servidor será Ubuntu Server.
Herramientas hardware
- Un Pendrive 4GB o mas: Necesario para instalar la ISO de Ubuntu Server (o S.O. a elección)
- Cable de red ethernet: Nuestro servidor debe ir conectado a nuestro Router o Switch si o si por cable, no se utilizara Wi-Fi. El tipo de cable dependerá de nuestra placa de red pero por regla general deberá ser Categoría 5e al menos.
- Monitor y teclado: Esto es solo si vamos a usar un PC del tipo escritorio o All-In-One como servidor y solo será necesario la primera vez mientras instalamos el servidor. Una vez configurado no volverán a ser necesarios. En el caso de que usemos una laptop no serán necesarios. Tampoco será necesario el uso de un mouse.
Herramientas de software
- Imagen ISO de Ubuntu Server: Se recomienda siempre descargar la versión LTS (Long Term Support). Descarga aquí
- Rufus: Programa que permite crear dispositivos USB arrancables. Descarga aquí
- PuTTY: Un cliente SSH grafico y muy configurable, es esencial ya que nos permitirá conectarnos y gestionar nuestro servidor. Descarga aquí
- FileZilla Client: Un cliente FTP (SFTP en nuestro caso) que nos ayudara a subir o descargar archivos de nuestro servidor. Descarga aquí
Instalación
Preparar la memoria USB
Preparando el servidor
Una de las principales tareas previas a comenzar a instalar nuestro S.O. es hacer que el mismo pueda arrancar desde una memoria USB. Para ello deberemos entrar al BIOS y cambiar las opciones de booteo (no voy a detallar mucho el proceso ya que existen infinidades de tutoriales respecto a esto).
Y ya que estamos en la BIOS vamos a activar algunas características que son muy útiles en servidores. La principal de ellas es el Wake On Lan, una característica que nos permitirá encender nuestro servidor de forma remota y sin tener que ir hasta el y encenderlo. Dependiendo del modelo de placa madre, bios, y laptop, su nombre puede variar, suele aparecer abreviado como WOL (Wake On LAN) o tambien como PME Event Wake Up.
Tambien otra característica opcional será S.M.A.R.T. (Self Monitoring Analysis and Reporting Technology), esto nos permitirá revistar las temperaturas de nuestros discos duros asi como tambien su estado y vida útil (si el disco es compatible). Suele venir desactivado por defecto en la mayoría de las placas madres.
Esta característica tambien suele aparecer de manera individual en cada disco.
Opcional
Instalando Ubuntu Server
NOTA: En el primer inicio una serie de servicios como el OpenSSH terminan de aplicar su configuración en plena pantalla de login, aunque no veamos escrito el cartel de "Login" simplemente escribimos el nombre de usuario como si el campo donde vamos a ingresarlo fuera visible, veremos como el mismo se escribe justo donde esta el guion al final de la pantalla, y presionamos Enter. Posteriormente escribimos nuestra contraseña y presionamos Enter nuevamente.
![]() |
| Fallo en pantalla login |
Configurar una IP fija
Forma 1 - Reservar una IP en nuestro Router:
NOTA: Realmente no puedo proveer mucha ayuda aquí mas allá de mostrarles algunas imágenes de ejemplo ya que cada modelo y marca de Router es muy distinto uno de otro y la forma de encontrar estas opciones varían mucho. Recomiendo buscar el modelo especifico de su Router.
Si el Router no nos muestra esa dirección podremos consultarla desde el mismo servidor con el comando ip link show. La tarjeta de red aparecerá como enp0xxx en la mayoría de los casos.
ip link showForma 2 - Asignamiento forzado de IP en servidor (Opcional si no se puede fijar desde el Router) :
Este paso es algo complicado ya que hay que debemos escribir unas cuantas líneas de código, por eso vamos a utilizar programa PuTTY para gestionar nuestro servidor desde otra PC lo que va a facilitarnos muchísimo esta tarea. Lo primero que haremos es conocer cual es la "IP temporal" de nuestro servidor que fue asignada por el Router, para ello lo único que haremos será escribir en la consola de nuestro servidor el comando "ip a", y anotamos la IP que muestra la tarjeta de red "enp0xxxx"
ip aA continuación en la consola que se nos abre procedemos a escribir el usuario que creamos al principio y su respectiva contraseña.
Como observamos anteriormente ahora tenemos la pantalla de bienvenida del servidor en nuestra PC de escritorio.
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bckupNOTA 2: El comando SUDO invoca al superusuario o root, y por lo tanto siempre que lo usemos vamos a tener que escribir la clave del mismo, que en el caso de Ubuntu es la misma que el usuario principal.
ip aAhora lo que haremos es editar el archivo de configuración de la placa de red usando el editor Nano, pegamos lo siguiente en la consola. sudo nano /etc/netplan/00-installer-config.yamlObservaremos algo así:
Ahora vamos a modificarlo para descartar el DHCP y elegir una configuración manual como la mostrada a continuación. Como el servidor DHCP elige por defecto las primeras IP de su rango a los dispositivos, le pondremos al server una IP con el ultimo número mas grande, por ejemplo a partir de 100 pero menor a 223 (ej: 192.168.1.150) para evitar posibles conflictos.
Otra aclaración es que hay que respetar los espacios tal cual se muestra el código o tendremos un error a la hora de validar la configuración.
Para evitar posibles problemas por tipear mal copiamos el código. En el editor en consola nos posicionamos sobre network y mantenemos presionado suprimir Supr para borrar todo a partir de esa linea. Una vez borrado todo en ese linea y abajo de la misma, simplemente presionamos botón derecho del mouse sobre la pantalla de PuTTY para pegar el código sobre el editor. Ahora modificamos la IP que queremos y nuestra placa de red (ip a).
NOTA: No utilizar el pad numérico para escribir la IP ya que el editor no los toma como números, en su lugar usar solo los números del teclado.
network:
version: 2
renderer: networkd
ethernets:
enp0s18:
dhcp4: no
addresses:
- 192.168.1.150/24
nameservers:
# search: [mydomain, otherdomain]
addresses: [8.8.8.8, 8.8.4.4]
routes:
- to: default
via: 192.168.1.1Ahora para aplicar los cambios escribimos el comando sudo netplan apply. Al hacer esto por "obvias razones" se perderá nuestra conexión.
sudo netplan applyLo único que tendremos que hacer ahora es abrir otra ventana de PuTTY y repetir los pasos pero esta vez colocando la nueva IP fija.
Resolución de problemas: Si hemos escrito algo mal y la placa de red no reconoce el archivo de configuración, podemos restaurar la copia de seguridad escribiendo el siguiente comando en la consola de nuestro servidor, para así poder repetir los pasos de nuevo:
sudo mv /etc/netplan/00-installer-config.yaml.bckup /etc/netplan/00-installer-config.yamlFinalizar la configuración SSH
Aquí vamos a poder configurar y personalizar distintas opciones como el tipo de fuente y el tamaño de la misma (Appearance), asi como algunos colores por defecto en la consola. Cabe aclarar que PuTTY solo trabaja con fuentes tipográficas del tipo "programador". Como las Mono, Console, etc. Yo personalmente elegí fa fuente para programadores IntelOne Mono por ser de las mejores para diferenciar símbolos, y letras de números como la O y el cero 0.
Finalmente aquí llegamos a la opción mas importante (Session) que es guardar nuestro servidor en un perfil. Elegimos un nombre, presionamos Save, y a continuación elegimos el nombre de la lista y presionamos Aplly. De ahora en mas para conectarnos a nuestro servidor desde nuestra pc solo bastara con elegir el nombre de la lista y presionar Open (o doble clic sobre el nombre).
A partir de aquí nuestro servidor podrá ser gestionado enteramente desde nuestra PC personal u otro dispositivo como telefono o tablet, y ya no será necesario utilizar monitor y teclado en el mismo (si es que utilizamos un PC de escritorio de servidor), solo bastara el cable de red y la conexión a la toma eléctrica.
Opcional
En el caso de que hayamos elegido una laptop o netbook como servidor nos queda un paso mas, y ese es deshabilitar el switch de la tapa de la misma para que cuando la cerremos nuestro servidor no entre en modo suspensión.
Para ello vamos usar el editor nano para editar uno de los archivos de SystemD. Pegamos lo siguiente en consola:
sudo nano /etc/systemd/logind.confEscribimos nuestra contraseña de root (la misma del usuario principal)
Ahora en el archivo de configuración que hemos abierto buscamos las opciones mostradas a continuación, y procedemos a borrar el # de la linea para habilitarlas, y modificamos las opciones despues del = por las mostradas a continuación:
HandleLidSwitch=ignore
HandleListSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
LidSwitchIgnoreInhibited=noNos quedara algo así como en la imagen, procedemos a guardar presionando Ctrl + O y Enter para aplicar los cambios, y Ctrl + X para salir del editor.
sudo rebootUna vez que el servidor se reinicie ya podremos dejar la tapa cerrada de forma indefinida.
Todo listo
Como se puede apreciar en htop (administrador de tareas tipo Unix) el consumo de memoria es extremadamente bajo, incluso siendo un sistema operativo de 64bits. Esto es debido en gran parte a que no se utiliza un entrono grafico y no consume recursos innecesarios.
![]() |
| htop |
"Este post esta dedicado a la comunidad gamer de FOG (Free Original Games)"
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⠶⠛⠛⠛⠛⠶⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣇⠀⠀⠀⠀⣠⡤⠤⣄⡀⠀⠀⢀⡤⠤⣬⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡀⠀⠀⡾⠁⠀⠀⠀⢻⡄⢠⡏⠀⣀⠀⢹⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣧⠀⠀⣧⠀⠛⠃⠀⣰⠃⠈⢷⣄⡋⢀⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⢿⡄
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡆⠀⠈⠓⠦⠤⠞⠋⠀⠀⠀⠈⠙⢿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⡆⠀⢠⣶⡟⠈⣷
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠈⠙⠋⢁⠀⠀⠀⠀⠀⠀⣄⠹⣆⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⠟⠁⣾⠃⣴⣿⠁⠀⠀⢹
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⢠⣴⣤⣄⡞⠀⢠⠀⠀⣆⠀⠸⡀⢹⣆⠀⠀⠀⠀⠀⠀⢠⡿⠁⠀⢸⣯⣼⡇⠀⠀⠀⠀⣾
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠘⣿⡿⢿⡇⠀⢸⠀⠀⢿⠀⠀⣇⠀⢻⣆⠀⠀⠀⠀⠀⣿⠁⠀⠀⣸⣿⠁⠀⠀⠀⠀⢀⡿
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠟⣧⠀⠀⠉⢻⡀⠀⣼⠀⠀⣼⣄⠀⢹⣦⣴⠏⠀⠀⠀⠀⢸⡇⠀⠀⢰⠏⠀⠀⠀⠀⠀⠀⣼⠇
⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡶⠟⠁⠀⠘⢿⠦⢤⣀⣉⠉⠈⠣⠴⠃⣈⡩⣏⠙⢷⣄⡀⠀⠀⠀⢾⡇⠀⠀⠉⠀⠀⠀⠀⠀⢀⣾⠋⠀
⠀⠀⠀⠀⠀⠀⣠⣤⠾⣏⠁⠀⠀⠀⠀⠀⠈⠳⣄⡀⠉⠉⠉⠉⢻⠉⠁⣀⡿⠀⠀⠘⡟⠷⣤⣠⣿⣇⠀⠀⠀⠀⠀⠀⢀⣴⠟⠁⠀⠀
⠀⠀⠀⢀⣴⠟⠋⠀⠀⠘⣇⠀⠀⠀⠀⠀⠀⠀⠈⠻⣟⠒⠒⠒⠛⠚⠋⣹⠃⠀⠀⠀⢻⠀⠈⠙⣿⠉⠓⠲⠶⠶⠖⠚⠉⢹⣆⠀⠀⠀
⠀⢀⣴⠟⠁⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠦⣄⠀⠀⣰⠏⠀⠀⠀⠀⢸⠀⠀⣠⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡄⠀⠀
⣴⠟⠁⠀⠀⠀⠀⠀⠀⠀⣼⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣹⠾⠃⠀⠀⠀⠀⠀⢸⠀⠘⢹⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀














































Comentarios
Publicar un comentario